Keyboard layout switching/ru

Раскладка клавиатуры отображает сканкоды клавиатуры в символы, отправленные в приложение. Раскладки клавиатуры также могут выполнять более сложные преобразования с помощью так называемых мертвых клавиш, которые не выводят символы самостоятельно, а изменяют вывод последующих ключей. Соответствующая раскладка клавиатуры необходима для поддержки как клавиатур, отличных от QWERTY, так и клавиатур QWERTY для ввода символов вне набора ASCII.

OpenRC
The default console keymap is set in by assigning the appropriate keymap as the value for keymap. The keymap values are defined in, and most users will use a value from. Optionally, set the value for the extended_keymaps variable from the appropriate include directory, like. For example, set extended_keymaps="euro2" to get Euro and cent with Alt-Gr on the positions where many keyboards have E and C.

Наконец добавьте в уровень запуска boot.

Restart keymaps for apply changes

Restart consolefont

And add to boot runlevel

Пользовательская раскладка клавиатуры
Чтобы создать пользовательскую раскладку клавиатуры, просмотрите предоставленные раскладки клавиатуры в :

Вот пример пользовательской раскладки клавиатуры, которая совпадает с раскладкой клавиатуры QWERTY для U.S., за исключением того, что клавиши прямой косой черты и апострофы меняются:

Чтобы найти коды клавиш, сопоставленные с клавишами, смотрите вывод :

Если клавиша не может быть найдена с использованием указанной выше команды, запустите:

Просто нажмите клавишу, и будет показан ее код. По завершении подождите несколько секунд и закроется.

systemd
systemd использует и включает в себя как настройки шрифта терминала, так и настройки раскладки клавиатуры, но не имеет дополнительных настроек, имеющихся в OpenRC. Допустимые значения должны соответствовать тому, что поддерживает OpenRC для соответствующей переменной.

X11
Modern X11 applications usually use libXklavier ("klavier" being German for "keyboard") and can be configured by using. Furthermore X11 supports much broader sets of keyboard layouts than is supported for virtual terminals. It should be kept in mind that a proper desktop environment will do its own keyboard layout management. There is no need to directly use the aforementioned application but it can come in handy when dealing with broken or lacking keyboard layout management.

KDE4 / Plasma
Откройте и перейдите к модулю.

To make additional languages available in the sddm login manager, edit the file and add the command setxkbmap followed by a comma separated list of the locales you would like to choose from.

For example to enable German as default and prove US as your keyboard layouts add the following:

Общее (Generic) окружение рабочего стола
Измените и вызовите  из него или настройте клавиатуру в конфигурационном файле Xorg (примеры смотрите ниже).

Обработчик раскладки клавиатуры lxpanel
предоставляет обработчик раскладки клавиатуры в качестве элемента панели.



Используя setxkbmap
Эти изменения являются непостоянными и будут сохраняться только до тех пор, пока пользователь не перезапустит X11. Естественно, команда может быть вызвана из скрипта запуска, чтобы установить соответствующие параметры при каждом запуске X-сервера.

Чтобы запросить существующую конфигурацию:

Настройка раскладки клавиатуры:

Настройка раскладки клавиатуры, ее варианта и модели:

Setting up two keyboard layouts with LED indication:

It is advised to read  manual for a full list of keyboard configuration options:

Поиск поддерживаемых раскладок и вариантов или значений других свойств xkb в этом приложении не представляется возможным, хотя большинство из них перечислены в файле. Получить самый полный список можно, только просмотрев другие файлы в. Разумная рекомендация заключается в использовании надлежащего оружения рабочего стола с собственным управлением раскладкой клавиатуры.

Использование общесистемных настроенных раскладок и горячих клавиш
Этот метод рекомендуется для конфигураций без оружения рабочего стола, другими словами, только X11 с оконным менеджером. Создайте файл и настройте с его помощью необходимые настройки клавиатуры.

В приведенном выше примере настраиваются раскладки клавиатуры США и Бразилии с комбинацией клавиш +  для переключения между ними. Бразильская раскладка сигнализируется светодиодом Scroll Lock на клавиатуре.

Дополнительные возможности настройки
Существует множество вариантов и опций, которые можно использовать при настройке сооответствий клавиатуры. Большинство из них можно найти в файле.

Например, раскладку США с возможностью записи некоторых международных символов можно настроить с помощью варианта :

используется как модификатор для ввода международных символов.

Xorg предоставляет возможность набирать международные и различные знаки в композиции - это означает, нажать "compose key", за которой следует нажать последовательность символов. Чтобы включить клавишу compose, добавьте опцию :

Опция  выше, настраивает  в качестве клавиши compose. С помощью этой настройки:


 * Нажмите затем наберите 'oo' чтобы получить знак градуса '°'
 * Нажмите затем наберите  'oc' чтобы получить знак копирайта '©'
 * Нажмите затем наберите  ':&#41;' чтобы получить улыбающееся лицо '☺'
 * Нажмите затем наберите  '^2' чтобы получить 2 в верхнем регистре ('²')
 * Нажмите затем наберите  '_2' чтобы получить 2 в нижнем регистре ('₂')
 * Нажмите затем наберите  'di' чтобы получить знак диаметра '⌀'

... и многое другое. В файле перечислены все возможные источники композиций.

Улучшение раскладки клавиатуры X
Это необходимо, когда необходимо внести более значительные изменения в раскладку клавиатуры, например, добавить назначения клавиш или добавить действия к функциональным клавишам. Поскольку такие изменения фактически являются улучшением исходных файлов пакета, рекомендуется использовать epatch_user mechanism, чтобы эти правки сохранялись при следующем обновлении пакета.

Основы
Соответствующий пакет Gentoo -. Настройка клавиатуры под X сложнее, чем для виртуальной консоли. Подходящие файлы конфигурации можно найти в в таких подкаталогах:


 * These files associate key codes with symbolic names - it is unlikely that anyone wants to change this.
 * These files associate key codes with symbolic names - it is unlikely that anyone wants to change this.


 * This is the physical shape of the keyboard, used by some software for drawing diagrams of it - it is also unlikely that anyone wants to change this.
 * This is the physical shape of the keyboard, used by some software for drawing diagrams of it - it is also unlikely that anyone wants to change this.


 * The files here create "types". Used in a key declaration, a type specifies which combinations of shift keys can be used with the key.
 * The files here create "types". Used in a key declaration, a type specifies which combinations of shift keys can be used with the key.


 * These files specify the actual key assignments.
 * These files specify the actual key assignments.


 * The files here specify "actions" (such as switching to a virtual terminal), giving them names, which can be assigned to keys.
 * The files here specify "actions" (such as switching to a virtual terminal), giving them names, which can be assigned to keys.


 * These files, given parameters such as the keyboard type, and a language, activate the appropriate specifications in the other directories.
 * These files, given parameters such as the keyboard type, and a language, activate the appropriate specifications in the other directories.

Более полное описание файлов в этих каталогах можно найти в Ненадежном Руководстве по конфигурации XKB Дуга Палмера. Оно намного лучше, чем означает его название. Дополнительную документацию можно найти на домашней странице xkeyboard-config по адресу http://www.freedesktop.org/wiki/Software/XKeyboardConfig/freedesktop.org.

Xkb gives keys names like "" which means "key in the Alphanumeric area, in row C (i.e. third row from the bottom, the row CapsLock is on), and key number 01, the first key at the left of the row". This key is in an English layout. Keys in other areas have other names, such as "" for, or "" for the left control key.

Adding key assignments
As an example, this section will enhance the British English keyboard layout such that typing, , or with  will generate the German umlaut letters ä, ö, and ü. It should also do the Right Thing for the upper case versions. The keys to enhance are (),  () and  (). (The character ß is already assigned to +.)

The names of the umlauted letters in xkb are "adiaeresis" and so on. These names can be found in the file, though the leading "XK_"s have to be removed to get the names.

Identify the right file in the directory. Most of these files are named as two letter country codes (such as for Great Britain) so guess the one which matches the keyboard layout currently selected in X. In this example,  is enhanced.

With the information above, create new entries by copying the existing scheme in. In this example, these entries should be added into the section called "basic". From its content, it is easy to guess that the four items in the braces and brackets within the entry for each key are for regular (without other key combinations),, , and + respectively:

After making the additions, the section looks like this:

Having saved this file, restart X Windows. A typical desktop environment, XFCE, re-reads the above configuration files each time it starts. Should there be errors, error messages will be written to the normal - if X Windows is started from the command line,  will be the virtual terminal it was started from.

Adding actions to function keys
As an example, add the actions "switch to virtual terminal n" (where n > 12) to the function keys -  when, , and  are all selected. The same effect should also occur when and  are selected.

First, search for the file in the directory which handles the existing assignments for the Function keys. This file is. The entry in this file for, which is intended to be modified, is:

There are two things to note with this entry:
 * It is of type "CTRL+ALT"; it thus takes the standard four shift key settings with and, plus a fifth setting of +. Since the goal is to use ++, and there is no suitable existing type, a new one needs to be created.
 * The "action"  is just a defined symbol in the xkb system. Its semantics are given to it by an entry in a file in the  directory, namely . There is no symbol   (or higher) - instead, steal the otherwise unused existing symbols F13, F14, ..., F24.

Creating the new type CTRL+ALT+SHIFT
Having located "CTRL+ALT" in, it is easy enough to copy it, rename the copy to "CTRL+ALT+SHIFT" and extend this to allow the modifier key combination ++. The result looks like this:

Активация символов F13, ..., F24
The symbol  is swiftly located in. It is a simple matter to copy its form, creating assignments for the symbols F13, ..., F24. The definition for the first of these symbols, F13, in then looks like:

Analogous definitions for F14, ..., F24 should also be put into the file.

Amending the entries in symbols for keys, ...,
Now that the new type CTRL+ALT+SHIFT and definitions for the symbols F13, ..., F24 are defined, amend the key definitions for the function keys in. The one for is mentioned below, analogous definitions also need to be inserted for the other function keys:

After making these changes to, , and , and restarting the X server, switching from X directly to virtual terminals 13 and above is now possible - provided that these have been configured in the /etc/inittab (or systemd equivalent) of course.