![我可以对外部数字键盘进行编程来执行某些击键操作吗?](https://linux22.com/image/920790/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%AF%B9%E5%A4%96%E9%83%A8%E6%95%B0%E5%AD%97%E9%94%AE%E7%9B%98%E8%BF%9B%E8%A1%8C%E7%BC%96%E7%A8%8B%E6%9D%A5%E6%89%A7%E8%A1%8C%E6%9F%90%E4%BA%9B%E5%87%BB%E9%94%AE%E6%93%8D%E4%BD%9C%E5%90%97%EF%BC%9F.png)
首先,我是 Ubuntu 的菜鸟,目前运行的是 16.04。我主要是一名数学家,每天花很多时间使用 LaTeX,这很乏味。因此,我正在考虑使用外部数字键盘或类似的东西,这样我就可以,比如说,在外部数字键盘上按“1”,它就会输入 $...$,光标在中间。
有办法吗?我担心计算机无法区分我常用的数字键盘输入(来自常规键盘)和外部数字键盘的输入。
我想我在潜意识中受到了汤姆·斯科特的启发: https://www.youtube.com/watch?v=lIFE7h3m40U
感谢您的帮助!(即使是否定的回答)
答案1
xmodmap
虽然您可以使用和之类的工具xkb
来修改键盘的实际行为,但这有点像在公式中使用常量,而您真正想要的是一个变量。
不要用这种方式解决问题,而是考虑使用桌面自动化工具,它可以为您的工作流程增加更多功能和灵活性。
自动键可能正是您要找的东西。
AutoKey 允许您创建在键入缩写或按下热键时触发的短语。例如,您可以创建一个包含 内容的短语,$<cursor>$
并使用 的缩写触发它$$
。
当您键入空格时$$
,AutoKey 会将其替换为空格,$$
并将光标放在两个美元符号之间。
虽然这是一个非常简单的例子,但替换短语可以任意大且复杂,您也可以使用热键(如Alt+)$来触发它们。
您可以使用 AutoKey GUI 完成所有设置,无需编程。
如果您需要更具选择性的应用程序,您可以定义窗口过滤器,以便此特定缩写或热键仅在当前窗口运行特定程序(例如数学编辑器)时才有效。在任何其他窗口中,缩写不会被识别,并且会被直接传递给在该窗口中运行的应用程序。
AutoKey 还可以触发用 Python3 编写的脚本,这些脚本可以完成大多数使用键盘和鼠标可以完成的操作,从而自动执行重复性任务。为此,您需要掌握或学习一些非常基本的 Python3 编程技能。
AutoKey 具有许多强大而高级的选项和功能,但它们不会妨碍定义一堆常见数学符号的快捷方式。当 AutoKey 发出鼠标和键盘事件时,大多数程序和桌面环境都无法分辨出不是您手动执行的,因此它适用于几乎所有程序和 Linux 桌面。
目前,如果您想尝试 AutoKey,请不要使用 Ubuntu 包管理器安装它。Ubuntu 提供的版本很老,有很多错误。这里是安装当前版本的说明。
一旦 Ubuntu 20.04 发布,新版本将再次通过您的包管理器提供。
AutoKey 在很大程度上独立于特定发行版,因此新版本可能适用于 Ubuntu 16.04。如果不行,您可以使用包管理器安装 16.04 附带的版本或向我们寻求帮助。
您可以访问我们的支持论坛这里。