当键盘上的修改键单独按下时,如何添加额外的功能?(Arch Linux)

当键盘上的修改键单独按下时,如何添加额外的功能?(Arch Linux)

快速按下并按住控制键。然后松开。什么也没发生。这是我的问题。如果我让 shift、ctrl 和 alt 在单独按下时执行某些操作,我可以为键盘添加更多功能。我想知道在 Arch Linux 中是否有任何方法可以通过软件方式执行此操作。如果您知道有关此内容的官方文档,请告诉我。我还想做一些事情,比如混合和混搭修改键。例如,在其他修改键之一之前按住 shift 将改变该键的功能。类似于它将普通字母键大写的方式。我知道可能有类似于自动热键的程序可以在 Linux 上运行,但我希望有可以在 Arch 的基本安装上运行的东西,或者我可以移植到不同操作系统的东西,比如也可以更改修改键的自定义键盘布局。

答案1

如果我让 shift、ctrl 和 alt 在单独按下时执行某些操作,我可以为我的键盘添加更多功能。我想知道在 Arch Linux 中是否有任何方法可以通过软件方式做到这一点。

假设您正在使用 X11(通过 Xorg),那么有两个答案 - 一个用于制作影响键盘本身的快捷方式,另一个用于其他所有内容:

Xorg 有一些内置的仅用于修改的快捷键,例如ShiftAlt(类似于 Windows 中的)或Alt单独或Ctrl单独。例如,激活ShiftAlt运行setxkbmap -option grp:alt_shift_toggle。请参阅基础列表其他可能的选项,例如grp:alts_toggle

还有一个内置的仅用于修改的快捷键来模拟Caps Lock,以防您重新映射实际Caps Lock以执行更有用的操作。快捷键是 LShift+RShift,setxkbmap 选项是shift:both_capslock

对于 XKB 本身未涵盖的所有其他内容,仅使用修饰符的快捷方式在通用方式下有点棘手,但可以使用卡普(尽管它只是将仅修饰符的快捷方式映射到“普通”快捷方式)。

我还想做一些类似混合修改键的事情。例如,在其他修改键之前按住 Shift 键会改变该键的功能。

嗯,这并不罕见,但它并没有改变修饰语本身确实如此——它只是改变了修饰符修改后的键接收。例如,将CtrlA和定义CtrlShiftA为不同的键盘快捷键是完全正常的。

相关内容