Есть ли способ сопоставить Cmd + C для копирования в Linux? (вместо Ctrl + C)
Было бы неплохо, если бы я мог также использовать стиль emacs, например Ctrl + B, для перемещения влево на один символ.
@chris Мне очень нравится вопрос из личного интереса (Mac дома, Arch с xfce4 на работе). Однако я должен согласиться с wds. Очень важно упомянуть среду рабочего стола (хороший список здесь на выбор): wiki.archlinux.org/index.php/Desktop_environment)





Вы получите почти весь путь, если переключите Cmd и Ctrl
KDE 3, вероятно, здесь самый гибкий; есть предопределенная схема сочетаний клавиш под названием «Схема Mac». Вы можете установить его через KControl Control Center > Regional & Accessibility > Keyboard Shortcuts или kcmshell keys, и он сразу же подействует почти на все приложения KDE. Вы можете пропустить некоторые из этих Emacs-подобных сочетаний клавиш «Ctrl- *», которые есть в OS X, но, помимо этого, он работает хорошо (пока ваши модификаторы X отображаются правильно). А если не по душе, легко настроить.
Вы также можете настроить Control Center > Desktop > Behavior для включения панели меню, подобной Mac OS; тогда все приложения KDE будут совместно использовать строку меню в верхней части экрана вместо того, чтобы быть индивидуально прикрепленными к каждому окну.
Согласен - мне удалось заставить Konqueror и Konsole вести себя так же, как Safari и Terminal, что меня очень порадовало. Я даже могу использовать alt-shift-Q для выхода.
Is there a way, on Linux/X, to map certain key combos to other key combos?
По традиции всех open source проектов нет пути а, есть несколько. На самом низком уровне у вас есть привязки клавиш ядра, что, вероятно, не то, что вам нужно. На уровне X-сервера у вас есть xkb с множеством утилит. Кроме того, кажется, что каждый оконный менеджер - gnome, kde, xfce или другие - также имеет утилиту сопоставления клавиш. Кажется, что xkb имеет множество утилит и тому подобного, и, вероятно, он более полный, чем утилит для сопоставления клавиш любого случайного оконного менеджера, поэтому я бы сначала посмотрел на это.
xmodmap -e "код клавиши 63 = Control_L"
Таким образом, Cmd будет Control. Никакие другие ключи не будут заменены
Отредактировано: я забыл "-e"
Обновление 02.03.2020
Kinto теперь переписан на C для систем Ubuntu / Debian с использованием x11. Он также использует файлы конфигурации 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) ]
};
};
Ответ Pjz верен, говоря, что решение xkb было бы идеальным, к сожалению, немногие пошли по этому пути, скорее всего, из-за сложности изучения xkb, и, похоже, многие пошли по пути использования файлов Xmodmap, которые устарели, пока мы находимся на наш путь в Вэйланд.
Этот ответ может быть запоздалым на несколько лет, но здесь это любые пути.
Kinto - это инструмент, который я недавно создал, который решит эту проблему, и делает это с помощью xkb и путем прослушивания того, какое приложение вы в настоящее время используете, поскольку он также изменяет раскладку клавиатуры при использовании терминалов, чтобы взаимодействие с Mac могло быть согласованным.
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
Обновлено: публикация содержимого сути. Я не могу реально опубликовать содержимое 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!
#
Правда, меня часто раздражает, когда ссылка обрывается, в то же время прикрепить ответ, состоящий из нескольких файлов и сотен или тысяч строк, тоже нереально. Я полагаю, я мог бы опубликовать содержание сути, однако, поскольку это ответ, который сводится к тому, что делает Kinto, предоставляя реальный ответ, даже если он не может изменять раскладки клавиатуры на лету.
Я отклонил этот ответ, потому что, хотя это хороший ответ, сам вопрос не по теме для Stack Overflow. В 2009 году все было хорошо, но 10 лет спустя есть сайты Stack Exchange специально для этого типа общих вопросов по вычислениям. В идеале этот вопрос должен быть закрыто.
Я не знал об этом, но это понятно. Я полагаю, что Stackoverflow теперь больше ориентирован на фактические вопросы и ответы по кодированию, а не на модификации системного уровня и сценарии, которые можно разделить на другие обмены, в которых я тоже участвую и отвечаю. Я сам веб-разработчик и, возможно, скоро займусь разработкой ядра, но до недавнего времени я не вносил особого вклада в этот или любой другой обмен.
@RBenR Я думаю, ты значительно улучшил свой ответ.
Лучше всего упомянуть, используете ли вы gnome / kde / somethingelse, поскольку настройки ярлыков обычно лучше всего устанавливать сверху вниз.