我尝试通过 app xinput显示键盘事件。我在三个工作站上尝试。起初两个工作站(在本地 X 会话中)都很好:
获取设备列表:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HID 1241:1177 id=8 [slave pointer (2)]
⎜ ↳ SIGMACH1P USB Keykoard id=10 [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)]
↳ Power Button id=7 [slave keyboard (3)]
↳ SIGMACH1P USB Keykoard id=9 [slave keyboard (3)]
设备事件:
$ xinput test 9
key release 36
key press 48
key press 47
key release 48
key press 46
lkey release 47
key release 46
key press 41
key press 36
key release 41
key release 36
key press 62
key release 62
key press 37
但!我从 X-terminal x2go连接到三个工作站(从 Windows 7 连接)。而在这个工作站 xinpunt 并没有实现它的功能。Xinput 找不到设备并显示段错误:
$ xinput
"pointer" id=0 [XPointer]
"keyboard" id=1 [XKeyboard]
$ xinput test 1
unable to find device '1'
$ xinput test-xi2 1
"keyboard" id=1 [XKeyboard]
Num_keys is 248
Min_keycode is 8
Max_keycode is 255
Segmentation fault
问题 1:如果从 X-terminal 连接到 X-server 稳定,xinput原理不起作用?还是标准 X11 应用程序中的错误?
问题 2:如果从 X 终端(x2go)连接,如何替代获取全局键盘事件(按下和释放键)?
环境:
来自连接:Windows 7 Pro,来自站点 x2go.org 的官方 X2GO 客户端。
要连接:Debian 7.8、LXDE、来自站点 x2go.org 的官方服务器 X2GO。