有人可以给我一个关于如何实现这一目标的良好参考,或者只是告诉我它是如何完成的吗?谷歌在这里并没有真正帮助我,因为它总是试图给我提供有关触摸板的建议:/
答案1
只要您的触摸屏被检测为无聊的输入设备,您就可以使用 来执行此操作xinput
。该工具允许您定义新的主指针(类似于一个鼠标指针的虚拟指针)并与其分离和附加从指针(实际的硬件设备)。
所以你需要做的就是
- 创建一个新的主指针
- 将您的触摸屏重新连接到这个新的主指针
其完成方式与此类似:
创建新的主指针:
$ xinput create-master touchy
这将创建一个新的主键盘/指针对,其中键盘称为“触摸键盘”,指针称为“触摸指针”:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎜ ↳ My Cool™ Touchscreen id=14 [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)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)] ↳ HID 046a:0011 id=13 [slave keyboard (3)] ⎡ touchy pointer id=15 [master pointer (16)] ⎜ ↳ touchy XTEST pointer id=17 [slave pointer (15)] ⎣ touchy keyboard id=16 [master keyboard (15)] ↳ touchy XTEST keyboard id=18 [slave keyboard (16)]
将触摸屏从指针重新连接到新的主指针
在此示例中,我假设“My Cool™ Touchscreen”是要使用的设备 (
id=14
):$ xinput reattach 14 15
这将导致以下结果:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (15)] ⎣ 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)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)] ↳ HID 046a:0011 id=13 [slave keyboard (3)] ⎡ touchy pointer id=15 [master pointer (16)] ⎜ ↳ My Cool™ Touchscreen id=14 [slave pointer (2)] ⎜ ↳ touchy XTEST pointer id=17 [slave pointer (15)] ⎣ touchy keyboard id=16 [master keyboard (15)] ↳ touchy XTEST keyboard id=18 [slave keyboard (16)]
现在您的触摸屏应该像一个单独的指点设备一样工作。
编辑:要摆脱第二个鼠标指针(这对于触摸屏来说是相当多余的),您可以使用这工具,它利用 XInput2 扩展来单独更改指针。