Я видел много вопросов относительно этого, но они все, кажется, делают перекарту ключей вместо фактического macOS поведения.
Мой основной вариант использования состоял бы в том, чтобы "разделить" ярлыки: например, я хотел бы иметь Super+C для копирования текста и Ctrl+C для отправки SIGINT в текущую программу.
В этом случае простая перекарта или подкачка Super и Ctrl не работали бы.
Я нахожу, что поведение Mac очень практично, потому что все наиболее распространенные ярлыки используют Супер, и известный ярлык копии не перекрывает известный ярлык SIGINT.
Большинство терминальных приложений реагирует на Ctrl -* ярлыки, и они главным образом накладываются со "стандартными" ярлыками. В Терминале GNOME мы должны нажать Ctrl+Shift+C для копирования текста, тогда как в других приложениях как Firefox, Ctrl+C используется. Это является довольно громоздким и непоследовательным по сравнению с Super+C.
Можно достигнуть использования xmodmap команды:
remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L
Сохраняют вышеупомянутые строки как super_as_ctrl.xmodmap
. Тест путем выполнения
xmodmap super_as_ctrl.xmodmap
Для внесения изменения постоянным (выживающий re-login/reboot) просто переименовывает файл к .Xmodmap
в домашней папке.
(Протестированный на Ubuntu 14.x)
пз: Вы могли также использовать другую кнопку окон. Не уверенный, как сделать это.
Следующие жизни в моем $HOME/.uxSwapCapsLock-and-Ctrl
. Это эффективно подкачивает функциональность клавиш Caps Lock и клавиш Ctrl для любой оболочки, используемой в любой системе Linux каждый раз, когда я вхожу в систему и инициирую интерактивную сессию в оболочке в данной системе. Я уверен, что можно узнать о подходящем ключевом имени, что Вы пытаетесь изменить и упомянуты xmodmap для получения функциональности, которую Вы хотите. Этот код инициируется каждый раз, когда я вхожу и имею интерактивную сессию через .profile, но это живет в .ps1 файле с этой целью.
#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script
Это - проверка .profile, чтобы заставить подкачку произойти:
if [ -f "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
. $HOME/.uxSwapCapsLock-and-Ctrl
fi
Чтобы создать новый ярлык и удалить старые, Просто перейдите в параметры настройки системы>> клавиатура>> ярлыки . Там Вы видите все ярлыки, редактируете его, удаляете его и создаете новые.
Смотрите на Kinto, я создал его для разрешения точной проблемы, которую Вы описываете здесь. Это также чрезвычайно быстро, поскольку это разработано для слушания, какое приложение имеет фокус, и измените контурную карту соответственно (существует действительно только два режима, терминальная контурная карта и все остальное..)
необходимо будет обновить сочетания клавиш Терминала для вещей как Копия, Вставка, Новая вкладка, и т.д., для использования Супер, но Вы сохраните нормальную комбинацию Ctrl-C, и она избежит другой странности, которая может произойти imo, если необходимо было попытаться повторно отобразить sigint вместо этого.
то, Что хорошо о Kinto, - то, что он делает наименьшее количество изменений возможным, и все же он работает быстро, надежно и имеет так же, как хорошее покрытие как намного более сложные решения, которые Вы найдете. Если Вы действительно находите это недостатком, хотя можно отправить проблему или внести дополнительную модификацию в xkb контурные карты, и я рассмотрю его для слияния в ведущее устройство. Точка должна принести, все по этому заставит клавиатуры Linux управлять тем же как macOS.
https://github.com/rbreaves/kinto
https://medium.com / benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
Здесь является Суть также, если Вы просто захотите видеть то, что в основе всего этого, то это не чередует Вашу контурную карту при необходимости все же. Суть также не включает пользовательские xkb файлы контурной карты, которые устанавливают стиль macOS cursors/word-wise манипуляции, которые используют Cmd и клавиши со стрелками.
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Ubuntu 20.04, июнь 2020 г.
Потратив безумное количество времени, пытаясь понять, как заставить MacOS-подобные ярлыки работать в Ubuntu , я нашел кинто. Просто следуйте инструкциям, у меня 20.04 все отлично работало с алюминиевой клавиатурой Apple. CMD-C/V копирует и вставляет везде, а CTRL-C и т. д. работают в терминале.