![有没有办法为个人应用程序使用自定义键盘映射](https://linux22.com/image/1066972/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E4%B8%BA%E4%B8%AA%E4%BA%BA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E9%94%AE%E7%9B%98%E6%98%A0%E5%B0%84.png)
目前,我经常在 macOS 和 Ubuntu 之间切换。因为我在两个系统上都使用 Apple magic keyboard,所以我使用 Ubuntu 上的 gnome tweak 工具将左控制键与左 cmd 键(左 win 键)切换。但是在 mac 中,控制键在终端中用于 SIG KILl 等操作,而 cmd 键用于复制、粘贴等。因此,我希望在 Ubuntu 中拥有类似的功能,即在使用终端时,将 cmd 键映射回左 win 并将控制键恢复正常。这可能吗?
答案1
我尝试过只为终端交换按键,虽然理论上可行,但在实践中却无法实现。我在这里写下了很多关于此的笔记: https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X
这种方法可能对你来说有点过头了。但是,根据你在 OS X 和终端上使用快捷键的频率,你可能会发现这种方法很有用。它基本上使 Ubuntu 修饰键尽可能接近 OS X。一个可靠的方法是让终端使用另一个修饰键而不是 Ctrl。以下说明允许你以这种方式重新编译终端:https://github.com/bjohas/Ubuntu-keyboard-map-like-OS-X/blob/master/Building%20a%20Gnome-Hyper-Terminal.md
然后使用 Gnome Tweaks 让您将 CapsLock 分配给 Hyper。使用自动键,您可以用 Hyper 做更多的事情,例如在其他应用程序中模拟 ctrl-a/e/d。当然,您可能不想失去 CapsLock 键 - 因此,根据您在终端中使用的修饰键,您可以使用 Super 键,然后在此基础上妥协使用快捷键。
我同意,对于“轻度使用”,键盘布局切换原则上可以发挥作用,而且可能对你更有用。但是,正如你通过上述链接看到的,在一年的时间里,我没能做到这一点。上述链接介绍了几种策略(带有代码),但对我来说它们从来都不那么可靠。
Hyper 方法的优点是它完全释放了终端的 Ctrl 键。因此您无法使用 Ctrl(在终端中)进行复制/粘贴/新选项卡等操作,这意味着您现在可以在终端和桌面应用程序之间使用相同的快捷方式进行复制和粘贴。
希望这可以帮助!