|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Andrey Melnikoff 2:5020/400 23 Jun 2007 23:15:19 To : Zahar Kiselev Subject : Re: xkb -------------------------------------------------------------------------------- Zahar Kiselev <Zahar.Kiselev@p1.f382.n5030.z2.fidonet.org> wrote: ZK> Hello Andrey! ZK> Jun 21 01:45 07, Andrey Melnikoff wrote: IA>>>>> Можэт, пропатчить одну кривую gtk? AM>>>> Может. Кто будет доносить до аффтароф? А если кто-то захочет AM>>>> сделать педаль AM>>>> именно на Ctrl+Я - он что должен будет делать ? ZK>>> Извращаться. Потому что желание явно противоестественное. AM>> Это для тебя противоестественное. Для меня вот cp866 в иксах - AM>> противоестественно. ZK> Так. Давай по порядку. Про 866 пока можешь вообще забыть, так как этот глюк ZK> и в 1251 проявляется тоже, и как говорят - в KOI8R тоже. Оно приявляется безотносительно KOI8/CP1251/CP866 ибо унутри оно - в gdk - юникод. ZK> Так что будем обсуждать клавиатурный ввод безотносительно локали, ну может ZK> быть исключая юникод, и то только потому что я в юникоде это не проверял. ZK> Подозреваю что там то же самое. AM>> Если у нас есть софт, в котором люди работают в 90% AM>> времени с русской раскладкой - то и аксели надо делать в русской AM>> раскладке. ZK> Hет, они должны работать _независимо_ от раскладки! Если перед нажатием ZK> хоткея Мля. Да кому они, эти аксели должны-то ? ZK> пользователь должен задумываться какая у него включена раскладка - то весь ZK> смысл от этого хоткея теряется. Потому что смысл в _автоматизме_ нажатия ZK> нужных клавиш. Да. И аксели должны быть в той раскладке, в которой юзерь работает. Ибо - нефиг. Потом окажется, что там где надо было набрать русскую букву - мы сунули английску, ибо аксель - сработал, а человек на автомате ввел букоф и забыл. Тебе Захар интерфейсы пока рано придумывать, ой рано. AM>> А alt+букоффа - их может оказаться мало. Сечешь? Или готов на каждый AM>> чих свитчевать раскладку? ZK> Что значит мало? Почему ни в досе ни в виндах не мало? Если мало альтов, ZK> можно добавить alt-shift-буква Да-да-да. А потом еще Ctrl-Alt-Shift-KP_NumLock_ScrollLock+буква? Аксели - они на то и аксели, что нажиматься должны удобно, а не через пень-колоду. ZK>>> Традиционно, сочетания кнопок с Ctrl и Alt всегда работали вне ZK>>> зависимости от ZK>>> положения переключателя клавиатуры рус/лат. Да и сейчас в виндах ZK>>> работают. И только у нас в линуксе глюк. AM>> Мля. Захар. Ты хоть почитай исторические тугаменты чтоль. ZK> Читал. Hо это "исторические причины" не оправдывают имеющийся глюк. AM>> Традиционно - комбинации клавиш Ctrl+букоффа AM>> мапились соответственно таблице ASCII. AM>> Педали Alt+буккофа - никуда не мапились. ZK> Запусти xev и посмотри как он реагирует на нажатие ctrl и alt вместе с ZK> русскими и латинскими буквами. В частности на то место, где он пишет keysym ZK> и его имя. В этом месте вообще ничего никуда не мапится. Однако для ZK> сочетания с ctrl выдается _латинский_ keysym, а для сочетания с alt - ZK> почему-то _русский_ keysym. Вопрос - почему? Потому- что оно - мапиться. Если не понял - читай снова. Оно - мапиться. Мапиться. AM>> потом начались писюки. AM>> И bios научили сувать в шареный сегмент доса флаги клавиатуры AM>> (в нашем случае евенты от gdk с AM>> GDK_Control|GDK_Alt|GDK_KP_NumLock|...). AM>> Всяческие извращены, которые надыбали как лезить в клавиатуру AM>> напрямую - и тут началось.. ZK> А ведь Иксы работают именно по аналогии с писишным биосом! Еще раз запусти ZK> xev и посмотри. Выдается keysym и состояние флагов. Hе я это придумал, а ZK> авторы иксов. Hу да - состояние модификаторв как то есть Ctrl|Alt только так и можно передать. И то - только через Xпротокол. через эмулятор ты их не пропихнешь. ZK> А ты, когда говорил о том, что куда мапится, по всей видимости имел в виду ZK> функции XLookupString и XmbLookupString. Они-то действительно мапят ZK> сочетания букв с контролом в управляющие символы, а сочетания с альтом не ZK> мапят вообще никуда. Также кстати как не мапят и клавиши со стрелками. Hо ZK> то, что они выдают Мля. Ты модификаторы со стрелками не путай? Стрелки, они побоку. Из-за чего такая идиотская навигация в виме? ZK> на них пустое место - не мешает программам на gdk понимать стрелки. Значит ZK> они keysym читают, а не только результат работы этих двух функций? Ты лучше ZK> меня внутренности gdk знаешь - можешь это подтвердить или опровергнуть. ZK> Кстати - есть ли для gdk функциональный аналог xev, показывающий ее ZK> внутренние сообщения? Я вполне адекватен, чтоб не лазить во внутренности gdk. Даже, если я туда залезу и соберу себе любимому свой gdk, следующий apt-get upgrade мне его похерит. А пересобирать - лениво мне. Там, где меня это гемороило уж очень сильно - я починил. AM>> Здесь весь вопрос в том - что именно надо сделать с gdk - сломать её AM>> совсем, чтоб она и для дефолтной раскладки давала эвент AM>> GDK_Control+GDK_язык_букофа, и заставлять буржуев пользоваться AM>> встроенной функцией для проевращения этого евента в их любимое AM>> ^lat-буковфа. AM>> Или наоборот - расширить понятие клавиатурного евента и гнать там AM>> сразу GDK_Control+GDK_язык_букофа и отдельно ^lat-буккофа. ZK> Если gdk не имеет доступа к keysym - то задача хорошего решения не имеет, ZK> только два плохих. Hо как-то ведь gdk клавиши со стрелками упраления ZK> курсором читает? Значит есть шанс на хорошее решение. Hу так сделай. Может кто-нить тебе спасибо скажет. ZK> Hадо бы исходник xev найти и посмотреть как он до keysym добирается... Такими темпами ты до cat /dev/input/event0 доберешся. --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/6438d2aaa900.html, оценка из 5, голосов 10
|