Keyboard layout switching/ru

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

OpenRC
Edit which is documented but not very understandable. It appears that one should choose an appropriate keyboard map likely from as the value for keymap and then optionally also pick files from an appropriate include directory such as  as values for the extended_keymaps variable:

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

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

Вот пример пользовательской раскладки клавиатуры, которая совпадает с раскладкой клавиатуры 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
Откройте и перейдите к модулю.

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

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



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

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

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

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

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

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

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

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

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

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

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

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


 * Press then type 'oo' to get degree sign '°'
 * Press then type 'oc' to get copyright sign '©'
 * Press then type ':)' to get smiling face '☺'
 * Press then type '^2' to get superscript 2 ('²')
 * Press then type '_2' to get subscript 2 ('₂')
 * Press then type 'di' to get diameter sign '⌀'

... and many more. The file lists all possible composition sources.

Enhancing an X keyboard layout
This is necessary when more far-reaching changes have to be made to the keyboard layout, such as adding key assignments, or adding actions to function keys. Since such changes are actually enhancements to the source files of a package, it is recommended to use the epatch_user mechanism so that these amendments are preserved when the package is next updated.

The fundamentals
The relevant Gentoo package is. Configuring a keyboard under X is more complicated than doing the same for a virtual console. The pertinent configuration files can be found in in these subdirectories:


 * 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.

A fuller description of the files in these directories can be found at An Unreliable Guide to XKB Configuration by Doug Palmer. It is a lot better than its name suggests. Further documentation can be found at xkeyboard-config's home page at 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:

Activating the symbols 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.