单个应用程序的自定义键绑定

单个应用程序的自定义键绑定

当特定应用程序打开时,有没有办法覆盖 Lubuntu 16.04 的系统/用户键绑定?

我在 ~/.config/openbox/lubuntu-rc.xml 中创建了一个条目,以强制特定应用程序默认以全屏方式打开。问题是,我不希望我的用户在使用所述应用程序时访问任何其他内容。这是一个用于测试 k-12 学生进度的 google-chrome 应用程序。各种键绑定允许学生通过 Alt+Tab 到浏览器查找答案,或打开运行命令以调出 Galculator 查找答案等来打破测试的有效性。

我可以为该用户帐户完全禁用按键绑定。这不是我喜欢的方法,因为有些按键绑定对于一般用途很有用,但在考试期间就不行了。

有谁能建议进一步编辑特定条目以使用自定义键绑定列表?或者禁止除 Ctrl+Q 之外的所有键绑定以退出程序?

答案1

我有一个答案,尽管仍然不是我想要的。为了防止孩子们在考试开放时离开,我在 ~/.config/openbox/lubuntu-rc.xml 中附加了条目

再次强调,这不是我想要的答案,但目前它有效。如果其他人正在寻找这种功能,我在下面写了一个例子。

例子:

 <applications>
    <application class="class-name" name="name-of-app" title="app-title" 
     type="app-type" role="app-role">
       <fullscreen>yes</fullscreen>
       <layer>above</above>
    </application>
 </applications>

这样做的目的是每次打开应用程序时都以全屏模式打开它,并将其置于所有其他窗口之上。至少在我迄今为止进行的测试中是这样。问题是键绑定仍然有效,其他窗口可以在所需应用程序后面(或下方)打开。即使调用 Alt+Tab 来切换窗口,应用程序本身也会保持在最上面。

这一解决方法受到 Arch Linux 博客上的一篇讨论 openbox 定制的文章的启发。(https://bbs.archlinux.org/viewtopic.php?id=93126

我仍在寻找一种根据打开的应用程序来创建键绑定配置文件的方法。

答案2

我认为您实际上需要一个不同的、更简单的窗口管理器,甚至根本不需要窗口管理器。我甚至不确定 LXDE 是否允许覆盖其自己的键盘快捷键。或者,您可以寻找一种“信息亭模式”,将用户限制在他们无法退出的特定应用程序中(或在终止时立即重新启动)。

我的想法是,在评估期间使用所需应用程序启动“受限”环境,否则使用常规窗口管理器。禁用快捷方式是一个糟糕的想法,因为如果您忘记了一个快捷方式,或者用户设法关闭或最小化应用程序窗口时出现故障,则很容易绕过它。

在每个会话类型切换期间无需运行复杂的命令序列,因为所有这些都可以设置为登录时选择的另一种会话类型(就像在不同桌面环境之间进行选择一样)。切换会话类型就像注销、选择不同的会话类型并重新登录一样简单。这也应该适用于访客会话。(我没有尝试过这些,但根据我对不同桌面会话配置的经验,这应该是可能的。)

例如:

相关内容