使用 MC、MV、MA 进行复制、粘贴、全选

使用 MC、MV、MA 进行复制、粘贴、全选

我在 Macbook Pro 上使用 Kubuntu Linux 12.04,并且希望能够使用 Command/Meta 键来执行复制、粘贴和全选等常见快捷键。

尝试过的解决方案:

  • 在 KDE 的系统设置 > 快捷键和手势 > 标准键盘快捷键中重新映射复制、粘贴、全选等
    • 问题:大多数应用程序似乎都会忽略这些快捷方式。我测试的所有网络浏览器都继续等待Ctrl我表示希望使用该Meta密钥的密钥。由于无法找到可用的网络浏览器,我没有尝试任何其他应用程序。
    • 测试环境:Firefox、Chromium、Rekonq、Arora、Konqueror。
  • 交换MetaCtrl 使用 xmodmap
    • 问题:终端仿真器将需要使用该Meta键来代替Ctrl键盘中断、大多数 Emacs 绑定以及各种 CLI 应用程序中无数其他绑定等命令的键。

考虑的解决方案:

  • 单独更改 GUI 应用程序中的常用快捷键。不幸的是,能够更改复制、粘贴和全选的绑定似乎很少。
  • 仅更改 Konsole(或另一个终端仿真器)的 Ctrl 修饰符。理想情况下,这会导致Meta-x产生击键Ctrl-x反之亦然。然而,我找不到任何方法来实现这一点。
  • 使用stty更改终端键命令的绑定以使用元,并另外为所有其他 CLI 应用程序编写自定义配置文件。这需要付出不合理的努力才能完成。

我对这个简单的修改似乎需要付出多少努力感到非常惊讶,并且我将感谢任何可以提供的帮助来找到合理的工作解决方案。

答案1

每次在键盘上按下一个键时,Linux 内核都会生成一个代码。该代码与keycodes定义随后显示的图形的表格进行比较。

这个过程很复杂Xorg,它启动了自己的表keycodes。每个都keycode可以属于一个keysym。 Akeysym就像一个函数,通过按键启动。Xmodmap允许您编辑这些keycode-keysym关系。

要使用以下命令获取当前的键盘映射表Xmodmap

xmodmap -pke

这将以以下格式打印出完整的表格:

keycode <keycode#> = <boundkey> <boundkey>

移动任何内容时,请务必使用备份原始keycode布局。xmodmap -pke >> $HOME/Xmodmap.orig这会将文件放置Xmodmap.orig在您的用户主目录中。

提示:还有一些预定义的键码(例如XF86AudioMuteXF86Mail)。这些键码可以在以下位置找到:/usr/include/X11/XF86keysym.h

您还可以编辑按键:ShiftCtrlAltSuper(始终存在左键和右键 ( Alt_R=AltGr))。

这是一个快的如果您想交换CTRLSuper(Windows 键),您的配置将是什么样子的示例:

keycode 255  =
!add Shift   = Shift_L Shift_R
!add Lock    = Caps_Lock
add Control  = Super_L Super_R
!add Mod1    = Alt_L Alt_R
!add Mod2    = Mode_switch
!add Mod3    =
add Mod4     = Control_L Control_R
!add Mod5    =

!用于注释/忽略该行。仅在本示例中SuperControl键会进行调整)

该配置将被保存$HOME/.Xmodmap并加载

xmodmap ~/.Xmodmap

您也可以通过 xwindows 将其添加到您的~/.xinitrc

如果事情变得棘手,你可以随时恢复到Xmodmap.org.

依赖这些键的应用程序的任何绑定也将被移动。因此,请确保所有内容都保持绑定状态,这样您就不会丢失任何功能。这是一场拔河比赛。

相关内容