[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: XFree86 3.3.6 & xrus
> Имеется следующая проблема:
> Есть X-сервер на котором расширение Xkb отсутствует в принципе
> (железный X-терминал).
> Руссификация сделана через xrus.
>
> Пока у меня стояла XFree 3.3.2.3 все работало прекрасно - где можно через
> xkb, а на этом терминале без оной.
>
> После апгрейда на XFree 3.3.6 (из неофициальных апдейтов к debian,
> с http://www.debian.org/~vincent)
>
> русские буквы при установленной локали вводиться перестали.
Я уже не раз объяснял - наличие/отсутствие xkb и ввод русских букв -
вещи малосвязанные.
> При этом _XKB_CHARSET=iso8859-1 тоже не помогает.
Это действует только на XLookupString. А она, кстати, без XKB и так
просто отбрасывает старший байт в keysym, так что ей все-равно -
Cyrillic коды или восьмибитный koi8.
А вот если приложения используют XmbLookupString, то там происходит
дополнительная перекодировка keysym в char и она сильно локалезависимая.
> С xterm-ом я справился посредством запуска его с локалью en_US и
> переключения локали обратно из ~/.basrc.
Это понятно. Сам xterm стартует в en_US и отрабатывает ввод
соответственно, а запускаемые в нем приложения (консольные)
получают русскую locale.
> Но вот как бы эту проблему решить полноценно?
> Может ли помочь прописывание в xmodmap кодов 0x6xx?
Ну, так надо пробовать. Если этот терминал поддерживает перезагрузку
modmap - будет работать.
Кстати, в последних xrus есть уже такая раскладка. Называется,
скорее всего - cyrillic.
Ну а если терминал не поддерживает, выход один - "портить" иксовую
locale (написать в ней encoding_name iso8859-1).
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia