[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: XKB group toggle
> Вопрос к знатокам XKB - можно ли сделать переключение групп xkb при помощи,
> к примеру, ctrl, но так, чтобы он сохранил свою обычную функциональность?
>
> Т.е. ctrl press, ctrl release - переключает группу, а
> ctrl press, some_other_key press/release, ctrl release - не переключает.
Нельзя.
> Интересует решение средствами XKB, или же ссылки на источник информации о
> том, почему этого сделать нельзя
Интересный вопрос. Хотел бы я посмотреть на документацию, где дается
исчерпывающий список чего _нельзя_ сделать. :-)
Могу сослаться на xc/doc/XKB/XKBlib .
Дело в том, что нигде в XKB нет средств, чтобы явно указать, что ...
если между key_press и key_release что-то еще нажималось, то изменить
действие клавиши.
То есть, переключалку из Control сделать можно не потеряв при этом
ее действия как Control, но она будет переключать группы всегда,
независимо от того - нажималось ли что-то между press/release.
Самое забавное, что сам XKB это отслеживает (например, у SetGroup есть
флажок - "сбросить" группу в 0, который действует по разному в зависимости
от того, нажималось ли что-то между press/release), но не дает этим
воспользоваться по нашему желанию.
Кстати, если хотите - можете покопаться в исходниках XKB (серверной части).
:-)
Возможно там есть какие-нибудь недокументированные "фичи", которые позволяют
сделать что-нибудь более полезное, чем просто "сброс" группы в исходное
состояние.
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia