3

似乎附带的 evdev 文件实际上不支持 evdev.lst 中列出的一些 setxkbmap 选项。例如,支持 ctrl:nocaps 但不支持 ctrl:swap_lalt_lctl,如下所示

$ grep 'ctrl:nocaps' /usr/share/X11/xkb/rules/evdev{,.lst}
/usr/share/X11/xkb/rules/evdev:  ctrl:nocaps        =   +ctrl(nocaps)
/usr/share/X11/xkb/rules/evdev.lst:  ctrl:nocaps          Caps Lock as Ctrl
$ grep 'ctrl:swap_lalt_lctl_lwin' /usr/share/X11/xkb/rules/evdev{,.lst} 
/usr/share/X11/xkb/rules/evdev.lst:  ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Alt
$

这导致我无法使用缺少的选项,如我之前的问题为什么忽略某些 setxkbmap 选项? 作为一个额外的问题,有什么方法可以让我支持这些缺失的选项?

4

1 回答 1

0

我遇到了同样的问题,很乐意找到答案。

我在 Macbook 5,2(2009 年初)上使用 GNOME v3.14.1 运行最近的 Debian Jessie——到目前为止我测试的所有其他键绑定似乎都有效。我有一个猜测的原因:

"gnome-tweak-tools > Typing > Alt/Win key behaviour"

只有这个选项"Ctrl is mapped to Win **keys** (And the Ctrl keys)"——也许这与问题有关,因为我在某处读到 GNOME 覆盖其他键映射设置...我尝试在 dconf-editor 中添加键绑定;也 - 不工作。

编辑:我找到了一个临时解决方法:Superuser Xmodmap Workaround

这是一个复制粘贴游戏,后跟命令

# xmodmap /path/to/yoursavedfile

但是请注意,一旦您更改了 GNOME 中的任何与键盘相关的设置,例如快捷键或其他键绑定,它将覆盖此设置,您必须重新运行该命令。不过,它无需重新登录/重新启动即可立即运行。还不知道它是否会在下次启动时持续存在 - 如果不是,我会在这里报告!

EDIT2:重新启动并恢复 GNOME 会覆盖 xmodmap 的键盘设置。

EDIT3:我找到了一种在重新启动、恢复和登录后使键盘映射永久化的方法,使用这个 python 脚本作为自动启动脚本:xmodmap-reload-script found here

通过在 ~/.config/autostart 中创建一个新的 .desktop 文件,灵感来自这个模板 debian 在启动时运行 python 脚本

[Desktop Entry] 
Type=Application
Exec=python /path/to/your/application.py arguments
于 2014-11-12T18:13:32.507 回答