代码之家  ›  专栏  ›  技术社区  ›  Carl Smotricz

4只不同老鼠的输入

  •  3
  • Carl Smotricz  · 技术社区  · 16 年前

    我需要构建一个简单的应用程序,除了笔记本上的内置触摸板外,还需要从连接的4个USB鼠标中获取(仅点击)输入。我对此设置的首选操作系统是Linux。

    我知道如何在应用程序中辨别点击鼠标的来源吗?我对C编程或其他需要的东西很开放。这是一个简单的一次性项目,所以没有什么太复杂的。

    3 回复  |  直到 16 年前
        1
  •  3
  •   bobince    16 年前

    MPX是Linux下多鼠标和多点触摸的应用程序,但您需要使用xorg xserver 1.7来获得它的“正确”版本;这通常被视为 X11R7.5 ,它只是作为__stable_,尚未被发行版集成。(偶数 xorg-edgers 没有,不过如果你是一个Ubuntu用户的话,你会一直盯着那里。)

    GTK+似乎已经 some work 放在允许你检测哪个鼠标点击(gdk event.gdk_event_get_device),但我不知道什么时间表是让这个进入一个完全稳定的版本。我也不知道第4季度有多远。因此,总的来说,情况是:如果你愿意花时间去抓取、编译和修复东西的话,它是可以工作的,但是在主流Linux中,它还不顺利。

        2
  •  4
  •   Carl Smotricz    16 年前

    不管有什么价值,我想我找到了我的问题的答案。

    波因斯提到xorg,我就去看了看。 /etc/X11/xorg.conf . 结果却充满了评论,比如

    # commented out by update-manager, HAL is now used
    

    我以前听说过哈尔,不仅仅是在 2001 . 我试过 man -k hal 发现 lshal ,其中列出133(!)在我的个人电脑里的HAL设备。在我的一个鼠标的条目里,我发现

    linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:0b.0/usb2/2-7/2-7:1.0/input/input6/event6'
    

    原来是文件系统中的一个目录。从那里我发现了一个参考 /dev/input/mouse3 .实际上,我所有的老鼠都坐在/dev/input中!

    穿着我的超级用户斗篷,我能够阅读/dev/input/mouse3:

    root@carl-ubuntu:/dev/input# od -t x1 -w6 mouse3
    0000000 09 00 00 08 00 00
    *
    

    结果鼠标左键点击 09 00 00 08 00 00 ,一致且可重复。

    结论: 我可以从/dev/input/mousex读取鼠标单击。做过 chmod a+r 在这些文件上,我甚至可以从普通用户帐户读取它们。我需要找到一种方法来阻止4只老鼠在可能喝醉的人手中狂奔,而不是直接与GUI交互,但这又是另一天的问题。

        3
  •  2
  •   JasonWyatt    16 年前

    我不太确定从哪里开始,但在我看来,这听起来很像多点接触工作。也许开始为Linux寻找多点触控驱动程序?

    此外,Luvieere的第一个链接可能会有所帮助。