全面披露
我是 Kinto 的作者。
您可以通过在创建新绑定之前简单地交换键盘映射来减少您的工作,但是如果您在 Ubuntu 或任何 linux 发行版上使用终端,那么这种 mac 错觉将很快消失。此外,除非您为其创建自定义键盘映射,否则 Cmd + 箭头键的行为将有所不同。
如果您想为自己创建更少的工作,那么我建议您使用 Kinto。它将通过侦听您当前正在使用的应用程序来处理应用正确(和本机)的键盘映射。它不会像 Autokey 或其他 3rd 方重新绑定/重新映射工具那样拦截按下的键。
Kinto 还为正常的 mac Cmd + 箭头键行为和现在 Alt + 箭头键行为提供了自定义键映射。
https://github.com/rbreaves/kinto
** 20 年 6 月 16 日更新 **
Kinto 现在使用 xkeysnail,它更简单且基于 python。也适用于较低的 udev 输入电平。也更容易配置,因为所有设置都属于一个基于 python 的文件。你可以使用 kinto 或 xkeysnail 来做你想做的事。
https://github.com/mooz/xkeysnail
** 下面解释旧的 XKB 方法**
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
这里还有一个要点,如果您只是想看看这一切的核心,它不会在需要时更改您的键盘映射。 Gist 也不包括自定义 xkb 键盘映射文件,这些文件设置 macOS 样式光标/使用 Cmd 和箭头键的逐字操作。
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
编辑:根据另一位成员的建议,我还将包含要点的实际内容,因为我实际上无法包含创建 Kinto 的所有代码和文件。除了 Kinto 能够动态更改您的键盘映射和应用更多特定于 macOS 行为的自定义键盘映射之外,这个要点和 Kinto 是相同的。
# permanent apple keyboard keyswap
echo "options hid_apple swap_opt_cmd=1" | sudo tee -a /etc/modprobe.d/hid_apple.conf
update-initramfs -u -k all
# Temporary & instant apple keyboard keyswap
echo '1' | sudo tee -a /sys/module/hid_apple/parameters/swap_opt_cmd
# Windows and Mac keyboards - GUI (Physical Alt is Ctrl, Physical Super is Alt, Physical Ctrl is Super)
setxkbmap -option;setxkbmap -option altwin:ctrl_alt_win
# Windows and Mac keyboards - Terminal Apps (Physical Alt is Super, Physical Super is Alt, Physical Ctrl is Ctrl)
setxkbmap -option;setxkbmap -option altwin:swap_alt_win
#
# If you want a systemd service and bash script to help toggle between
# GUI and Terminal applications then look at project Kinto.
# https://github.com/rbreaves/kinto
#
# Note: The above may not work for Chromebooks running Linux, please look
# at project Kinto for that.
#
# If anyone would like to contribute to the project then please do!
#