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. 我可以以某种方式简单地读取从设备输出到计算机的数据以获取要处理的事件吗?
绝对地。这就是事件子系统(以及它在其他操作系统上的类比)的用途。