- Управление с помощью клавиатуры
- Навигация по пользовательскому интерфейсу
- Навигация по рабочему столу
- Управление окнами
- Linux. Настройка клавиатуры
- Почему я захотел изменить свою клавиатуру?
- Настройка переключения раскладки
- Ациклическое переключение раскладок
- Замечание
- Изменение клавиш
- Двоеточие и точка с запятой
- ESC и CapsLock
- Alt и Win
- Модификаторы
- Назначение модификатора как второе значение клавиши
- Дальнейшие изменения
- Замечание
- Интересный вариант BackSpace напоследок
- P.S.
Управление с помощью клавиатуры
На этой странице приведены комбинации клавиш для людей, которые не могут использовать мышь или другое указательное устройство, или хотят как можно больше пользоваться клавиатурой. Комбинации клавиш, полезные для всех пользователей смотрите в разделе Полезные комбинации клавиш .
Если вы не можете использовать указательное устройство типа мыши, можно управлять указателем мыши с помощью клавиш цифрового блока клавиатуры. Подробнее смотрите: Управление нажатиями и перемещением указателя мыши с помощью клавиатуры .
Навигация по пользовательскому интерфейсу
Перемещение фокуса клавиатуры между различными элементами управления. Ctrl + Tab перемещает между группами элементов, например, с боковой панели в основную область окна. Ctrl + Tab также позволяет выйти из элемента управления, который сам использует Tab , такого как текстовая область.
Удерживайте нажатой Shift для перемещения фокуса в обратном порядке.
Перемещение выбора между частями одного элемента управления или группы взаимосвязанных элементов. Используйте клавиши со стрелками для выбора кнопки на панели инструментов, объектов при просмотре в режиме списка или значков, а также кнопки из группы радиокнопок.
Ctrl +клавиши со стрелками
В режиме списка или значков — перемещение фокуса клавиатуры на другой объект, не снимая выделение с ранее выделенного объекта.
Shift +клавиши со стрелками
В режиме списка или значков — выделение группы объектов, начиная с текущего выделенного объекта, и заканчивая вновь выбранным объектом.
В режиме древовидной структуры элементов, имеющие дочерние элементы, можно развернуть или свернуть, чтобы отобразить или скрыть их: развернуть, нажав Shift + → , и свернуть, нажав Shift + ← .
Активация обладающего фокусом объекта, такого как кнопка, флажок или элемент списка.
В режиме списка или значков — выделение или снятие выделения с обладающего фокусом объекта, не снимая выделение с других объектов.
Удерживайте клавишу Alt для показа горячих клавиш : подчёркнутых букв в командах меню, на кнопках и других элементах управления. Нажмите Alt и подчёркнутую букву, чтобы активировать элемент управления, как если бы вы нажали на него мышью.
Выход из меню, всплывающего окна, переключателя или диалогового окна.
Открывает первое меню в строке меню окна. Используйте клавиши со стрелками для перемещения по меню.
Открывает меню приложения в верхней панели.
Всплывающее контекстное меню для выбранного объекта, как при нажатии правой кнопкой.
В менеджере файлов всплывающее контекстное меню для текущей папки, как при нажатии правой кнопкой на пустом месте в папке.
В интерфейсе со вкладками переключение на вкладку слева или справа.
Навигация по рабочему столу
Переключение между Обзором и рабочим столом. Чтобы быстро найти нужное приложение, контакт или документ, просто начните вводить его имя в Обзоре .
Быстрое переключение между окнами. Удерживайте клавишу Shift для переключения в обратном порядке.
Переключение между окнами приложения или приложения, выбранного нажатием Super + Tab .
В этой комбинации используется клавиша ` , расположенная над клавишей Tab . Если на вашей клавиатуре нет клавиши ` , используйте Super и клавишу, находящуюся над клавишей Tab .
Передаёт фокус верхней панели. В Обзоре переключает фокус клавиатуры между верхней панелью, панелью задач, обзором окон, списком приложений и полем поиска. Для навигации используйте клавиши со стрелками.
Циклическое переключение между окнами одного приложения. Удерживайте Alt и нажимайте F6 , пока не выделится подсветкой нужное окно, затем отпустите Alt . Это действие, подобное комбинации Alt + ` .
Циклическое переключение между всеми окнами на рабочем месте.
Открывает панель сообщений. Нажмите Esc , чтобы закрыть панель.
Управление окнами
Восстановление исходных размеров окна. Используйте Alt + F10 для разворачивания окна. Повторное нажатие Alt + F10 восстановит предыдущие размеры окна.
Перемещение текущего окна. Нажмите Alt + F7 , затем используйте клавиши со стрелками для перемещения окна. Нажмите Enter , чтобы завершить перемещение окна или Esc для возврата окна в исходную позицию.
Изменение размера текущего окна. Нажмите Alt + F8 , затем используйте клавиши со стрелками для изменения размера окна. Нажмите Enter , чтобы завершить изменение размера, или Esc , чтобы вернуть окну исходный размер.
Переместить текущее окно на один монитор влево.
Переместить текущее окно на один монитор вправо.
Разворачивание окна. Чтобы восстановить размер окна до прежних размеров, нажмите Alt + F10 или Super + ↓ .
Разворачивание окна вертикально вдоль левого края экрана. Нажмите снова, чтобы восстановить предыдущий размер окна. Нажмите Super + → для смены краёв экрана.
Разворачивание окна вертикально вдоль правого края экрана. Нажмите снова, чтобы восстановить предыдущий размер окна. Нажмите Super + ← для смены краёв экрана.
Открывает меню окна, как при нажатии правой кнопкой по заголовку окна.
Linux. Настройка клавиатуры
Можно пользоваться и стандартными настройками, но иногда внесенные изменения дают возможность набирать быстрее (это, конечно, не слепая печать, но все же), совершать меньше ошибок, меньше переключать раскладку.
Почему я захотел изменить свою клавиатуру?
Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC . Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем : , а в vim разница стала более явной.
Во-вторых, через некоторое время я стал пользоваться вимовскими комбинациями для навигации в браузере, дальше — тайловый оконный менеджер i3 , где они тоже использовались, и хотелось перейти на них везде (вместо обычных стрелок, например, в файловом менеджере).
В-третьих, когда начал писать конспекты на TeX в vim , я понял, что могу реально упростить и ускорить этот процесс; если английская и русская раскладки будут больше похожи друг на друга, то я смогу вводить одинаковые символы (например, точку, запятую, кавычки, доллар) одинаково. Плюс приходится часто менять язык, поэтому надо это делать быстро, надежно и удобно.
Настройка переключения раскладки
Что же, начнем. Сначала разберемся, как можно настроить смену раскладки клавиатуры.
- Первый способ. Можно воспользоваться какой-нибудь программой, например, gnome-tweaks :
здесь мы можем выбрать один из вариантов, предлагаемых нам разработчиками.Главное — мы не можем создать свой вариант. Давайте научимся делать и это.
- Второй способ.
Посмотрим, как то же самое можно сделать руками, и чего еще можно добиться.
Давайте поставим переключение на правый Alt (он же AltGr ):
$ setxkbmap -layout us,ru -option grp:toggle
Но где можно узнать, какие еще есть варианты, и как создать свои? Все файлы лежат /usr/share/X11/xkb/symbols/ . И наши переключения находятся в /usr/share/X11/xkb/symbols/group . Вот так выглядит выбранный вариант:
partial modifier_keys xkb_symbols "toggle" < virtual_modifiers AltGr; key < symbols[Group1] = [ ISO_Next_Group ], virtualMods = AltGr >; >;
Ациклическое переключение раскладок
Изменим циклическое переключение по AltGr на ациклическое: AltGr переключает на латинскую раскладку, Shift+AltGr — на русскую.
Перед тем как что-то менять, посмотрим на текущие настройки:
$ setxkbmap -layout us,ru -print
Должны получить что-такое ( pc105 может отличаться в зависимости от количества клавиш на вашей клавиатуре):
xkb_keymap < xkb_keycodes < include "evdev+aliases(qwerty)" >; xkb_types < include "complete" >; xkb_compat < include "complete" >; xkb_symbols < include "pc+us+ru:2+inet(evdev)" >; xkb_geometry < include "pc(pc105)" >; >;
Теперь запишем это в конфигурационный файл ~/.config/xkb/config .
В файле /usr/share/X11/xkb/symbols/group можно найти аналогичный вариант с CapsLock , откуда можно понять, что на us будет переключать ISO_First_Group , а на ru — ISO_Second_Group .
говорит, что клавиша при обычном нажатии вызывает ISO_First_Group , а вместе с Shift — ISO_Last_Group .
Изменим в только что созданном файле xkb_symbols :
xkb_keymap < xkb_keycodes < include "evdev+aliases(qwerty)" >; xkb_types < include "complete" >; xkb_compat < include "complete" >; xkb_geometry < include "pc(pc105)" >; xkb_symbols "my" < include "pc+us+ru:2+inet(evdev)" key < [ ISO_First_Group, ISO_Last_Group ] >; >; >;
Проверим, что у нас получилось. Загружаем конфиг:
$ xkbcomp $HOME/.config/xkb/config $DISPLAY
Теперь язык должен переключаться по заданным комбинациям.
Замечание
Это очень удобно, когда набираешь текст, используя сразу две раскладки (например, TeX ), потому что, переключение происходит часто и гораздо проще каждый раз когда начинаешь писать русский текст нажимать нужные клавиши, чем проверять, какой язык стоит сейчас, и переключать, если нужно. Просто меньше тратишь умственных сил, меньше совершаешь ошибок.
Еще один плюс ациклического переключения — можно больше не использовать никаких индикаторов.
Изменение клавиш
Двоеточие и точка с запятой
Поменяем местами двоеточие и точку с запятой. Как задать значение мы уже знаем, осталось понять как называются символы. Это можно посмотреть в тех же файлах /usr/share/X11/xkb/symbols/ . Выберем файл us и найдем нужную клавишу:
Осталось записать в наш конфигурационный файл в обратном порядке.
ESC и CapsLock
Поменяем ESC и CapsLock . В той же директории в файле capslock можно найти:
hidden partial modifier_keys xkb_symbols "swapescape" < key < [ Escape ] >; key < [ Caps_Lock ] >; >; hidden partial modifier_keys xkb_symbols "escape" < key < [ Escape ] >; >;
partical — специальные куски, которые мы можем включать в другие раскладки.
Теперь либо пишем include «swapescape» , либо просто копируем код.
Alt и Win
Еще аналогично можно поменять, например, левый Alt и Win , что особенно удобно в i3wm , если поставить главный модификатор на Win , то он будет ближе к остальной клавиатуре, и плюс мы не ограничим себя в использовании Alt в комбинациях различный программ (браузер, файловый менеджер. ).
Модификаторы
Для чего вообще они нужны? Можно задать комбинации, которые будут позволять нам быстрее и удобнее набирать какие-то символы или вызывать какое-то действие, помещая поверх других, то есть эти комбинации не будут пересекаться с уже созданными или с комбинациями заданными системой.
Существует два дополнительных уровня: level3 , level5 . И еще комбинации с Shift .
Сделаем так, чтобы клавиша CapsLock в комбинации с h, j, k, l давала эффект стрелки. Тогда не нужно будет каждый раз тянуться ним.
Назначим модификатор (мы уже решили поставить туда ESC , но можно сделать и то и другое: об этом далее):
Если мы хотим назначить для разных раскладок разное значение, то сначала нужно их определить:
name[group1] = "English (US)"; name[group2] = "Russian";
Теперь нужно настроить клавиши h, j, k, l. Сначала узнаем их имя — тоже можно посмотреть файл раскладки, это несложно. Их зовут ,… . Какие команды вызывают стрелки можно узнать совершенно аналогично. Дальше пропишем поведение в комбинации с модификатором:
При нормальном нажатии будет обычная буква, при нажатии с шифтом — заглавная, с модификатором третьего уровня — стрелки.
Назначение модификатора как второе значение клавиши
Кроме стрелок можно назначить на третий слой символы или другие операции.
Давайте сделаем, чтобы кроме функции модификатора клавиша CapsLock выполняла и предназначенную ей миссию ранее — была ESC .
Для этого нам понадобится xcape , которая позволяет назначить на на клавишу значение, которое она будет иметь, если нажать ее не в комбинации. Еще есть полезная функция: можно настроить время, после истечения которого ее эффект отменяется.
Как я уже обещал, мы сделаем так, чтобы при однократном нажатии клавиши CapsLock вызывался ESC , а в комбинациях выступала в роли модификатора третьего уровня.
Для этого нужно выполнить
$ xcape -t -e "первое значение=втрое значение"
Я использую интервал 500 миллисекунд. Для нашей цели:
$ xcape -t 500 -e "ISO_Level3_Shift=Escape"
Дальнейшие изменения
Когда я пишу в TeX , я использую достаточно много одинаковых символов, но в разных раскладках. Поэтому появилась идея сделать их максимально похожими. В раскладках по умолчанию сильно отличаются положения точки, запятой, кавычек, квадратных и фигурных скобок, вопросительных знаков, различных слэшей.
- Поставим редко используемые русские буквы на крайних правых клавишах на третий слой других букв.
Схема была такая:
Для достижения такого эффекта добавляем в конфиг (здесь для у/ю, для остальных аналогично, названия букв русского алфавита можно посмотреть, где и все остальное):
key < type[group2]="FOUR_LEVEL", symbols[group2]=[Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft] >; key < type[group2]="FOUR_LEVEL", symbols[group2]=[Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright] >; key < type[group2]="FOUR_LEVEL", symbols[group2]=[Cyrillic_zhe, Cyrillic_ZHE, colon, semicolon] >; key < type[group2]="FOUR_LEVEL", symbols[group2]=[Cyrillic_e, Cyrillic_E, apostrophe, quotedbl] >; key < type[group2]="FOUR_LEVEL", symbols[group2]=[Cyrillic_be, Cyrillic_BE, comma, less] >; key < type[group2]="FOUR_LEVEL", symbols[group2]=[Cyrillic_yu, Cyrillic_YU, period, greater] >;
Плюс к этому добавляется возможность сделать одинаковыми и символы на цифрах, так как и кавычки, и двоеточие, и точка с запятой будет на других клавишах.
Замечание
Аналогично можно добавлять пятый слой, хотя пока лично я не испытываю никакой нужды — вполне хватает третьего.
Интересный вариант BackSpace напоследок
А может хватит тянуться далеко-далеко в дальний угол клавиатуры?
Поставим-ка BackSpace на $mod3+Space ( $mod3 наш модификатор третьего уровня)!
P.S.
Все настройки в принципе применимы для любых Linux дистрибутивов, использующих X.
Полные конфиги можно найти на GitHub.
Этот пост стал для меня отправной точкой к пониманию того, как можно и нужно настроить клавиатуру.