Я только что установил i3 с конфигурацией по умолчанию, и там естьсерьезная проблема с сочетаниями клавиш: хотя моя раскладка клавиатуры не QWERTY, сочетания клавиш сопоставлены соответствующим клавишам QWERTY. Поэтому мне приходится нажимать Win+клавишу с пометкой "F" в раскладке QWERTY, чтобы развернуть окно на весь экран, хотя нажатие этой клавиши приводит к появлению символа "u" (в раскладке Дворака). Как обойти это, чтобы нажатие Win+ fработало влюбоймакет,без необходимости отдельной настройки для каждого макета?
решение1
Короткий ответ:
Если вы хотите использовать конфигурацию по умолчанию, вы можете просто скопировать /etc/i3/config
ее ~/.config/i3/config
(или ~/.i3/config
заменить существующую, чтобы избежать путаницы).
Длинный ответ:
i3
поддерживает настройку сочетаний клавиш с помощьюключевые символыа также поключевые коды.
Ключевые символыэто символы, которые отправляются нажатием клавиши и зависят от раскладки клавиатуры. Они связаны с
bindsym
ключевым словом. Например, чтобы связатьtoggle fullscreen
с комбинацией Winи клавишу, котораяотправляет "f"Вы бы использовали:bindsym Mod4+f fullscreen toggle
Этот метод пригоден для использования с мнемоникой (Фполный экран, повторноСize и т. д.) и вы можете сразу найти нужную комбинацию клавиш, просто взглянув на конфигурацию. Но если вы переключаетесь между раскладками клавиатуры, клавиша также может перемещаться. Также, если вы переключаетесь между разными алфавитами, не каждый символ будет представлен в обеих раскладках.
Коды ключейпредставляют собой физическую клавишу на клавиатуре и не зависят от раскладки клавиатуры, а только от модели клавиатуры (например
pc104
,pc105
). Для того чтобы привязатьсяtoggle fullscreen
к комбинации Winи клавише, котораяпомечен какFна американской клавиатуре (горизонтальная линия, указательный палец левой руки):bindcode Mod4+41 fullscreen toggle
Этот метод сохраняет сочетания клавиш в одном и том же физическом месте на разных раскладках клавиатуры. Это особенно полезно, если вы иногда переключаетесь между раскладками, но находите сочетания клавиш в основном с помощью мышечной памяти. С другой стороны, конфигурация не очень читабельна (
f
по сравнению с41
).
В зависимости от личных предпочтений вы можете выбрать любой из методов. Вы даже можете смешивать их, но вам нужно быть осторожным, чтобы не назначать одну и ту же клавишу дважды, например, bindsym f …
и bindcode 41 …
в одно и то же время.
Обычно i3
пакеты поставляются с конфигурацией по умолчанию для каждого метода. /etc/i3/config
для bindsym
и /etc/i3/config.keycodes
для bindcode
. Если i3
не находит пользовательскую конфигурацию, предлагает создать ее с помощью i3-config-wizard
. Это берет config.keycodes
конфигурацию по умолчанию и заменяет все bindcode
конфигурации эквивалентными bindsym
конфигурациями на текущей раскладке клавиатуры. Это гарантирует, что все клавиши находятся в том же месте, что и показано наРуководство пользователяи что файл конфигурации легко понять в то же время. Недостатком, конечно, является то, что он нарушает некоторые мнемоники, если вы не используете раскладку QWERTY или QWERTZ.
Мое личное предложение – это (долго) взглянуть наРуководство пользователяи используйте конфигурацию по умолчанию только в качестве отправной точки для создания собственной конфигурации, которая соответствует вашему рабочему процессу и предпочтениям.