我正在策划一个展览,需要运行一个需要键盘但不需要鼠标的应用程序。我想将观众锁定在一个全屏应用程序中。他们应该除了这个应用程序之外,什么都看不到. 什么也没有。
因此,我将设置一个新用户,该用户登录后将立即启动该应用程序(以全屏模式)。运行该应用程序的机器将受到物理保护。
但是他们可以使用键盘并做一些不必要的事情(甚至关闭或切换应用程序也是不必要的)。有什么方法可以阻止所有基于键盘的应用程序切换、启动、关闭、访问 tty、登录提示......- 离开应用程序(或只是查看其他内容)的唯一方法是使用(安全)硬件上的关闭电源按钮?
该应用程序适用于 Ubuntu 17.10。
答案1
按照derHugo 的建议我找到了一种将关键输入映射到无的方法。
我不知道如何在应用程序(Python)中做到这一点,同时考虑到Super
++Ctrl
等等Alt
......F1
但是这个答案关于如何使用Super
Xmodmap 禁用该键(这里是一些文档)可以扩展为每一个密钥。我决定禁用所有对我的应用程序来说不是绝对必要的密钥(它们只是[a-zA-Z0-9@.]
别名电子邮件地址)。
总结一下:
- 创建一个
.Xmodmap
:xmodmap -pke > ~/.Xmodmap
- 编辑
~/.Xmodmap
并删除不需要的按键操作(keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab
例如keycode 23 =
) - 选修的:通过运行来测试
xmodmap ~/.Xmodmap
- 注销并重新登录,密钥应被禁用
- 如果您使用的是 17.10 和 Gnome,则尚未支持。请手动应用和
xmodmap ~/.Xmodmap
/或将其添加到您的启动项中。
小心:如果您像我一样禁用很多键,那么您基本上就只能使用鼠标了!
答案2
它是触摸屏吗?如果是,您可以使用屏幕键盘来限制用户可以选择的字符。我在博物馆应用程序中使用了它。或者根本不使用触摸屏键盘,只使用 gxmessage。我也用过那个。启动人员看到登录屏幕,上面有关于输入登录名的说明,并且有屏幕键盘。实际上有 2 个用户(运行时和“应用程序管理员”),第二个用户有密码,但没有提示选择密码。启动它的志愿者登录后,屏幕键盘(字母/数字/特殊字符的选择有限)消失,所有其他提示和选择都由 gxmessage 处理。不允许关机。电源开关(物理保护)只能关闭。