是否可以在 X 窗口上有两个不同的焦点/焦点?(基本上是在一台物理机上同时使用两个鼠标和键盘。如果是这样,这是如何实现的?
问问题
279 次
1 回答
1
对于最近的 Xorg 服务器,是的。您需要使用 XInput Extension 2.0 或更高版本。您还需要一个能够做到这一点的窗口管理器,我不确定哪个现代 WM 已经可以做到这一点。
文档:
- http://cgit.freedesktop.org/xorg/proto/inputproto/
- http://cgit.freedesktop.org/xorg/lib/libXi/
- http://who-t.blogspot.com/(他是写所有这些东西的人,他的博客充满了要学习的东西)
在 Debian 测试中,我什至可以得到两个指针并立即开始使用它们(一个由 USB 鼠标控制,另一个由触摸板控制):
pzanoni@vicky:~$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint 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)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=9 [slave keyboard (3)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=16 [slave keyboard (3)]
pzanoni@vicky:~$ xinput --create-master my 1 1
pzanoni@vicky:~$ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=13 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint 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)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=9 [slave keyboard (3)]
↳ Lite-On Technology USB Productivity Option Keyboard( has the hub in # 1 ) id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ ACPI Virtual Keyboard Device id=16 [slave keyboard (3)]
⎡ my pointer id=17 [master pointer (18)]
⎜ ↳ my XTEST pointer id=19 [slave pointer (17)]
⎣ my keyboard id=18 [master keyboard (17)]
↳ my XTEST keyboard id=20 [slave keyboard (18)]
pzanoni@vicky:~$ xinput --reattach "SynPS/2 Synaptics TouchPad" "my pointer"
于 2012-04-03T18:11:24.333 回答