有很多关于更改键盘快捷键的信息(也在 askubuntu 上)。但是,我不清楚什么适用于 19.04/Xorg。我认为这个问题部分被早期使用 Wayland 混淆了,而且在回答中提到的系统并不总是很清楚。我是 Linux 的长期“命令行”用户,但桌面系统对我来说有点新(并且令人困惑)。
问题 1a:哪些文件/程序控制键盘设置和快捷键(跨所有应用程序,而不是特定于应用程序)?
就这两个吗?
- xmodmap
- /usr/share/gnome-control-center/keybindings/
还有其他人吗?
问题 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 是唯一可以与其他修饰符组合的键吗?或者是否可以为修饰符组合定义字符(除了移位)
我已经在一篇文章中问了这些问题,因为我认为答案都会相互关联——希望这是有道理的!
非常感谢!
我在这里建立了一个 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提供了许多可以作为起点的食谱。