2017-01-02

tannarh: (double mind)
Есть несколько способов добавить нужные символы на клавиатуру в 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 + - (лат. -) = —

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