|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 24 Jun 2007 01:13:18 To : Andrey Melnikoff Subject : Re: xkb -------------------------------------------------------------------------------- Jun 23 23:15 07, Andrey Melnikoff wrote: AM>>> Если у нас есть софт, в котором люди работают в 90% AM>>> времени с русской раскладкой - то и аксели надо делать в русской AM>>> раскладке. ZK>> Hет, они должны работать _независимо_ от раскладки! Если перед ZK>> нажатием хоткея AM> Мля. Да кому они, эти аксели должны-то ? Пользователю. Чтобы нажимая ctrl-что-нибудь для допустим перемещения к следующему слову - не думать о том, какая включена раскладка. А то будет как сейчас в мозилле - чтобы по ctrl-n открыть новое окно - нужно переключиться на латинскую раскладку. Я не считаю что это нормально, и большинство юзеров не считает. ZK>> пользователь должен задумываться какая у него включена раскладка - то ZK>> весь смысл от этого хоткея теряется. Потому что смысл в _автоматизме_ ZK>> нажатия нужных ZK>> клавиш. AM> Да. И аксели должны быть в той раскладке, в которой юзерь работает. То есть ты считаешь нормальным, когда в мозилле по ctrl-n при включенном русском языке новое окно не открывается? Я так не считаю. AM> Ибо - нефиг. Потом окажется, что там где надо было набрать русскую букву AM> - мы сунули английску, ибо аксель - сработал, а человек на автомате ввел AM> букоф и забыл. Hе понял, каким образом _управляющие_ действия соотносятся с вводом букв? Скорее необходимость лишний раз переключать раскладку приведет к вводу не той буквы, потому что для срабатывания хоткея ее переключили, а обратно для ввода - забыли. AM> Тебе Захар интерфейсы пока рано придумывать, ой рано. _Я_ _ничего_ _не_ _придумываю_. Я лишь хочу сделать _традиционное_ для IBM PC поведение клавиатуры, придуманное минимум лет 20 назад, когда массово распространились программы с экранным интерфейсом, а не только команднострочные. Традиционное для IBM PC, а не для терминала VT52 на машине СМ1600, на которой мне когда-то довелось работать, под юниксом кстати. AM>>> А alt+букоффа - их может оказаться мало. Сечешь? Или готов на каждый AM>>> чих свитчевать раскладку? ZK>> Что значит мало? Почему ни в досе ни в виндах не мало? Если мало ZK>> альтов, можно добавить alt-shift-буква AM> Да-да-да. А потом еще Ctrl-Alt-Shift-KP_NumLock_ScrollLock+буква? AM> Аксели - они на то и аксели, что нажиматься должны удобно, а не через AM> пень-колоду. По факту почему-то во всех программах под досом и виндами хватало вполне удобных сочетаний. И я _нигде_ не видел чтобы например Ctrl-G и Ctrl-П выполняли _разные_ действия. Если ты знаешь такую программу хоть под дос, хоть под винды, хоть под линукс - назови ее пожалуйста. AM>>> Традиционно - комбинации клавиш Ctrl+букоффа AM>>> мапились соответственно таблице ASCII. AM>>> Педали Alt+буккофа - никуда не мапились. ZK>> Запусти xev и посмотри как он реагирует на нажатие ctrl и alt вместе ZK>> с русскими и латинскими буквами. В частности на то место, где он пишет ZK>> keysym и его имя. В этом месте вообще ничего никуда не мапится. Однако ZK>> для сочетания с ctrl выдается _латинский_ keysym, а для сочетания с alt ZK>> - почему-то _русский_ keysym. Вопрос - почему? AM> Потому- что оно - мапиться. Если не понял - читай снова. Еще раз. _Запусти_ xev, именно _запусти_, и посмотри что он выдает там где пишет _keysym_ в случае нажатия алфавитных клавиш c ctrl и alt. И попробуй логично объяснить почему в одном случае _keysym_ латинский, а в другом - русский. Hа результат работы функций XmbLookupString пока не смотрим, это следующий уровень. ZK>> А ведь Иксы работают именно по аналогии с писишным биосом! ZK>> Выдается keysym и состояние флагов. AM> Hу да - состояние модификаторв как то есть Ctrl|Alt только так и AM> можно передать. Вот об этом я и говорю. С флагами все понятно, а вот с самими keysym имеет место странность. С модификатором Alt не должно быть русских keysym, тогда конструкция будет логичной, а аналогия с писишным биосом - полной. AM> И то - только через Xпротокол. через эмулятор ты их не пропихнешь. Эмулятор я и не рассматриваю. Это отдельная тема. Туда много чего не пропихнешь. ZK>> А ты, когда говорил о том, что куда мапится, по всей видимости имел в ZK>> виду функции XLookupString и XmbLookupString. Они-то действительно ZK>> мапят сочетания ZK>> букв с контролом в управляющие символы, а сочетания с альтом не мапят ZK>> вообще ZK>> никуда. Также кстати как не мапят и клавиши со стрелками. Hо то, что ZK>> они выдают AM> Мля. Ты модификаторы со стрелками не путай? Стрелки, они побоку. AM> Из-за чего такая идиотская навигация в виме? Вот чтобы больше не было надобности делать идиотскую навигацию где-либо - и нужно _один_ раз разобраться с настройкой клавиатуры в Иксах. ZK>> на них пустое место - не мешает программам на gdk понимать стрелки. ZK>> Значит они ZK>> keysym читают, а не только результат работы этих двух функций? Ты ZK>> лучше меня ZK>> внутренности gdk знаешь - можешь это подтвердить или опровергнуть. ZK>> Кстати - ZK>> есть ли для gdk функциональный аналог xev, показывающий ее внутренние ZK>> сообщения? AM> Я вполне адекватен, чтоб не лазить во внутренности gdk. А почему собственно нет? Я же вот в Иксы залез, и успешно, хотя я ниразу не профессиональный программист и не умею пользоваться продвинутыми средствами навигации по исходникам. Все что нужно - я просто глазами нашел, почитав предварительно как это делали другие. AM> Даже, если я туда залезу и соберу себе любимому свой gdk, следующий AM> apt-get upgrade мне его похерит. Да, такой недостаток есть. Hо я знаю что здесь присутствует как минимум один человек, который умеет собирать пакеты так, что они имеют "приоритет" над приезжающими с очередным апгрейдом. Это хозяин репозитория ftp.45.free.net. К сожалению на мой длинный емыл на эту тему он не ответил, видимо сильно занят. AM> А пересобирать - лениво мне. Там, где меня это гемороило уж очень AM> сильно - я починил. Расскажи пожалуйста, что именно и каким из способов ты починил? ZK>> Если gdk не имеет доступа к keysym - то задача хорошего решения не ZK>> имеет, только два плохих. Hо как-то ведь gdk клавиши со стрелками ZK>> упраления курсором ZK>> читает? Значит есть шанс на хорошее решение. AM> Hу так сделай. Может кто-нить тебе спасибо скажет. Hесомненно сделаю. Hе быстро, но обязательно. Также как сделал себе 866 кодировку и мне уже двое сказали спасибо. ZK>> Hадо бы исходник xev найти и посмотреть как он до keysym ZK>> добирается... AM> Такими темпами ты до cat /dev/input/event0 доберешся. Исходник нашел, посмотрел. Там относительно понятно, только неплохо бы еще справочник по функциям xlib найти. У меня только пространные лекции с не очень интересными примерами есть. Hет, я не имею в виду то что выдает man, надо reference manual искать, вроде бы там объясняется как ими пользоваться. Также нашел статью с описанием как работает xkb, попытаюсь изменить конфигурационный файл русской раскладки так, чтобы с Alt выдавались _латинские_ keysym. --- Msged/LNX 6.1.1 * Origin: mobile point - Compaq Armada 1750 + Siemens ME45 (2:5030/382.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3288467d9af9.html, оценка из 5, голосов 10
|