tannarh: (double mind)
tannarh ([personal profile] tannarh) wrote2017-01-02 01:49 pm
Entry tags:

Произвольные символы на клавиатуре

Есть несколько способов добавить нужные символы на клавиатуру в Linux, однако их работоспособность варьируется в зависимости от дистрибутива, рабочего окружения и фазы Луны. Например, у меня Compose key так нормально и не заработал в русской раскладке (у кого-то он не работает в приложениях GTK и т.д.). Поэтому задача решалась простым дедовским способом.

Сначала в свойствах клавиатуры назначается клавиша для выбора третьего ряда (у меня это правая Win):



А потом редактируется файл по адресу /usr/share/X11/xkb/symbols/ru, куда вписываются нужные символы в кодировке Юникод (UXXXX) или по их названиям. Я назначил следующие: ѣ, і, ѳ, ѵ, ©, ®, ™, «, », —, …

В блоке
partial hidden alphanumeric_keys
xkb_symbols "common" {


ищем нужные строки, например:

key { [ minus, underscore ] };

и дописываем свой символ через запятую с пробелом (в данном случае длинное тире "—" на клавише с минусом и подчеркиванием):

key { [ minus, underscore, emdash ] };

Я изменил строки:

key { [ minus, underscore, emdash ] };
key { [ Cyrillic_io, Cyrillic_IO, U0463, U0462 ] };
key { [ Cyrillic_shorti, Cyrillic_SHORTI, U0456, U0406 ] };
key { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472 ] };
key { [ Cyrillic_er, Cyrillic_ER, registered ] };
key { [ Cyrillic_zhe, Cyrillic_ZHE, guillemotleft ] };
key { [ Cyrillic_e, Cyrillic_E, guillemotright ] };
key { [ Cyrillic_es, Cyrillic_ES, copyright ] };
key { [ Cyrillic_i, Cyrillic_I, U0475, U0474 ] };
key { [ Cyrillic_te, Cyrillic_TE, trademark ] };


что дает следующие клавиатурные сочетания в русской раскладке:

RWin + Ё (лат. ~) = ѣ / RWin + Shift + Ё (лат. ~) = Ѣ
RWin + Й (лат. Q) = і / RWin + Shift + Й (лат. Q) = І
RWin + Ф (лат. A) = ѳ / RWin + Shift + Ф (лат. A) = Ѳ
RWin + И (лат. B) = ѵ / RWin + Shift + И (лат. B) = Ѵ
RWin + С (лат. C) = ©
RWin + Ж (лат. :) = «
RWin + Э (лат. ") = »
RWin + Р (лат. H) = ®
RWin + Т (лат. N) = ™
RWin + . (лат. .) = …
RWin + - (лат. -) = —

Смотрим на фазу Луны и перезагружаем компьютер.

Post a comment in response:

(will be screened)
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org