[sisyphus] XOrg: Получение символа по коду клавиши в соответствии с выбранной раскладкой (языком)
Vitaly Lipatov
lav на altlinux.ru
Ср Авг 1 01:01:23 MSK 2012
Roman Savochenko писал 30.07.2012 23:42:
> 30.07.2012 17:18, Roman Savochenko пишет:
>
>> Начинаю разбираться с kvkbd и выясняю, что событие на перерисовку
>> при
>> переключении от kxkbd приходит однако связка функций
>> XKeycodeToKeysym()
>> -> keysym2ucs() всегда возвращает символы в Latin1.
> На самом деле используется умолчательный язык раскладки, а
> переключение
> реально происходит только установкой "setxkbmap -model pc104 -layout
> ru"
> в kxkbd для каждой локали причём нельзя включать латинскую группу.
Больше всего в этой истории с Keysym мне не нравилось, что у Иксов есть
своя локаль, которая выставляется
из внешней локали, и в соответствии с которой транслируются клавиши в
символы.
Если по простому — вводить можно только символы, подходящие под текущую
локаль.
В связи с чем в чисто иксовых приложениях ввести что-то неподходящее
нельзя, а в остальных (
ну большей частью это вынесено в библиотеки типа gtk/Qt) таскается
самостоятельная
функция трансляции, не обращающая внимания на локаль.
Ну а то, что «переключением раскладки» в Иксах мы всегда переключаем на
самом деле только группу, это край.
При том, что о нормальном переключении именно раскладок (с индикацией)
никто и не заботится.
--
С уважением,
Виталий Липатов,
Etersoft
Подробная информация о списке рассылки Sisyphus