我想将 Caps Lock 键与 Shift Lock 键重新映射,以便在激活 Shift Lock 键时能够输入特殊字符而不是数字。
不幸的是,我无法让它工作。我尝试了以下方法:
xmodmap -e "keycode 66 = Shift_Lock"
这真的很奇怪,因为当我运行时xev
,我得到了以下输出:
KeyPress event, serial 36, synthetic NO, window 0x2200001,
root 0x270, subw 0x0, time 860672, (161,-23), root:(217,72),
state 0x2000, keycode 66 (keysym 0xffe6, Shift_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
所以这个输出表明已经按下了 shift lock,但是特殊字符仍然不起作用。
同样,当改变键盘布局时setxkbmap us
键盘布局根本不会改变。
我认为 Gnome 可能是罪魁祸首,因此我从运行级别 3 开始,但是这给了我相同的最终结果,因为xmodmap
返回了错误,表明找不到默认屏幕。
系统详细信息:Fedora 版本 26(本机安装)。
我错过了什么?
答案1
xmodmap 在 Wayland 中不起作用。您需要改用 xkb。这有几个优点,尽管方便的配置不是其中之一。
看从 xmodmap 创建 xkb 配置寻找迁移的方法 — 登录Xorg 上的 GNOME会话、转换,然后在 Wayland 中继续,现已面向未来。