- Linux console (Русский)/Keyboard configuration (Русский)
- Contents
- Просмотр настроек клавиатуры
- Раскладки клавиатуры
- Список раскладок
- Временная конфигурация (Loadkeys)
- Постоянная конфигурация
- Создание своей раскладки
- Добавление директив
- Другие примеры
- Сохранение изменений
- Регулировка задержки и скорости автоповтора
- Служба systemd
- Настраиваем сочетания клавиш в Linux наподобие Mac OS X
- Ubuntu Documentation
- Заранее заданные комбинации клавиш
- Accessibility
- Запуск приложений
- Перемещение
- Снимки экрана
- Звук и носители
- Система
- Дополнительные комбинации клавиш
Linux console (Русский)/Keyboard configuration (Русский)
Сопоставление клавиш (раскладки) для виртуальной консоли, консольных шрифтов и консольных карт предоставляется пакетом kbd (зависимость для systemd), который также предоставляет множество инструментов низкого уровня для управления виртуальной консолью. Кроме того, systemd также предоставляет инструмент localectl, который может контролировать как локали системы, так и настройки раскладки клавиатуры как для виртуальной консоли, так и для Xorg.
Contents
Просмотр настроек клавиатуры
Используйте localectl status для просмотра текущих конфигураций клавиатуры.
Раскладки клавиатуры
Файлы раскладок хранятся в дереве каталогов /usr/share/kbd/keymaps/ . Обычно один файл keymap соответствует одной раскладке клавиатуры (оператор include может использоваться для совместного использования общих частей, а файл keymap может содержать несколько схем с некоторой комбинацией клавиш, используемой для переключения). Для получения дополнительной информации смотрите keymaps(5) .
Список раскладок
Соглашения об именах консольных раскладок несколько условны, но обычно они основаны на:
- Коды языков: где код языка совпадает с кодом страны (например, ru для русского языка или fr для французского языка).
- Коды стран: где варианты одного и того же языка используются в разных странах (например, uk для английского языка в Великобритании или us для Соединенных Штатов Америки); список кодов стран также можно найти в w:ru:ISO 3166-1#Список кодов по ISO 3166.
- Раскладка клавиатуры: где раскладка не связана с конкретной страной или языком (например, dvorak для раскладки клавиатуры Dvorak).
Для получения списка всех доступных раскладок используйте команду:
Чтобы найти раскладку клавиатуры, используйте следующую команду, заменив search_term кодом для вашего языка, страны или раскладки:
Альтернативно, используя find:
Временная конфигурация (Loadkeys)
Можно установить раскладку только для текущего сеанса. Это полезно при проверке различных раскладок, решение проблем и т.д.
Для этого используют инструмент loadkeys. Он используется внутри systemd при загрузке раскладки клавиатуры, настроенной в /etc/vconsole.conf . Пользоваться им легко:
Для получения дополнительной информации смотрите loadkeys(1) .
Постоянная конфигурация
Постоянную комбинацию клавиш можно установить в /etc/vconsole.conf , которая считывается systemd при запуске. Для указания раскладки используется переменная KEYMAP . Если переменная пуста или не установлена, в качестве значения по умолчанию используется раскладка us . Смотрите vconsole.conf(5) для получения информации обо всех параметрах. Например:
Для удобства, localectl можно использовать для настройки раскладки клавиатуры. Он изменит переменную KEYMAP в /etc/vconsole.conf , а также установит раскладку для текущего сеанса:
Опцию —no-convert можно использовать для предотвращения localectl автоматического изменения раскладки клавиатуры в Xorg до ближайшего совпадения. Для получения дополнительной информации смотрите localectl(1) .
Создание своей раскладки
Вы используете горячие клавиши для вывода особенных символов, пользуясь консолью. Кроме того, мы можем также напечатать последовательность символов и некоторые escape-последовательности. Таким образом, если мы печатаем последовательность символов, составляющих команду, а затем escape-символ для новой строки, эта команда будет выполнена.
Один из способов сделать это — отредактировать файл раскладки. Однако, поскольку он будет перезаписан в любое время, когда пакет, к которому он принадлежит, обновляется, редактирование этого файла не рекомендуется. Лучше объединить существующую раскладку со своей. Утилита loadkeys может сделать это.
Сначала, создайте файл раскладки. Этот файл раскладки может быть где угодно, но этот способ подражает иерархии каталогов в /usr/local :
В качестве примечания следует отметить, что личная раскладка также полезна для переопределения поведения клавиш, уже обработанных стандартной раскладкой: при загрузке с помощью loadkeys директивы в стандартной раскладке будут заменены при конфликте с новыми директивами и сохраняются в противном случае. Таким образом, только изменения в раскладке должны быть указаны в личной раскладке.
Добавление директив
В этой личной раскладке требуются два типа директив. Прежде всего директивы keycode, которые соответствуют формату, указанному в стандартных раскладках по умолчанию. Эти директивы сопоставляют keycode с keysym. Keysyms представляют действия клавиатуры. Доступные действия включают вывод кодов символов или последовательностей символов, переключение консолей или раскладок клавиатуры, загрузку машины и многие другие действия. Полную активную текущую раскладку можно получить с помощью
Большинство keysyms интуитивно понятны. Например, чтобы настроить клавишу 112 для вывода символа ‘e’, директива примет следующий вид:
Чтобы настроить клавишу 112 для вывода символа евро, директива будет следующего вида:
Некоторые keysym не сразу связаны с действиями клавиатуры. В частности, keysyms с префиксом заглавной буквы F и от одной до трех цифр (F1-F246), составляющие число больше 30, всегда свободны. Это полезно для указания горячей клавиши для вывода последовательности символов и других действий:
Затем F70 может быть связан для вывода определенной строки:
Когда клавиша 112 нажата, она выведет содержимое F70. Чтобы выполнить команду в терминале, символ окончания новой строки должен быть добавлен в конец строки с командой. Например, чтобы ввести систему в спящий режим, добавляется следующая строка в раскладку:
Другие примеры
- Чтобы сделать клавишу Правый Alt такой же как клавиша Левый Alt (для Emacs), используй следующую строку в своей раскладке. Это включит файл /usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc , посмотри его для получения дополнительной информации.
- Чтобы поменять местами CapsLock и Escape (для Vim), выполните переназначение соответствующих кодов клавиш:
- Чтобы сделать CapsLock еще одним Control, выполните переназначение соответствующих кодов клавиш:
- Чтобы поменять местами CapsLock и Левый Control, выполните переназначение соответствующих кодов клавиш:
Сохранение изменений
Чтобы использовать свою раскладку, нужно ее загрузить с помощью loadkeys:
Однако, эта раскладка активна только для текущего сеанса. Чтобы загрузить ее при загрузке, укажите полный путь файла вашей раскладки в переменной KEYMAP в /etc/vconsole.conf. Файл не должен быть запакован, как официальные раскладки, представленные kbd .
Регулировка задержки и скорости автоповтора
Задержка автоповтора означает количество времени (обычно в милисекундах), за которое необходимо нажать и удерживать клавишу для начала повторного процесса. После запуска повторяющегося процесса символ будет повторяться с определенной частотой (обычно заданной в Гц), указанной скоростью автоповтора. Эти значения могут быть изменены с помощью команды kbdrate. Обратите внимание, что эти настройки настраиваются отдельно для виртуальной консоли и для Xorg.
Например, чтобы установить задержку автоповтора в 200 мс и скорость автоповтора в 30 Гц, используйте следующую команду:
Ввод команды без указания задержки и скорости автоповтора приведет к сбросу значений до их соответствующих значений по умолчанию; задержка 250 мс и скорость 11 Гц:
Служба systemd
Службу systemd можно использовать для установки скорости клавиатуры. Например
Источник
Настраиваем сочетания клавиш в Linux наподобие Mac OS X
Раньше, у меня довольно часто возникала такая ситуация, когда одновременно работаешь в терминале и, например, в браузере.
После нескольких часов работы начинаешь путаться и в терминале вместо [Ctrl]+[Shift]+[C] нажимаешь [Ctrl]+[C], а в браузере наоборот. В итоге в терминале вы получаете прерывание а в браузере вместо ожидаемого эффекта у вас медленно прогружается дебаггер.
В один прекрасный момент меня это достало и я решил, что пора что-то менять.
До того как я переустановил на своей рабочей машине OSX на Linux, я успел привыкнуть к довольно приятной реализации сочетаний клавиш. А точнее к тому, что все основные операции, такие как «Вырезать», «Копировать» и «Вставить», все они используют кнопку [Cmd] (аналог кнопки [Win] на PC), а не [Ctrl], как это сделано по умолчанию в Linux и Windows. Это очень удобно, так как, повторюсь, если вы часто работаете в терминале, вы имеете единые сочетания клавиш для копирования и вставки как и во всех других приложениях, а прерывание всегда остается на своем месте [Ctrl]+[C].
Вы так же олучите профит от такого способа, если вы используете тайловый оконный менеджер, т.к. в большинстве случаев для использования стандартных операций и переключений между тэгами/окнами вам не придется снимать палец с вашего modkey
Конечно настраивать сочетания клавиш можно в конфигах каждого определенного приложения, но это слишком не удобно, к тому же не каждое приложение поддерживает такую настройку. По этому я решил просто забиндить стандартные сочетания клавиш на те, что нужны мне.
Т.е. нажимая [Win]+[C], ваш терминал будет думать, что вы нажимаете [Ctrl]+[Shift]+[C], а все остальные приложения, что [Ctrl]+[C].
Для реализации задуманного нам понадобятся программа, которая будет отслеживать наши нажатия, например xbindkeys или же можно воспользоваться штатными возможностями вашего оконного менеджера, и эмулятор нажатий на клавиши, их несколько: xdotool, xte и xvkbd.
Правда с первыми двумя у меня возникал один преинтереснийший глюк: если например вы нажимете [Win]+[A], эмулятор покорно передаст [Ctrl]+[A] в приложение, а приложение увидит что нажаты все три клавиши [Win]+[Ctrl]+[A] и не обработает такое сочетание. Этот весьма неприятный баг было не просто обнаружить, так как не помогала даже опция —clearmodifiers для xdotool, которая, казалось бы, специально для такого случая и создана. В xkdbb подобного поведения замечено не было.
Начнем, пожалуй с xbindkeys. Отключем все CapsLock, NumLock и прочие модификаторы, запускаем:
Открывается окошко, в окошке нажимаем сочетание [Win]+[A], в терминале получаем такой вывод:
где Mod4 — это наша клавиша [Win]. Это же можно использовать для написания конфига xbindkeys:
/.xbindkeysrc и пишем:
Теперь запустим xbindkeys:
И попробуем нажать [Win]+[A], эффект будет такой-же как и если бы вы нажали [Ctrl]+[A]
После того что вы убедитесь, что все работает, можно продолжить править кофиг, но перед следующим запуском нужно с начала завершить предыдущий процесс xbindkeys:
Ок, с этим разобрались, но как нам передавать различные сочетания клавиш, при нажатии одних и тех же кнопок, в зависимости от программы с которой мы работем?
На помощь приходит все тот же xdotool и xprop, с помощью которых мы определяем является ли активное окно терминалом.
Давайте напишем простенький скрипт и положим его в /bin/copypaste.sh:
Используйте xprop, если вы не знаете какой класс использует ваша программа:
и клик на окне
Не забываем сделать скрипт исполняемым:
Работает он вот так:
Это же и допишем в наш конфиг
Подобным образом настраиваем сочетания для остальных клавиш.
Источник
Ubuntu Documentation
Чтобы изменить клавишу или клавиши для комбинации клавиш:
Open the Activities overview and start typing Settings .
Click on Settings .
Click Keyboard in the sidebar to open the panel.
In the Keyboard Shortcuts section, select Customize Shortcuts .
Select the desired category, or enter a search term.
Click the row for the desired action. The Set shortcut window will be shown.
Hold down the desired key combination, or press Backspace to reset, or press Esc to cancel.
Заранее заданные комбинации клавиш
Существуют заранее заданные комбинации клавиш, которые можно изменить. Они сгруппированы в следующие категории:
Accessibility
Уменьшить размер текста
Включить или выключить высокую контрастность
Увеличить размер текста
Включить или выключить экранную клавиатуру
Включить или выключить чтение с экрана
Включить или выключить увеличение
Запуск приложений
Запустить клиент эл. почты
Перемещение
Скрыть все обычные окна
Move to workspace on the left
Move to workspace on the right
Super + Page Down
Move window one monitor down
Move window one monitor to the left
Move window one monitor to the right
Move window one monitor up
Переместить окно на одно рабочее место влево
Shift + Super + Page Up
Переместить окно на одно рабочее место вправо
Shift + Super + Page Down
Move window to last workspace
Shift + Super + End
Переместить окно на рабочее место 1
Shift + Super + Home
Переместить окно на рабочее место 2
Переместить окно на рабочее место 3
Переместить окно на рабочее место 4
Переключить элемент управления
Немедленно переключить элемент управления
Switch to last workspace
Переключиться на рабочее место 1
Переключиться на рабочее место 2
Переключиться на рабочее место 3
Переключиться на рабочее место 4
Переключение между окнами
Немедленно переключить окно
Немедленно переключить окно приложения
Переключить окно приложения
Снимки экрана
Скопировать снимок окна в буфер обмена
Ctrl + Alt + Print
Скопировать снимок области экрана в буфер обмена
Shift + Ctrl + Print
Скопировать снимок экрана в буфер обмена
Record a short screencast
Shift + Ctrl + Alt + R
Save a screenshot of a window to Pictures
Save a screenshot of an area to Pictures
Save a screenshot to Pictures
Звук и носители
Воспроизвести (или воспроизвести/приостановить)
Система
Выделить активное уведомление
Show the Power Off dialog
Ctrl + Alt + Delete
Открыть меню приложения
Restore the keyboard shortcuts
Показать список всех приложений
Показать режим обзора
Show the notification list
Show the overview
Показать диалог запуска команды
Переключиться на следующий источник ввода.
Переключиться на предыдущий источник ввода.
Shift + Super + Space
Активировать меню окна
Поместить окно под другими окнами
Развернуть окно на весь экран
Развернуть окно на весь экран горизонтально
Развернуть окно на весь экран вертикально
Поднять окно на передний план
Поднять окно на передний план, если оно перекрыто другими, иначе опустить его
Изменить размер окна
Переключить полноэкранный режим
Переключить состояние развёрнутости на весь экран
Поместить окно на все рабочие места или на одно
Дополнительные комбинации клавиш
To create your own application keyboard shortcut in the Keyboard settings:
Select Custom Shortcuts .
Click the Add Shortcut button if no custom shortcut is set yet. Otherwise click the + button. The Add Custom Shortcut window will appear.
Type a Name to identify the shortcut, and a Command to run an application. For example, if you wanted the shortcut to open Rhythmbox , you could name it Music and use the rhythmbox command.
Click the Add Shortcut… button. In the Add Custom Shortcut window, hold down the desired shortcut key combination.
Указанное вами имя команды должно быть именем реальной системной команды. Чтобы проверить, работает ли команда, можно набрать её в открытом Терминале. Команда, запускающая приложение, не совпадает с названием самого приложения.
If you want to change the command that is associated with a custom keyboard shortcut, click the row of the shortcut. The Set Custom Shortcut window will appear, and you can edit the command.
Источник