[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Re: Re: Re: _ _____ __ __ _____, ___ Xkb.]
> > Теоретически, когда юникод будет все рулить, достаточно
> > будет
> > выставить нужную utf8 локаль, имея при этом сортировку по
> > буквам всех
> > поддерживаемых алфавитов, возможность помешать русский
> > с немецким,
> > и.т.д.
>
> С хmodmap будет то же самое, но количество раскладок клавиатуры
> ограничено только фантазией пользователя.
Вот! Правильная мысль.
Хоть это можно теперь не объяснять - что "кирилические" символы можно
(и нужно) использовать не только в xkb но и без оного.
Только одна маленькая поправка.
В xmodmap количество раскладок еще сильнее ограничено, чем в xkb.
В xkb четыре группы, причем в самой группе может быть несколько алфавитов.
А в xmodmap только два алфавита (если в них нужны и большие и маленькие буквы).
А "ограничено только фантазией пользователя" будет только при использовании
xruskb. А xruskb - это "надстройка", причем достаточно серьезная.
Он даже предпринимает отдельные меры, чтобы обойти баги Xlib (которые
на самом деле правятся элементарно :-).
(Кстати, все в курсе, что в последних версиях xrus запоминает раскладку
отдельно для каждого окна? В общем-то метод тот же, что и в xxkb. Только
я все-таки на год раньше догадался :-)
Ну так вот и пример к вопросу - "зачем нужен xkb".
Кто-то, неудовлетворенный возможностями xmodmap, написал "надстройку" в виде
xruskb. А кто-то другой засунул нечто подобное в сам Xserver.
Ну а что лучше - отдельная программка с кучей файлов в привычном формате
xmodmap или xkb со своим форматом - это скорее дело вкуса.
> 3. Корректные кириллические KeySym.
>
> Вот их-то я и пытаюсь сравнить с Xkb,
Не надо их сравнивать. Можно "старые" koi8 засунуть в xkb.
А можно - "новые" cyrillic в xmodmap.
Работа приложений в locale-зованой среде будет зависеть именно от keysym'ов,
а не от того, какими "надстройками/пристройками" они грузятся в сервер.
> > Ясное дело, что мертвые клавиши работают вовсю. Можно
> ^^^^^^^^^^^^^^^
> Вот наконец прозвучало что-то что похоже на преимущество Xkb перед
> Xmodmap. Насколько я понимаю, средствами xmodmap не сделаешь мертвые
> клавиши. Или я опять не прав, также как в случае с keysym?
Угу. Не прав.
Сервер в любом случае отдает только "сканкоды" и набор модификаторов.
А переводом в символы занимается либо Xlib, либо само приложение.
"Мертвые клавиши" делаются либо через Compose, либо самим приложением.
> А, значит даже в Xkb мертвые клавиши не отрабатываются на уровне
> X-сервера?
Они _нигде_ не отрабатываются "на уровне сервера".
Другое дело, что xkb - не только модуль сервера, но и кусок в xlib.
Просто потому, что формат раскладки не только на уровне текстовых конфигов,
но и "внутри" сильно отличается от core protocol'ных.
Но обработкой dead keys занимается другая часть Xlib, которая работает
"поверх" как xkb, так и core protocol.
> А вообще есть еще такая система Plan9. Не слышал?
> Там внутри везде UCS2, что гораздо лучший мех чем UTF8, поскольку всякие
> поиски, сортировки и прочие строковые операции с символами фиксированной
> длины работают быстрее.
Дык. Так и надо!
А что, есть такие программы/системы, что ищут/сортируют прямо в UTF8?
P.S. А что касается преемуществ xkb - они конечно есть, но практически
нигде никем не используются. И похоже, что и не нужны никому (ну или
большинству).
(Я нашел несколько багов из-за которых некоторые "фичи" xkb просто не
работали "с рождения". За шесть-семь лет их никто не заметил.
Точнее - замечали, но в результате не стали искать, а просто
обошлись без этих "фич".)
Единственный аргумент за xkb - вся нынешняя интернационализация в
xfree86 опирается на него. И настройка национальной клавиатуры во всяких
"конфигурялках" настраивает именно через xkb.
Никто уже не будет поставлять в дистрибутиве xfree xmodmap-раскладки
на все случаи жизни. А вот в xkb новые клавиатуры (чешские, "прибалтийские"
и т.п.) добавляются постоянно. Да и всякие хитрые комбинации для переключения
потихоньку пополняются.
Но у нас в России как всегда свой путь - xruskb!!!
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia