如何将键盘配置为像 Mac 的键盘一样?

如何将键盘配置为像 Mac 的键盘一样?

我正在使用 Gnome(在 Ubuntu 20.04 上),并且我想配置我的 PC 键盘的行为类似于 Mac 的:所有 UI 键盘快捷键都应使用最接近该键的键space作为其快捷键(因此而不是 Mac 的command键)。这也应该适用于终端仿真器应用程序:ctrl-c应该使用真实密钥完成ctrl并发送中断,同时command-c应该复制到剪贴板。

我通过将键盘选项配置为以下方式实现了此目的:

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swap_lalt_lctl_lwin', 'ctrl:ralt_rctrl', 'ctrl:swap_rwin_rctl']"

这使得我的笔记本电脑键盘上的底行按键的行为如下,从左到右:super, fn, alt, ctrl, space, ctrl, super。这意味着在所有具有默认键盘快捷键的 UI 应用程序中,按下最接近spaceMac 的按键的行为:ctrl-c例如,它发送复制剪贴板的操作。

在终端模拟器应用程序中,我需要的键盘选项有点不同:

gsettings set org.gnome.desktop.input-sources xkb-options "['altwin:swap_alt_win']"

这使得按键从左到右依次为:ctrl, fn, alt, super, space, super, ctrl。这又很好用了。按最左下角的键可以按预期工作,ctrl-c现在发送中断。我可以配置键盘快捷键,以便按下最接近的键space并将c副本复制到剪贴板,再次使其像在 Mac 上一样工作。

通过这种配置,我总是按键盘上的同一键复制到剪贴板,并按同一键发送中断。

现在的问题是如何配置以便:

  • 只有终端仿真应用程序窗口才有第二个键盘选项。
  • 所有其他窗口,包括 Gnome shell 本身都有第一个键盘选项。
  • 当终端仿真应用程序窗口获得焦点时,全局(系统)快捷方式仍然有效。例如,我有一个快捷方式,可以按ctrl-f1(使用最接近spaceUI 应用程序和 Gnome shell 的键)切换到第一个工作区。现在,当我处于终端仿真应用程序窗口时,这应该可以继续工作。
  • 该键盘选项与当前基于语言的布局相结合。因此,如果我通过 Gnome shell 更改键盘语言,选项将根据当前应用程序的窗口进行组合。我不使用每个应用程序的语言布局,而是使用系统范围的语言布局。另外,我可以忍受终端仿真应用程序中只有一种键盘语言。但对于其他应用程序,我确实需要并使用多种键盘语言。

相关内容