关于更改键盘快捷键的信息很多(在 askubuntu 上也有)。但是,我不清楚哪些适用于 19.04/Xorg。我认为这个问题部分是由于之前使用 Wayland 而造成的,而且答案中提到的系统并不总是很清楚。我是 Linux 的长期“命令行”用户,但桌面系统对我来说有点新(而且令人困惑)。
问题 1a:哪些文件/程序控制键盘设置和快捷键(跨所有应用程序,而不是特定于应用程序)?
只有他們兩個嗎?
- 修改映射
- /usr/share/gnome-control-center/键绑定/
还有其他吗?
问题 1b:当我使用 GUI 更改键盘布局时,这是否会反映在上述文件中?或者是否有只能通过 GUI 访问的设置?(我认为没有,但只是检查一下。)
问题 3:xkeycaps 无法显示我的正确键盘布局,这有关系吗?(我使用的是标准的英国笔记本电脑,我发现的所有 xkeycaps 布局似乎都不能准确反映这一点。)
问题 4:应用程序特定的键盘快捷键。某些应用程序具有可更改/可设置的应用程序特定的键盘快捷键。
4a:这些总是会覆盖系统范围的键盘快捷键吗?
4b:如果应用程序没有可设置的特定于应用程序的键盘快捷键,是否有任何通用的方法与应用程序交互?(例如在 OS X 上,辅助功能服务可以访问任何菜单项。)
问题 5:xmodmap 中的修饰键与实际按键有何关系?例如,https://wiki.archlinux.org/index.php/Xmodmap说
Each keysym column in the table corresponds to a particular combination of modifier keys:
Key
Shift+Key
Mode_switch+Key
Mode_switch+Shift+Key
ISO_Level3_Shift+Key
ISO_Level3_Shift+Shift+Key
但是:我的 xmodmap 中每个键最多有 10 个条目。那么它们对应的是什么?或者应该是:
Shift+Key
mod1+Key
mod1+Shift+Key
mod2+Key
mod2+Shift+Key
此外,如何
$ xmodmap -pm
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x94)
mod3
mod4 Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), ISO_Level3_Shift (0x6c), Mode_switch (0x85), Mode_switch (0xcb)
那么与上面的对应吗?我将此列表读作“功能‘shift’由物理键 Shift_L 和 Shift_R 实现”等。我使用的笔记本电脑没有 num_lock,mod3 没有分配是不是很奇怪?还是上面的列表中只使用了 mod1/4/5?
例如,我在 xmodmap 中有这个
keycode 51 = backslash bar numbersign asciitilde dead_grave dead_breve
建议不应该有未使用的修饰符?
请注意,通过设置(xmodmap -pm 显示)我无法访问 xmodmap 中的字符(除前两列外)。
问题 6:“控制”键(不用于在 xmodmap 中的列之间移动)和“修饰键”键(用于在 xmodmap 中的列之间移动)之间有什么区别。
问题 7:Shift 是唯一可以与其他修饰键组合的键吗?或者是否可以为修饰键组合定义字符(除 shift 之外)
我把这些问题都问在了一个帖子里,因为我认为所有的答案都是相互关联的——希望这是有意义的!
非常感谢!
答案1
我在这里建立了一个 repo,将下面的一些答案转化为实际步骤。https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X
以下是部分答案:
问题 1a:xkb 和 gnome-settings。xmodmap 仍然有效,但似乎比 xkb 旧。xkb 比 xmodmap 更快,请参阅https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X。Gnome-settings 也在那里进行了简要的描述。
问题 1b:是的。
问题 3/4a/b:不确定。
问题 5/6:xmodmap 似乎已经过时了。上面的 repo 提供了一些帮助重新映射修饰键的示例脚本。不确定 xmodmap 列中的条目数,但最好看看 xkb!
问题7:不确定,但应该xkb相当灵活。
全面的,https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X给出了一些可以作为起点的食谱。