LINUX.ORG.RU

Создание своей раскладки клавиатуры для Debian

 , ,


1

3

Всем здравствуйте! В windows существует раскладка клавиатуры, которая позволяет при использовании клавиши AltGr(правый альт) набирать специальные символы без перехода с русской раскладки на английскую, т.е. позволяет набирать <>/;[] и т.д. Каким образом можно настроить раскладку клавиатуры в Linux, чтобы добиться аналогичного эффекта?


Вот пример моей раскладки (/usr/share/X11/xkb/symbols/ru_fix):

default partial alphanumeric_keys
xkb_symbols "ru_fix" {
    include "ru(common)"
    #include "level3(ralt_switch)"
    name[Group1]= "Russian (fixed)";

    key	<TLDE> { [          U0301,     percent ] };
    key	<AE01> { [      semicolon,           1 ] };
    key	<AE02> { [          colon,           2 ] };
    key	<AE03> { [      parenleft,           3 ] };
    key	<AE04> { [     parenright,           4 ] };
    key	<AE05> { [          minus,           5 ] };
    key	<AE06> { [          comma,           6 ] };
    key	<AE07> { [         period,           7 ] };
    key	<AE08> { [          U2014,           8 ] };
    key	<AE09> { [       question,           9 ] };
    key	<AE10> { [         exclam,           0 ] };
    key	<AE11> { [  guillemotleft,        less ] };
    key	<AE12> { [ guillemotright,     greater ] };
    key	<BKSL> { [          U2026,  underscore ] };
    key	<AB10> { [    Cyrillic_io, Cyrillic_IO ] };
};

В качестве основы берётся общая русская раскладка, и меняются некоторые символы.

include "level3(ralt_switch)" — эта штука как раз включает третий уровень на правый альт (я закомментировал, потому что не использую). Чтобы добавить символ, нужно сделать что-то типа такого: key <AE01> { [ semicolon, 1, 2, 3 ] };

Теперь после нажатия AltGr+1 будет напечатано 2, а после AltGr+Shift+1 — 3.

Прочитал невнимательно вопрос. Если нужно переключение раскладки, пока нажата клавиша, то за это отвечает опция grp:switch.

rassol
()
Последнее исправление: rassol (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.