Обновление 02/03/2020
Kinto был переписан на C для систем Ubuntu / Debian с использованием x11. Он также использует файлы конфигурации json, что упрощает управление и распространение на другие приложения, а не только на терминалы. Приложение больше не отображается на Super в приложениях Terminal, теперь оно правильно отображается на 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) ]
};
};
Вы можете найти Кинто, чтобы быть полезным. Это проект, который я недавно создал, после нескольких лет решения этой проблемы несколькими различными способами, и я только сейчас чувствую, что он достаточно тверд, чтобы поделиться.
Установщик 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, если вы просто хотите увидеть, что лежит в основе всего этого, он не будет чередовать вашу таблицу клавиш при необходимости. Gist также не содержит пользовательских файлов ключей xkb, которые устанавливают курсоры в стиле macOS / манипуляции со словами, использующие Cmd и клавиши со стрелками.
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!
#