Openbox:禁用整个键盘

时间:2017-12-15 07:34:50

标签: ubuntu keyboard keyboard-shortcuts xorg openbox

我在触摸屏设备上的kioskmode中使用X,Openbox和Chromium运行Ubuntu Server(16.04.3 LTS)。它作为(非根)用户直接进入信息亭。

不需要鼠标或键盘,所以我用

启动X.
startx -- -nocursor

什么能有效地禁用鼠标。但是用户仍然可以使用Chromium插入键盘并执行各种不需要的操作。因此,我正在寻找禁用整个键盘的方法。

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

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

1 个答案:

答案 0 :(得分:1)

import execjs # execjs from here: https://pypi.python.org/pypi/PyExecJS # javascript from here: https://stackoverflow.com/questions/ #43664483/insert-image-into-google-sheets-cell-using-google-sheets-api ctx = execjs.compile( """ { var ss=SpreadsheetApp.getActiveSpreadsheet() var formulaSheet = ss.getSheetByName("orcl"); '''tab 'orcl' is present. var formulaCell = formulaSheet.getRange("B5"); formulaCell.setFormula('=IMAGE("orcl.png",4,100,200)') } #http://finviz.com/fut_chart.ashx?t=ES&p&p=m5&s=m """) import execjs.runtime_names jscript = execjs.get(execjs.runtime_names.JScript) jscript.eval(ctx) 是您的工具。

使用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)] 的ID。在这种情况下,它是AT Translated ... keyboard。 禁用键盘输入:

10

作为单行:

xinput --disable 10

(您可以使用鼠标或触控板执行相同操作,只需使用匹配的ID)。

P.S。:我不确定键盘输入是否可见,只要没有插入键盘,或者插入后插入另外一个键盘输入。我现在没有硬件可以检查。也许您必须创建一个xinput --disable $(xinput list | grep "AT Translated" | cut -f2 | cut -d= -f2) 规则来监视新的键盘并运行udev