有没有办法配置大写锁定按钮,使其不切换?也就是说,只有在按住时才会应用大写锁定状态,而松开时一切都会恢复正常。
背景故事:
我正在将一台 1981 年的工业键盘改装成 USB 设备。它工作正常 --- 事实上,我现在正在用它打字。
但是,Caps Lock 键(图中标记为 ALPHA LOCK)是一个硬件锁定开关,因此,如果我按一次,它就会接触,只有再次按它时才会断开。从计算机的角度来看,它是另一个 Shift 键。
但是,我还没有找到设置 X 以支持此功能的方法。Caps Lock 似乎总是通过软件切换来处理。结合硬件切换,这意味着我必须按两次按钮才能打开和关闭 Caps Lock,这并不理想。理想情况下,应该有一个 Caps Shift 修饰符可供我使用,但我在 xmodmap 中找不到,而且我对 xkb 不太熟悉。
有人知道有什么设置(无论多么隐藏)可以帮到我吗?我可以把它映射到另一个 Shift 键,但这并不能产生正确的效果。
答案1
编辑文件(使用 sudo)
/usr/share/X11/xkb/compat/basic
并改变
interpret Any+Lock {
action= LockMods(modifiers=Lock);
};
到
interpret Any+Lock {
action= SetMods(modifiers=Lock);
};
然后注销并重新登录。我确信这应该可以解决问题。但请注意,这将改变连接到系统的每个键盘上每个 Caps Lock 键的功能。可以将其限制为特定设备,但这有点超出了这个问题的范围,并且需要您对 xkb 配置文件更加熟悉。