Подражание клавишам / alt / control в стиле Mac в Linux

13

Мне очень нравится, что Mac отделяет командную клавишу от управляющей клавиши, позволяя сосуществовать сочетания клавиш ОС и текста. Это невероятно полезно, особенно потому, что оно позволяет использовать ярлыки emacs везде .

Я почти везде искал какую-то утилиту, которая может позволить это и ничего не может найти. Любая помощь?

Примечание: я хочу сделать больше, чем просто переназначить клавиатуру. Я хочу на самом деле разделить ярлыки ОС и текстовые ярлыки. Единственный способ сделать это - вручную просмотреть каждый ярлык в Gnome и Compiz и изменить его.

Кенрик Райли
источник

Ответы:

0

Обновление 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!
#
Р Бен Р
источник
Пожалуйста, не размещайте один и тот же ответ на несколько вопросов. Если одна и та же информация действительно отвечает на оба вопроса, то один вопрос (обычно более новый) следует закрыть как дубликат другого. Вы можете указать это путем голосования, чтобы закрыть его как дубликат или, если у вас недостаточно репутации для этого, поднять флаг, чтобы указать, что это дубликат. В противном случае настройте свой ответ на этот вопрос, а не просто вставляйте один и тот же ответ в нескольких местах.
Дэвид Постилл
1
Если бы я думал, что мог бы добавить что-то существенное к задаваемому вопросу, адаптируя ответ, я бы сделал это. В целом, это довольно распространенный вопрос, и все они довольно хорошо разделяют один и тот же ответ. В любом случае, я не знал о политике, чтобы помечать или закрывать дублирующие вопросы. Я буду иметь это в виду на будущее.
Р Бен Р