Вот еще один вопрос о переназначении ключей в современных дистрибутивах Linux.
Фон:
Я был пользователем Mac последние шесть лет и пользователем Linux около 20 лет. Это вызвало две проблемы:
- Кодирование на шведской клавиатуре на Mac ужасно, поэтому я был вынужден использовать американскую раскладку при кодировании
- Постоянное переключение между раскладками клавиатуры на Linux и Mac
На Mac я сделал некоторые изменения в американском макете, чтобы получить доступ к шведским символам (å, ä, ö). Чтобы получить эти символы на шведской клавиатуре, обычно есть три клавиши справа от клавиатуры. Я переназначил их с помощью Ukelele, чтобы они обычно работали как на американском макете, но с нажатой клавишей "alt" (или «alt +shift») я получаю шведские символы. После некоторого времени, привыкнув к этому, он работает очень хорошо.
Во-вторых, пользователи Linux довольно часто перераспределяют клавиши ctrl-win-alt так, чтобы клавиша win действовала как вторая клавиша ctrl. Это позволяет большинству ярлыков работать одинаково на Mac и Linux. В GNOME (или в твиках GNOME) есть настройка для этого: "Ctrl сопоставлен с Win и обычными клавишами Ctrl".
Но порядок по-прежнему не такой, как на Mac-клавиатуре: у Mac есть "команда опции управления", а на клавиатуре ПК - "Ctrl Win Alt". В настройках GNOME есть еще одна опция: "Alt заменяется Win". К сожалению, GNOME Tweaks допускает только одну из этих опций.
Итак, вот полное переназначение, которое я хочу (на основе макета США):
- Alt + "[" => å
- Alt + Shift + "['" => Å
- Alt + "'" => ä
- Alt + Shift + "'" => Ä
- Alt + ";" => ö
- Alt + Shift + ";" => Ö
- Левый Ctrl => Левый Ctrl
- Left Win => Left Alt
- Левый Alt => Левый Ctrl
К сожалению, кажется, что есть много вариантов, как этого добиться, и все они довольно сложны, поэтому я был бы признателен за любую помощь в этом!
(На Mac я смог сделать это с помощью графического инструмента Ukelele для создания раскладки клавиатуры, которая затем устанавливается, так что я могу переключаться на нее так же легко, как вы можете переключаться между раскладкой в США или Швеции. Очень хорошо.)
Обновить:
У меня есть часть Ctrl/Alt/Win решена. Я создал новый файл (в моем случае с именем "jomag") и поместил его в "/usr/share/X11/xkb/symbols/":
partial modifier_keys
xkb_symbols "jomag" {
key <LALT> { [ Control_L, Control_L ] };
key <LWIN> { [ Alt_L, Alt_L ] };
modifier_map Control { <LALT>, <LWIN> };
};
Я также добавил строку в /usr /share /X11 /xkb /rules /evdev:
! option = symbols
jomag:jomag = +jomag(jomag) <--- this one
Я не уверен, что это было необходимо, хотя.
Я обнаружил, что лучший способ загрузить его - использовать setxkbmap:
setxkbmap -option jomag:jomag
Чтобы перезагрузить, запустите с пустой опцией:
setxkbmap -option
setxkbmap -option jomag:jomag