0

我在触摸屏设备上以信息亭模式运行带有 X、Openbox 和 Chromium 的 Ubuntu Server (16.04.3 LTS)。它以(非root)用户身份直接进入信息亭。

不需要鼠标或键盘,所以我从 X 开始

startx -- -nocursor

什么有效地禁用了鼠标。但是用户仍然可以插入键盘并使用 Chromium 做各种不需要的事情。所以我正在寻找禁用整个键盘的方法。

捕获和禁用 Openbox 中的每个键和组合键rc.xml对我来说似乎是一项不可能完成的任务。那么是否有一些带有 startx 或 Openbox 的开关来禁用键盘?(我已经尝试过-nokeyboard,但它给出了一个错误。也-keyboard null不起作用。)

或者,作为最后的手段,有没有办法在用户登录时禁用键盘(和鼠标)?

4

1 回答 1

2

xinput是你的工具。

使用 查找您的键盘 ID 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)]
↳ Power Button                              id=8    [slave  keyboard (3)]
↳ HP Webcam                                 id=9    [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
↳ HP WMI hotkeys                            id=12   [slave  keyboard (3)]
↳ HP Wireless hotkeys                       id=13   [slave  keyboard (3)]

获取AT Translated ... keyboard. 在这种情况下,它是10。禁用键盘输入:

xinput --disable 10

作为单线:

xinput --disable $(xinput list | grep "AT Translated"  | cut -f2 | cut -d= -f2)

(你可以用鼠标或触摸板做同样的事情,只需使用匹配的 id)。

PS:我不确定只要没有插入键盘,键盘条目是否可见,或者插入后是否会出现额外的键盘条目。我现在没有硬件可以检查。也许您必须创建一个udev规则来监视新键盘并运行xinput --disable [...]

于 2017-12-17T16:45:24.627 回答