Ken*_*lee 17 linux mac keyboard keyboard-shortcuts keyboard-layout
我非常喜欢 Mac 将命令键与控制键分开,允许操作系统快捷方式和文本快捷方式共存。它非常有用,尤其是因为它允许 emacs 快捷方式无处不在。
我几乎到处都在寻找某种可以允许这样做的实用程序,但找不到任何东西。有什么帮助吗?
注意:我想做的不仅仅是重新映射我的键盘。我想实际拆分操作系统快捷方式和文本快捷方式。我能看到这样做的唯一方法是手动检查 Gnome 和 Compiz 中的每个快捷方式并更改它。
更新 02/03/2020
Kinto 现已使用 x11 为 Ubuntu/Debian 系统用 C 语言重写。它还使用 json 配置文件,使其更易于管理和扩展到其他应用程序,而不仅仅是终端。该应用程序不再映射到终端应用程序中的 Super,它现在可以正确映射到 Ctrl+Shift 以创建与使用 Cmd 键完全相同的感觉。
请查看最新版本。 https://github.com/rbreaves/kinto
允许 Super = Ctrl+Shift 更改的主要更改在此符号文件中。
default partial xkb_symbols "mac_levelssym" {
key <LWIN> {
repeat= no,
type= "ONE_LEVEL",
symbols[Group1]= [ Hyper_L ],
actions[group1]=[ SetMods(modifiers=Shift+Control) ]
};
key <RWIN> {
repeat= no,
type= "ONE_LEVEL",
symbols[Group1]= [ Hyper_R ],
actions[group1]=[ SetMods(modifiers=Shift+Control) ]
};
};
Run Code Online (Sandbox Code Playgroud)
您可能会发现 Kinto 很有用。这是我最近创建的一个项目,经过几年以几种不同的方式解决这个问题,我现在觉得它足够可靠,可以分享。
Kinto 安装程序仅使用 python 进行初始安装,之后它只是一个 systemd 服务、bash、xprop、setxkbmap 和 xkbcomp。就我而言,这是您将找到的解决此问题的最快且最原生的解决方案。
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
这也是一个要点,如果你只是想看看这一切的核心是什么,它不会在需要时改变你的键盘映射。Gist 也不包括设置使用 Cmd 和箭头键的 macOS 风格光标/逐字操作的自定义 xkb 键盘映射文件。
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
要点内容
# 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!
#
Run Code Online (Sandbox Code Playgroud)
小智 4
我自己没有尝试过,但我通过“Ask Ubuntu”发现了这一点:
安装自动密钥:
apt-get install autokey-gtk
Run Code Online (Sandbox Code Playgroud)
并将短语设置为:
Phrase Text: <ctrl>+C (actually type out the <ctrl>+ here)
Paste Using: Keyboard
Abbreviation: None
Hotkey: <super>+v
Window Filter: None
Run Code Online (Sandbox Code Playgroud)
请参阅此处:如何使键盘像 OSX 全系统一样工作?