[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