LINUX.ORG.RU

XKB. Функциональные клавиши для раскладок

 , , ,


1

1

Задумал реализовать для каждой раскладки своё собственное значение Fn-клавиш.
Т. е. в английской раскладке они должны играть роль Fn-клавиш (F1-F12), а в русской служить цифрами.

Как только не пробовал указывать, создавал отдельные файлы и указывал их в keymap.xkb, прописывал непосредственно для каждой раскладки, но всякий раз при загрузке раскладки попросту отключаются иксы (мгновенно).

Вот пример:

default partial function_keys
xkb_symbols "fkey2vt" {

	key.type [ Group1 ] = "CTRL+ALT";
	key.type [ Group2 ] = "CTRL+ALT";
                name[Group1] = "Modal";
                name[Group2] = "Latin";

    key <FK01> {[ F1, F1, XF86_Switch_VT_1 ],
    	       	[ 1, F1 ]};
    key <FK02> {[ F2, F2, XF86_Switch_VT_2 ],
    	       	[ 2, F2 ]};

// ... e. t. c.
};

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



Последнее исправление: Dreamdrawer (всего исправлений: 1)

Узнаю себя лет десять назад :) Совет из будущего: не страдай хернёй, привыкай работать со штатными средствами.

anonymous
()
Ответ на: комментарий от anonymous

Штатные средства это вот что:
в каждом окне своя философия биндингов — копипаст работает по-разному в системе/в консоли/в емаксе, ну а переключение раскладки это отдельный эпос. Стрелки используешь часто, практически в каждой программе есть функционал требующий их, но тянуться далеко, особенно когда знаешь как можно иначе. BKSP/DEL быстро привыкаешь использовать не отрывая рук от «домашнего ряда», в связи с чем становится адом писать что-либо где это не настраивается.

В итоге приходишь к тому, что надо не пытаться настроить поведение каждой программы, заранее зная, что далеко не везде получится это сделать, а на уровне системы переопределить, сделав веде удобно и одинаково.

В результате пришёл к такому варианту: делаешь три раскладки с раздельным переключателем для каждой. Третья раскладка является подобием вимовского командного режима. Плюс иногда третий/шестой уровни. Таким образом удаётся разместить всё максимально удобно и функционально.

Dreamdrawer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.