【问题标题】:Reconfigure Mouse Device重新配置鼠标设备
【发布时间】:2012-05-25 22:50:59
【问题描述】:

我有一个罗技无线触摸板,希望在项目中使用。我有兴趣使用这两种设备来驱动显微镜载物台。理想情况下,我会将触摸板与计算机连接起来,其唯一目的是驱动舞台,而不是用作鼠标。将使用普通鼠标来浏览窗口和我的程序的用户界面。

问题是:我不知道如何重新配置​​此设备的功能。似乎我需要为触摸板编写一个新的驱动程序。然而,听起来为设备编写新的驱动程序可能是一项艰巨的任务,如果做得不好,后果会很严重。以前从未写过驱动程序,我敢肯定我会搞砸一些事情。

这是我的具体问题:

  1. 是否需要编写新的驱动程序来重新配置鼠标以进行其他操作?

  2. 如果没有,如何进行这样的重新配置? (任何方法都可以接受)。

  3. 我能否以某种方式简单地读取从设备输出到计算机的数据以获取要处理的事件?

这里有一些其他信息可能会有所帮助:我在 Windows 7 上使用 Python 编程。我只需要知道触摸板上被触摸的 (x, y) 坐标。任何帮助或建议总比没有好。如果这个问题需要改进才能正确回答,请告诉我!提前致谢!

【问题讨论】:

    标签: python input mouse device touchpad


    【解决方案1】:

    ​1.是否需要编写新的驱动程序来重新配置鼠标以进行其他操作?

    没有。无论其他问题如何,您仍然需要相同的驱动程序来从鼠标读取数据。

    ​2.如果不是,如何进行这样的重新配置? (任何方法都可以接受)。

    您只需使指针不是“核心”设备。在 Linux 下,您只需告诉 xinput 将其与 X 下的虚拟核心指针分离。

    $ xinput list
    ⎡ Virtual core pointer                      id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    ⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
    ⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=12   [slave  pointer  (2)]
    ⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
        ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
        ↳ Power Button                              id=6    [slave  keyboard (3)]
        ↳ Video Bus                                 id=7    [slave  keyboard (3)]
        ↳ Sleep Button                              id=8    [slave  keyboard (3)]
        ↳ Acer CrystalEye webcam                    id=9    [slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    $ xinput float 12
    $ xinput list
    ⎡ Virtual core pointer                      id=2    [master pointer  (3)]
    ⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
    ⎜   ↳ SynPS/2 Synaptics TouchPad                id=11   [slave  pointer  (2)]
    ⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
        ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
        ↳ Power Button                              id=6    [slave  keyboard (3)]
        ↳ Video Bus                                 id=7    [slave  keyboard (3)]
        ↳ Sleep Button                              id=8    [slave  keyboard (3)]
        ↳ Acer CrystalEye webcam                    id=9    [slave  keyboard (3)]
        ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ∼ Logitech USB-PS/2 Optical Mouse           id=12   [floating slave]
    

    我确信其他操作系统上也存在类似的过程。

    ​3.我可以以某种方式简单地读取从设备输出到计算机的数据以获取要处理的事件吗?

    当然。这就是 event subsystem(以及它在其他操作系统上的类比)的用途。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      • 2011-05-02
      相关资源
      最近更新 更多