gLobster @ 13-10-2007 09:07:07

Сегодня мне приехала моя BT клава (Nokia SU-8W). И теперь я пытаюсь начать ей пользоваться. С одной стороны, я конечно читал про вопросы, задаваемые владельцами, но реалии оказались всё-равно неожиданными. Надеюсь, что кто-то из читающих этот форум уже приручил клаву и поделится со мной шаманством, но пока я слегка разочарован.

Самое первое разочарование - переключение раскладок. Пока я не нашёл нигде информации о том, можно ли это делать с клавы. Оказывается "из коробки" переключения нет. Можно в апплете управления выбрать раскладку и набираешь только в ней. Есть возможность временно изменить раскладку нажав AltGr, но нигде не нашёл как задать, что используется в качестве второй раскладки. В результате, если установлена English USA, то по altgr идут буквы с умляутами. Если же выбрать русскую, то по altgr - английские. На худой конец, для ввода русских текстов, слегка англоязырованных может пойти.

Немного поискав нашёл maemo-xkb-plugin. Поставил. Появилась возможность использовать две раскладки, выбранные в этом плагине. Но переключение всё-равно тыканьем в апплет на статус баре. Причём почему-то у меня там аббревиатура раскладки не показывается - только квадаратики :-(

Дальше больше. Вроде как клавиатура у меня "родная" для таблетки, но то, что вводится по нажатию на клавиши не совпадает с написанным на кнопках. Очень захотелось привести бы это в соответствие. Но чем - не нашёл. Оказится на N800 не используется xmodmap. Как тогда править раскладку?

Пока я в сухом осадке. Клавиатура есть, но пользоваться ей невозможно (я не умею). Даже если закрыть глаза на сложности переключения между раскладками,  просто не возможно вводить текст. Есть ряд символов, которые с клавиатуры просто не ввести, а как без них набирать - не понятно. Ведь как только таблетка видит клаву, виртуальная становится не доступна! А с клавы не ввести ":;-~` а как без этих крючёчков вообще жить? :-(

gLobster @ 13-10-2007 11:46:55

Вдогонку. Уже нашёл xkb файлы. А как на клаве активировать level 4?  Правильно понимаю, что:
просто - левел 1
с шифтом - левел 2
с альтгр - левел 3
а левел 4?

Wall @ 13-10-2007 12:02:10

Может это поможет?
http://community.livejournal.com/ru_maemo/14797.html   

gLobster @ 13-10-2007 13:02:32

Да, это уже облегчает. Уже нашёл все файлы, начал разгребать, а тут такая подсказка! Если получится - выложу свой вариант.

dik @ 15-10-2007 04:27:54

заказываю stowaway, тоже буду разгребать...

gLobster @ 15-10-2007 05:36:21

Ну в общем первый блин есть. Для начала - реверансы.
1. г-ну Wall за ссылку   ;
2. Автору того блога, на который он меня послал;
3. г-ну Ивану Паскалю за подробнейшее описание    XKB .

Я не пошёл предложенным путём, а попытался решить проблему изначально. Для начала я выяснил, что в N800 действительно полноценный XKB. Дальше я нашёл, что все файлы конфигураций XKB лежат в /usr/share/X11/xkb . Вся структура фалов там прозрачна и очевидна, за исключением каталога rules. Как я понял - это надстройка над XKB, позволяющая конфигурировать гуёвый интерфейс по выбору раскладок. Поскольку я не ставил мегацели перенастроить весь XKB. а хотел только сделать реально рабочую двухраскладочную работу, то я пошёл по пути модернизации существующей раскладки. Всё, что касалось клавиатуры Nokia SU-8W было сложено в каталог symbols/nokia_vndr. Русская раскладка лежала в файле ru. начинатвшись за три дня Ивана Паскаля я просто взял и переписал эту раскладку, изменив конфигурацию так, чтобы вместо одной группы с 4-мя уровнями стало 2 группы. Попутно сделал, чтобы дефолтным был английский язык, а вторым - русский. В качестве переключателя ракладок пока задал AltGr. Чтобы не напороться на подводные дефолтные камни, везде в лоб прописал типы клавиш. И, самое удивительное, всё заработало сразу. Даже не пришлось перезагружать машинку. Подключил клаву и получил работу на двух языках с переключением раскладок с клавиатуры!

Собственно это был первый этап. Здесь прилагаю получившийся результат. Дальше буду исправлять несоответствие символов и надписей и биться за правильные Ctrl и Alt. Ждите продолжения :D Поскольку файлики тут не приложить, выкладываю некузяво содержимое файла, поскольку приложить его никак

Код:

// We don't include ru in this file, because we want to achieve exact
// parity with the SU-8W as used on other Nokia devices.

// Russian layout on first two levels, US layout on third and fourth.
partial alphanumeric_keys default
xkb_symbols "basic" {
    name[Group1]= "English";
    name[Group2]= "Russian";

    // XXX Would be nice if this actually generated a tilde.
    key <TLDE> {
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ grave  ],
        symbols[Group2] = [ Cyrillic_io,   Cyrillic_IO ] };
    key <AE01> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 1,        exclam],               
        symbols[Group2] = [ 1,        exclam] };
    key <AE02> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 2,        at],               
        symbols[Group2] = [ 2,        at] };
    key <AE03> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 3,       numbersign],               
        symbols[Group2] = [ 3,       numbersign] };
    key <AE04> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 4,       dollar],               
        symbols[Group2] = [ 4,       dollar] };
    key <AE05> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 5,       percent],               
        symbols[Group2] = [ 5,       percent] };
    key <AE06> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 6,       dead_circumflex],               
        symbols[Group2] = [ 6,       dead_circumflex] };
    key <AE07> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 7,       ampersand],               
        symbols[Group2] = [ 7,       ampersand] };
    key <AE08> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 8,       asterisk],               
        symbols[Group2] = [ 8,       asterisk] };
    key <AE09> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 9,       parenleft],               
        symbols[Group2] = [ 9,       parenleft] };
    key <AE10> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ 0,       parenright],               
        symbols[Group2] = [ 0,       parenright] };
    key <AE11> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ minus,   underscore],               
        symbols[Group2] = [ minus,   underscore] };
    key <AE12> { 
        type = "TWO_LEVEL",
        symbols[Group1] = [ equal,   plus],               
        symbols[Group2] = [ equal,   plus] };

    key <AD01> {
        type = "ALPHABETIC",
        symbols[Group1] = [ q,                 Q                 ],               
        symbols[Group2] = [ Cyrillic_shorti,   Cyrillic_SHORTI   ] };
    key <AD02> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ w,                 W                 ],               
        symbols[Group2] = [ Cyrillic_tse,      Cyrillic_TSE      ] };
    key <AD03> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ e,                 E                 ],               
        symbols[Group2] = [ Cyrillic_u,        Cyrillic_U        ] };
    key <AD04> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ r,                 R                 ],               
        symbols[Group2] = [ Cyrillic_ka,       Cyrillic_KA       ] };
    key <AD05> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ t,                 T                 ],               
        symbols[Group2] = [ Cyrillic_ie,       Cyrillic_IE       ] };
    key <AD06> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ y,                 Y                 ],               
        symbols[Group2] = [ Cyrillic_en,       Cyrillic_EN       ] };
    key <AD07> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ u,                 U                 ],               
        symbols[Group2] = [ Cyrillic_ghe,      Cyrillic_GHE      ] };
    key <AD08> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ i,                 I                 ],               
        symbols[Group2] = [ Cyrillic_sha,      Cyrillic_SHA      ] };
    key <AD09> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ o,                 O                 ],               
        symbols[Group2] = [ Cyrillic_shcha,    Cyrillic_SHCHA    ] };
    key <AD10> {                                               
        type = "ALPHABETIC",                                   
        symbols[Group1] = [ p,                 P                 ],               
        symbols[Group2] = [ Cyrillic_ze,       Cyrillic_ZE       ] };
    key <AD11> {
        type[Group1] = "TWO_LEVEL",
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ bracketleft,       braceleft         ],               
        symbols[Group2] = [ Cyrillic_ha,       Cyrillic_HA       ] };
    key <AD12> {
        type[Group1] = "TWO_LEVEL",
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ bracketright,      braceright        ],               
        symbols[Group2] = [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };

    key <AC01> {
        type = "ALPHABETIC",
        symbols[Group1] = [ a,                 A                 ],               
        symbols[Group2] = [ Cyrillic_ef,       Cyrillic_EF       ] };
    key <AC02> {
        type = "ALPHABETIC",
        symbols[Group1] = [ s,                 S                 ],               
        symbols[Group2] = [ Cyrillic_yeru,     Cyrillic_YERU     ] };
    key <AC03> {
        type = "ALPHABETIC",
        symbols[Group1] = [ d,                 D                 ],               
        symbols[Group2] = [ Cyrillic_ve,       Cyrillic_VE       ] };
    key <AC04> {
        type = "ALPHABETIC",
        symbols[Group1] = [ f,                 F                 ],               
        symbols[Group2] = [ Cyrillic_a,        Cyrillic_A        ] };
    key <AC05> {
        type = "ALPHABETIC",
        symbols[Group1] = [ g,                 G                 ],               
        symbols[Group2] = [ Cyrillic_pe,       Cyrillic_PE       ] };
    key <AC06> {
        type = "ALPHABETIC",
        symbols[Group1] = [ h,                 H                 ],               
        symbols[Group2] = [ Cyrillic_er,       Cyrillic_ER       ] };
    key <AC07> {
        type = "ALPHABETIC",
        symbols[Group1] = [ j,                 J                 ],               
        symbols[Group2] = [ Cyrillic_o,        Cyrillic_O        ] };
    key <AC08> {
        type = "ALPHABETIC",
        symbols[Group1] = [ k,                 K                 ],               
        symbols[Group2] = [ Cyrillic_el,        Cyrillic_EL      ] };
    key <AC09> {
        type = "ALPHABETIC",
        symbols[Group1] = [ l,                 L                 ],               
        symbols[Group2] = [ Cyrillic_de,       Cyrillic_DE       ] };
    key <AC10> {
        type[Group1] = "TWO_LEVEL",
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ semicolon,         colon             ] ,               
        symbols[Group2] = [ Cyrillic_zhe,      Cyrillic_ZHE      ] };
    key <AC11> {
        type[Group1] = "TWO_LEVEL",
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ apostrophe,        quotedbl          ],               
        symbols[Group2] = [ Cyrillic_e,        Cyrillic_E        ] };

    key <AB01> {
        type = "ALPHABETIC", 
        symbols[Group1] = [ z,                 Z                 ],               
        symbols[Group2] = [ Cyrillic_ya,       Cyrillic_YA       ] };
    key <AB02> {
        type = "ALPHABETIC",
        symbols[Group1] = [ x,                 X                 ],               
        symbols[Group2] = [ Cyrillic_che,      Cyrillic_CHE      ] };
    key <AB03> {
        type = "ALPHABETIC",
        symbols[Group1] = [ c,                 C                 ],               
        symbols[Group2] = [ Cyrillic_es,       Cyrillic_ES       ] };
    key <AB04> {
        type = "ALPHABETIC",
        symbols[Group1] = [ v,                 V                 ],               
        symbols[Group2] = [ Cyrillic_em,       Cyrillic_EM       ] };
    key <AB05> {
        type = "ALPHABETIC",
        symbols[Group1] = [ b,                 B                 ],               
        symbols[Group2] = [ Cyrillic_i,        Cyrillic_I        ] };
    key <AB06> {
        type = "ALPHABETIC",
        symbols[Group1] = [ n,                 N                 ],               
        symbols[Group2] = [ Cyrillic_te,       Cyrillic_TE       ] };
    key <AB07> {
        type = "ALPHABETIC",
        symbols[Group1] = [ m,                 M                 ],               
        symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
    key <AB08> {
        type[Group1] = "TWO_LEVEL",
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ comma,             less              ],               
        symbols[Group2] = [ Cyrillic_be,       Cyrillic_BE       ] };
    key <AB09> {
        type[Group1] = "TWO_LEVEL",
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ period,            greater           ],               
        symbols[Group2] = [ Cyrillic_yu,       Cyrillic_YU       ] };
    key <AB10> {
        type = "TWO_LEVEL",
        symbols[Group1] = [ slash,             question          ],               
        symbols[Group2] = [ slash,             question          ] };

    include "group(toggle)"
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
    name[Group1] = "Russian - no dead keys";

    include "nokia_vndr/ru(basic)"

    key <AE06> {
        type = "TWO_LEVEL",
        symbols[Group1] = [ 6,       asciicircum],               
        symbols[Group2] = [ 6,       asciicircum] };
};
Wall @ 15-10-2007 06:04:52

По идее неплохо бы в конце ваших изысканий получить некую инструкцию как это делать и пакет[ы] для ленивых.
Это реально, как думаете?

gLobster @ 15-10-2007 06:09:31

Инструкцию как править файл самому или как заменить штатный на мой? Пакет не думаю, что сложно сделать - это же один файл заменить. Хорошо бы тогда чуть потестировать и потом задебианю

Wall @ 15-10-2007 06:49:56

Это на ваше усмотрение. Если вы где-то об этом прочитали, то можно и просто линк, но лучше какое-то внятное описание.
И еще хотелось бы, чтобы это как-то можно было бы выбирать в контрольной панели, там где языки для клавиатуры.

gLobster @ 15-10-2007 06:56:25

Ну на самом деле я просто разобрался в конфигурации xkb достаточно, для того, чтобы отредактировать существующую раскладку. Другими словами я меняю "кривую" предлагаемую Нокией на свою. Так что, с точки зрения выбора в панели управления, ничего не поменялось. Просто вместо штатной теперь другая. Добавить ещё одну в список я не рискнул, поскольку добавление новой затрагивает очень большое количество файлов, не всегда, для меня, очевидных. Побоялся сломать механизмы настройки. Но описать собственно какие изменения я сделал в файл - могу, поскольку там всё очень однотипно. Только уже не сегодня.

Wall @ 15-10-2007 06:59:44

Естественно не сегодня. Жаль, что другую нельзя сделать, было бы на мой взгляд лучше.

gLobster @ 15-10-2007 07:33:53

Поскольку был вопрос о том, что же я поменял, я решил описать поподробней.

Как я уже говорил, все файлы, относящиеся к подсистеме xkb лежат от /usr/share/X11/xkb. Самое главное описание, определяющее код какого символа будет выдан при нажатии на любую клавишу, определяется в каталоге symbols. Там я нашёл подкаталог с заманчивым именем nokia_vndr, в котором внутри файлов упомниалось о клавиатуре Nokia SU-8W. ВНачале я пытался найти конфигурациооные файлы XFree86, которые задают собственно какие выбраны раскладки (по аналогии с десктопным компьютером), но подумав, решил что конфигурация вряд хранится в них. Ведь в таблетке раскладки можно менять на лету. Ну и тогда, порывшись в файлах, я нашёл вот такой:
rules/base В нём упоминались каталоги и файлы, ссылающиеся на раскладки для моей клавиатуры.

Код:

! $nokiamodels = su-8w
! $nokialayouts = da de fi no ru se us

...

! model         layout                          =       symbols
  abnt2         br                      =       pc+br
  $nokiamodels  $nokialayouts           =       nokia_vndr/nokia(%m)+nokia_vndr/%l%(v)
  $nokiamodels  jp                      =       nokia_vndr/nokia(%m)+pc+jp(latin)+jp:2
  $nokiamodels  $nonlatin               =       nokia_vndr/nokia(%m)+pc+us+%l%(v):2
  $nokiamodels  *                       =       nokia_vndr/nokia(%m)+pc+%l%(v)

судя по всему, эти строчки определяют из каких файлов "собирается" раскладки для Nokia SU-8W.
$nokiamodels = su-8w определяет идентификатор клавы
$nokialayouts = da de fi no ru se us возможные варианты раскладок
$nokiamodels  $nokialayouts           =       nokia_vndr/nokia(%m)+nokia_vndr/%l%(v) задаёт какие файлы будут использоваться. В частности для моего случая %m="su-8w", %l="ru". Получается что русская раскладка строится из следующей конфигурации: nokia_vndr/nokia(su-8w)+nokia_vndr/ru. Первый файл определяет поведение управляющих и системных клавиш, а второй nokia_vndr/ru - буквенную раскладку.

Править я стал только второй. Файл начинается со следующего описания:

Код:

xkb_symbols "basic" {
    name[Group1]= "Russian";

    // XXX Would be nice if this actually generated a tilde.
    key <TLDE> { [ Cyrillic_io,          Cyrillic_IO,          grave                        ] };
    key <AE01> { [ 1,                    exclam,               exclam,        exclam        ] };
    key <AE02> { [ 2,                    at,                   quotedbl,      at            ] };

Здесь оговаривается имя только для одной группы, а дальше перечисляются команды key с указанием имени клавиши, которую конфигурируют и строки из четырёх значений разделённых запятыми, соответствующих четырём состояниям нажатия управляющих клавиш. Первое - ничего не нажато. Второе - нажат шифт (для букв ещё если нажат капслок), третье - нажата клавиша AltGr, четвёртое - нажаты и AltGr и шифт или капслок. Из прочитанных описаний я усвоил, что для того, чтобы на клавиатуре переключались несколько раскладок с фиксацией, каждая должна была быть в отдельнйо группе. Поэтому я изменид описание файла, сделав 2 группы:

Код:

xkb_symbols "basic" {
    name[Group1]= "English";
    name[Group2]= "Russian";

    // XXX Would be nice if this actually generated a tilde.
    key <TLDE> {
        type[Group2] = "ALPHABETIC",
        symbols[Group1] = [ grave  ],
        symbols[Group2] = [ Cyrillic_io,   Cyrillic_IO ] };
    key <AE01> {
        type = "TWO_LEVEL",
        symbols[Group1] = [ 1,        exclam],
        symbols[Group2] = [ 1,        exclam] };
    key <AE02> {
        type = "TWO_LEVEL",
        symbols[Group1] = [ 2,        at],
        symbols[Group2] = [ 2,        at] };

Причём первой я сделал английскую, второй русскую. На самом деле строки name[Group1]= "English"; не нужны особенно, поскольку нет приложения,, показывающего текущую раскладку. Самое главное касалось описания самих клавиш. Поскольку я не был уверен, что по дефолту типы (type)клавиш указаны как надо, здесь я дополнительно все их прописал ещё раз. ALPHABETIC - это буква, у которой регистр меняется от шифта и капслок, а TWO_LEVEL - просто клавиша, каоторая реагирует только на шифт, но не на капслок.  symbols[Group1] определяет что выводится на латинской раскладке, а symbols[Group2] = что на русской.

Ну и в конце заменив

Код:

include "level3(ralt_switch)"

на

Код:

include "group(toggle)"

я задал, что у меня не используется, как управляющий AltGr, а он используется для переключения групп.

Вот собственно пока и всё. Если что-то надо поподробней - подскажите, что.

ну и, естественно, менять эти файлы модно только будучи рутом.

Wall @ 15-10-2007 08:18:16

Большое спасибо.

gLobster @ 17-10-2007 02:34:18

Потихоньку подправляю раскладку. Сейчас сделал её соответствующей виндовой в плане небуквенных символов. Попутно выяснил некий прикладной баг. Точнее не знаю, баг это или умышленное деяние, но в osso-xterm не правильно обрабаытваются управляющие (cntrl) сочетания. Как только переключаешься на русскую раскладку, все сочетания Cntrl+ перестают работать. Причём этот баг только в этом приложении. Да я и уже xev'ом проверил - выдаются все коды правильно, а xterm почему-то их вот так обрабатывает :( Поскольук пока файлы тут так и не приложить даю ссылку на свою ветку на другом форуме http://palmz.in/board/index.php?showtopic=41175   

dik @ 17-10-2007 13:18:40

Спасибо.
Получил сегодня stowaway - очень нетривиально она коннектится... Избитый граблями буду приступать к xkbзации...

gLobster @ 17-10-2007 23:03:35

Я ещё успел, по просьбе с maemo-developers сделать болгарскую раскладу, но её ещё тестируют. Видимо придётся страничку заводить, где всё выложить и описать подробно, как кастомизировать дальше. Щас пытаюсь, задетый словами Wall, всё-таки научитьсяя добавлять раскладки, а не править, но похоже это не проходимо. Такое чувство, что собсвтенно сам выбор "прошит" в апплет. Не приручается... Но пока не сдался :-) Надеюсь сегодня выложить ещё одну раскладку, ещё более исправленную и более адаптированную под 4-х рядную клавиатуру

gLobster @ 18-10-2007 04:51:55

Ну и сделал я ещё один релиз. Надеюсь последний. В нём я разложил все символы по полочкам, как на виндовой клаве, сделал переключение раскладок русской и латинской по правому шифту, поскольку задействовал AltGr для временного переключения при удержании вместо клавиши Fn.

Попутно хочу отметить, клавиша с кавычками (русской Э) тоже зависит от Fn (это если будете искать обратный слэш и вертикальную черту).

Сам файл лежит на http://palmz.in/board/index.php?showtop … p;p=377984   

gLobster @ 18-10-2007 06:40:04

Я разобрался в конфигурационных файлах и сумел добавить раскладку к общему списку. Прилагаю файл, разархивировав который из-под рута в каталоге /usr/share/X11/xkb командой

tar -xvzf nokia.su-8w.ru.layout.tar.gz

автоматом будут заменены нужные файлы и добавлены новые. Оригинальные лежат там же с расширением .orig

После выполнения в выборе раскладок добавится новая "Русская (альтернативная)", а оригинальная переименуется в "Русская (оригинальная)".

Сам архив лежит по ссылке выше

Wall @ 18-10-2007 07:10:36

А запакетировать?

gLobster @ 19-10-2007 01:43:26

Похоже не осилю. Все описания, что я нашёл, относятся к пакетирвоанию компилируемых программ. А здесь то компилировать нечего :( Стоит ли игра свеч для копирования 3-х файлов, два из которых надо бы сохранить, поскольку они уже могли быть изменены владельцем до меня :) ? На нашёл примера, как сделать пакет для простого размещения файлов

gLobster @ 26-10-2007 04:48:35

Ну в общем добил я. Сделал и пакет. Вот, выложил
https://garage.maemo.org/projects/xkblayouts/   

dik @ 26-10-2007 16:21:11

Спасибо огромное. Если бы вы поделились опытом по сборке пакета - было бы супер.

dik @ 28-10-2007 15:35:55

Собственно не знаю какого я тормозил - ваша раскладка чудесно работает на stowaway, за что опять же спасибо :)

gLobster @ 28-10-2007 21:36:29

А скольки рядная клава ? Если 4х, то насколько я понял, Нокия и сделала свою su-8w именно с stowaway (потроха их). Как оказалось с точки зрения раскладок, клавиаатуры отличаются только количеством и расположением клавиш. Так что, если кто даст фотки раскладок - могу подправиить и для них.

dik @ 29-10-2007 02:20:48

4х рядная / потыкался по клавишам - вроде всё как надо работает /

вот фотография :
http://www.flickr.com/photo_zoom.gne?id … amp;size=l   
http://bp3.blogger.com/_fOnitBMw0Jo/Rkx … MG0367.JPG   

Просто где то прочитал совет указывать в контроль панели Generic keyboard и мне казалось что она кардинально отличается.

gLobster @ 29-10-2007 02:27:54

Да, хорошая клава. С двумя Fn клавишами. На ней с моей раскладкой не будет работать только временная смена режима Fn - нет клавиши AltGr. Зато есть клавиша виндоус. при желании можно ей заменить AltGr - будет желание - напишу что подправить.

dik @ 29-10-2007 02:45:33

Спасибо / сам поковыряюсь

я хотел бы ещё буковку  ё перекинуть на esc

gLobster @ 30-10-2007 06:58:40

Хотел бы найти добровольцев, кто согласился бы раскладку русскую сеье на N800 добавить. Я тут пакет подправил, но хочется, чтобы кто-нибудь протестировал. Выложить здесь не получилось, так могу в почту - напишите, мой адрес есть в личных данных

romx @ 31-10-2007 04:44:48

А Genius/Луч-ВТ планируется поддерживать?

gLobster @ 31-10-2007 05:07:30

Собственно в реалии в maemo нет жёсткой привязки между физической клавиатурой и раскладкой. Вы вручгную выбираете тип клавиатуры и раскладку в меню.
Для начала стоит попробовать выбрать в списке Nokia su-8w и посмотерть что не рабоатет или работает не так.
Если же что-то здорово не так и вы можете сформулировать что - пишите, обсудим, добавлю.

gLobster @ 01-11-2007 05:19:07

Добавил в версию 0.2.0 фонетическую раскладку ЯВЕРТЫ
https://garage.maemo.org/projects/xkblayouts/   
протестируйте?

dik @ 01-11-2007 05:22:13

gLobster, я добавил .deb в загрузки - сейчас должно работать.  Раскладку вашу использую - всё ок. Вот только пока редко печатаю на машинке.

gLobster @ 12-11-2007 00:44:41

Добавил поддержку Chinook, благо опубликовали SDK релиз. В ближайшее время выложу исправленные раскладки и для встроенной клавиатуры 810.

gav @ 25-11-2007 03:27:47

Купил на днях себе Луч ВТ.  Тут где-то выше писали про траблы с этими девайсами, но что именно за траблы не сказали.. В общем подключил ее к своему n800 достаточно просто с помощью вот этого: http://fanoush.wz.cz/maemo/    клава видится и работает, правда нет русского и некоторые клавиши или не работают, или работают не так как на них нарисовано. Вот хотелось бы это поправить. Описание xkb от Ивана Паскаля почитал - вроде шансы есть.
Но! непонятно как считать кейкоды для тех клавиш, которые сейчас не работают?

gLobster @ 25-11-2007 04:33:55

С поммощью утилиты xev.  Она в составе какого-то системного пакета с ммаемо.орг ставится

arsa @ 17-01-2008 08:31:55

у меня переключение языков пашет только если выбрать Nokia SU-8W в настройках BT клавы (ну и раскладку “Русский (дополнительно)”)
generic 102 не работает, у них разные коды клавиши видимо? А вообще у меня stowaway.

gLobster @ 17-01-2008 23:32:48

Дело в том, что раскладку я правил именно только для Nokia SU-8W. Все остальные - оригинальные. Коды клавиш тут не при чём. Соответствие кода клавиши выдаваемой букве определяет именно раскладка. Так что наивно ожидать, что выбрав одну раскладку Вы получите функционал другой. Правьте ту, которую выбрали тогда.

dik @ 17-01-2008 23:47:22

arsa говорит:

у меня переключение языков пашет только если выбрать Nokia SU-8W в настройках BT клавы (ну и раскладку “Русский (дополнительно)”)
generic 102 не работает, у них разные коды клавиши видимо? А вообще у меня stowaway.

У меня тоже stowaway и всё отлично пашет при выборе Nokia SU-8W и Русский (Дополнительная) после установки раскладки от gLobster`a

arsa @ 18-01-2008 03:50:14

Все понятно, просто нигде не написано это сделать, в такои комбинации. Вот и описываю, для страждущих ;-)

dik @ 18-01-2008 04:33:23

arsa :

arsa говорит:

Все понятно, просто нигде не написано это сделать, в такои комбинации. Вот и описываю, для страждущих ;-)

Буду вам благодарен если напишите что то в faq :
http://wiki.internet-tablet.com/index.php?title=FAQ   

или на отдельную новую страницу. А страждущих мы как раз будем туда посылать.

Alastor @ 18-01-2008 13:46:51

Сделал раскладку для Genius Bluetooth Mobile Keyboard (она же BK-600). Качать здесь: http://forum.internet-tablet.com/upload … ius.tar.gz    . Мои наработки основаны на пакете xkblayouts уважаемого gLobster'a, так что лучше файлы копировать после установки этого пакета. Файлы из архива скопировать в каталог /usr/share/X11/xkb. После этога в апплете настроек клавиатуры среди моделей добавится новая: Genius Bluetooth Mobile Keyboard, среди раскладок - Русский (для BK-600).
http://forum.internet-tablet.com/uploaded/keyboard-applet.png

Переключение - по комбинации Ctrl+Shift, дополнительно, комбинация Fn+цифровая клавиша эквивалентно функциональной клавише (т.е. Fn+1=F1, Fn+2=F2 и т.д.), Fn+BkSpace=Delete, Fn+Shift+BkSpace=Insert,  клавиша с нарисованным домиком - Home, при нажатом Shift - End.
Пока не могу побороть Alt - xev при нажатии на него не выдает событие KeyPress (а следовательно нет и соответствующего Keycode), только KeymapNotify. Перерыл весь гугл - ничего не нашел :( Может, кто подскажет, где грабли?

gLobster @ 18-01-2008 13:55:38

Потому что alt не модификатор. Его обрабатывают сами программы.

Alastor @ 18-01-2008 14:59:52

gLobster говорит:

Потому что alt не модификатор. Его обрабатывают сами программы.

Почему же тогда на обыкновенном компе оба Alt'a имеют коды клавиш?

gLobster @ 19-01-2008 02:17:22

Думаю дело в том, что Нокия на таблетку не X поставила, а matchbox - адаптированный порт. Похоже в нём отключена обработка alt как функции. Мне сейчас никак. Попробуйте на клавишу alt повесить какую-нибудь букву и увидите, появится ли событие.

Alastor @ 19-01-2008 02:42:11

Не, X-ы b matchbox это разные вещи. В качестве X-ов на таблетке сильно перепиленный Xomap, а matchbox - это window manager. А букву навесить попробую

dik @ 19-01-2008 10:15:52

Alastor, gLobster :   а не обьединиться ли вам в один проект и пакет соответственно ?

Alastor @ 19-01-2008 11:44:12

dik говорит:

Alastor, gLobster :   а не обьединиться ли вам в один проект и пакет соответственно ?

если gLobster мои файлики в xkblayuts включит, я не против, а даже за

dik @ 19-01-2008 12:53:45

может быть так же можно было бы в список выбора внести русскую usb клаву - учитывая что она пашет

gLobster @ 19-01-2008 13:59:50

смогу только не раньше, чем через неделю-две. Вынужден вычеркнуться из активной жизни на этот срок

Alastor @ 19-01-2008 15:49:01

dik говорит:

может быть так же можно было бы в список выбора внести русскую usb клаву - учитывая что она пашет

Можно, только зачем? В списках выбирается модель (модель определяет конфигурацию клавиш, если подключают обыкновенную клавиатуру, то вполне сойдет модель Generic PC-105 key) и раскладку (вот раскладку можно добавить, но только нужно допилить).

dik @ 19-01-2008 16:02:24

Alastor, черкните плиз пару строк про свою раскладку и где качнуть в Faq :
может хоть вот этот кусок : http://forum.internet-tablet.com/viewto … 3371#p3371   

http://wiki.internet-tablet.com/index.php?title=FAQ   

И может там приведём список стабильно работающих клавиатур...

Alastor @ 20-01-2008 02:26:36

dik говорит:

Alastor, черкните плиз пару строк про свою раскладку и где качнуть в Faq :
может хоть вот этот кусок : http://forum.internet-tablet.com/viewto … 3371#p3371   

http://wiki.internet-tablet.com/index.php?title=FAQ   

И может там приведём список стабильно работающих клавиатур...

Добавил:
http://wiki.internet-tablet.com/index.p … 1.80.D1.8B   

gLobster @ 20-01-2008 02:36:36

С точки зрения совместного пакета - я могу добавить Вас в участники проекта на гараже и можем просто договориться как встроить. По-большому счёту надо только раскладку добавить. А всё для выбора уже есть. Можно обсудить это уже в личке (мыло, ICQ, Gtalk).

arsa @ 22-01-2008 05:31:55

Alastor говорит:

модель определяет конфигурацию клавиш, если подключают обыкновенную клавиатуру, то вполне сойдет модель Generic PC-105 key

я выше написал что так не работает, рассматриваемая раскладка (xkblayouts) работает только если выбрать нокию же в типе клавиатуры.
поправьте если это не так, но у меня работает только с такими настройками.

dik @ 22-01-2008 07:30:24

arsa говорит:

Alastor говорит:

модель определяет конфигурацию клавиш, если подключают обыкновенную клавиатуру, то вполне сойдет модель Generic PC-105 key

я выше написал что так не работает, рассматриваемая раскладка (xkblayouts) работает только если выбрать нокию же в типе клавиатуры.
поправьте если это не так, но у меня работает только с такими настройками.

потому что для Generic нет русской раскладки

Alastor @ 22-01-2008 13:16:26

arsa говорит:

Alastor говорит:

модель определяет конфигурацию клавиш, если подключают обыкновенную клавиатуру, то вполне сойдет модель Generic PC-105 key

я выше написал что так не работает, рассматриваемая раскладка (xkblayouts) работает только если выбрать нокию же в типе клавиатуры.
поправьте если это не так, но у меня работает только с такими настройками.

Попробуйте комбинацию pc 105 и моей раскладки

Self-mademan @ 30-01-2008 22:50:11

Блин, мучаюсь с клавой Genius.  Всё поставил по инструкции, и в настроках выставил клавиатуру Genius.
Само устройство в поиске bluetooth находится без проблем. При соединении ввожу код 0000, значок блютуса становится синим, пишет что всё соединилось, потом значок гаснет и клава не работает.
Что я не так делаю? ;)

ЗЫ: Клава 100% рабочая и на компе соединяется без проблем и на Nokia 6681
Сегодня другую ещё попробую, конечно, на всякий случай

gLobster @ 30-01-2008 23:38:17

А разве Genius поддерживает HID профиль. Мне казалось она напрямую и не запашет и надо xkbdd ставить от Фануша

dik @ 30-01-2008 23:40:18

Self-mademan говорит:

Блин, мучаюсь с клавой Genius.  Всё поставил по инструкции, и в настроках выставил клавиатуру Genius.
Само устройство в поиске bluetooth находится без проблем. При соединении ввожу код 0000, значок блютуса становится синим, пишет что всё соединилось, потом значок гаснет и клава не работает.
Что я не так делаю? ;)

ЗЫ: Клава 100% рабочая и на компе соединяется без проблем и на Nokia 6681
Сегодня другую ещё попробую, конечно, на всякий случай

я тоже когда то намучился - логика сопряжения может быть хитрая... http://internet-tablet.com/software/sop … yi-i-n800/   

погугли в связке - название клавы и машинки по буржуйнету

Self-mademan @ 30-01-2008 23:48:01

Не поддерживает, ага.
Ну я ставил пакеты, как написано в FAQ http://wiki.internet-tablet.com/index.p … =Keyboards   
после этого она в списке поддерживаемых клавиатур появляется и даже вроде связывается с таблеткой. Но потом либо отваливается (значок bluetooth на таблетке гаснет), либо нужно что-то ещё сделать,  о чём я не догадываюсь ;)

dik @ 31-01-2008 00:06:24

версия bluez-utils у вас какая ? у нас были проблемы с 3.23-1

http://conference.internet-tablet.com/2 … 4T21:19:44   

Self-mademan @ 31-01-2008 01:02:42

Версия 3.20-0osso2.
С другими устройствами проблем нет. И с GPS-приёмником нормально работает и к телефону подключается нормально

dik @ 31-01-2008 01:19:50

Self-mademan :
напишите Alastor - у него такая же клава

так это по ходу не HID клава ? Вы kbdd ставили ?
http://www.internettablettalk.com/forum … stcount=26   
http://www.internettablettalk.com/forum … post118088   
я в этом совершенно ничего не понимаю... Погуглите

Update :

gLobster говорит:

А разве Genius поддерживает HID профиль. Мне казалось она напрямую и не запашет и надо xkbdd ставить от Фануша

вот выше же gLobster говорил

Self-mademan @ 31-01-2008 02:34:10

Да, xkbdd не ставил, видимо проблема в этом :) В FAQ, кстати, можно написать и про это ;)
Пытаюсь выполнить в терминале команду "./btkbd scan"
мне в ответ выдаёт, что Permission denied :/
Нахожусь под рутом, sudo gainroot выполнил


UPD: Так, погуглил и нашел в чем дело. Чтобы не выдавало Permission denied архив надо сохранять и разархивировать ОБЯЗАТЕЛЬНО в память таблетки. Если разархивировать на карту или перенести с карты в память, то будет выдавать это сообщение.

dik @ 31-01-2008 03:59:21

у карты обычно vfat файловая система - которая систему прав не поддерживает...
А насчёт faq - все владельцы не hid клавиатур будут вам благодарны если после того как сделаете - кратко это опишите. Регистрация там свободная. Я при всём желании не смог бы - нет у меня такой клавы :)

Self-mademan @ 31-01-2008 04:11:40

Ок! Постараюсь вечером написать

momchil @ 03-03-2008 02:28:29

hello,
sorry for english - i can't write in russian, but i understand it.

i have two questions. is it possible for gLobster to add bulgarian phonetic layout to xkblayouts? the second one is related to switching layouts - is right ctrl only a shortcut for switching between russian and english? it seems that only work for ру

gLobster @ 03-03-2008 02:36:30

Добавить фонетическую болгарскую - не проблема. Пришлите мне соответствие клавиш буквам и я её скомпилирую. Можно рисунок.
По поводу переключателя - я не понял вопроса. Переключатель - это свойство раскладки. В своих я сделал по правлму шифту. Но это легко правится самостоятельно, если правый шифт не устраивает.

momchil @ 03-03-2008 03:10:53

спасибо
here is the layout

http://img120.imageshack.us/img120/5296/layout016tc.jpg

it looks that i've misunderstood something - so it's possible to select a custom keyboard shortcut to switch layouts?

ptiz @ 30-03-2008 04:01:22

gLobster говорит:

По поводу переключателя - я не понял вопроса. Переключатель - это свойство раскладки. В своих я сделал по правлму шифту. Но это легко правится самостоятельно, если правый шифт не устраивает.

Да, правый шифт совершенно не устраивает. Подскажите, пожалуйста, где надо поправить, чтобы был, к примеру, Caps Lock.

gLobster @ 30-03-2008 04:25:04

Возможные варианты перечислены в файле
/usr/share/X11/xkb/symbols/group
в строках вида

Код:

xkb_symbols "shifts_toggle"

переключатели содержат слово toggle
править в файле /usr/share/X11/xkb/symbols/nokia_vndr/su-8w
строку вида

Код:

include group("..._toggle")
ptiz @ 31-03-2008 01:27:33

gLobster, спасибо. Всё заработало как надо.

momchil @ 26-05-2008 07:00:24

hi,
any news on bulgarian phonetic layout?

gLobster @ 26-05-2008 07:09:31

I have same problems with place for development. I have not scratchbox and computer under Linux. I think your question and made it as is possible. Sorry.

MaF @ 26-05-2008 07:12:52

Если клавиатура USB то
"Возможные варианты перечислены в файле
/usr/share/X11/xkb/symbols/group
в строках вида

Код:
xkb_symbols "shifts_toggle"
переключатели содержат слово toggle
править в файле /usr/share/X11/xkb/symbols/nokia_vndr/su-8w
строку вида

Код:
include group("..._toggle")"
так же годится для использования?

lego-dj @ 26-05-2008 11:19:09

momchil говорит:

hi,
any news on bulgarian phonetic layout?

i think you may speak Russian if you need a bulgarian phonetic layout :-)

gLobster @ 26-05-2008 12:48:23

Джим и Джин, опять не в тему. Автор уже писал, что он может читать, но имеет трудности с письмом на русском. Кирилица многообразна, а Български - совсем не русский. А выросшее поколение next в этой постсоветской стране и не имело нужды в русском. К их счастью.
Да и пост его был в продолжение предыдущего разговора... Так что его английский здесь санкционирован.

dik @ 26-05-2008 14:54:56

Джим и Джин :
momchil один из первых читателей нашего блога и почётный таблеточник.

Лучше делом займись - вот Debian на таблетку что ли водрузи :)

timurka @ 04-06-2008 03:25:01

Всем добрый день!
Вчера приобрел ЛУЧ-ВТ (ВК-600) блютус клавиатуру, весь день брожу по форуму и читаю статьи по привязке данного девайса к N800, пока только установил русскую расскладку из:
https://garage.maemo.org/projects/xkblayouts/   
и раскладку для Genius Bluetooth Mobile Keyboard (она же BK-600) : 
http://forum.internet-tablet.com/upload … ius.tar.gz    (спасибо за помощь dik Administrator)
все равно никак не получается подключить клавиатуру к таблетке, пожалуйста подскажите что мне делать!
1. в списке клавиатур появилось Genius Bluetooth Mobile Keyboard и раскладка Русская для ВК-600, но при поиске клавиатуры пишет просто keyboard со знаком вопроса
Если можно, кто уже подключал эту клавиатуру (BK-600 или Луч-ВТ), напишите мне пошаговую инструкцию... плииз
Тимур

dik @ 04-06-2008 03:38:43

timurka : создавайте пожалуйста новые темы своими вопросами - не стоит их кидать в такие ветки - в них потом сам чёрт ногу сломит.

При поиске блутуз клавиатуры вам выдалось не её полное название с именем отчеством а просто keyboard.
Так в чём проблема то ? Подключать то вы пробовали ?

Панель управления _> Клавиатура Блутуз -> Связь -> выбрать устройство

Может быть стоит пойти всё таки дальше ?
Выберите то что нашлось. Возможно это всё таки ваша клавиатура а не соседа.
Вводите код на таблетке. Затем на блутузной клаве. Жмёте Энтэр.

dik @ 04-06-2008 03:46:50

Я сопрягал другую клавиатуру так : http://internet-tablet.com/software/sop … yi-i-n800/   

У вас порядок может быть другой но суть - та же.
Ну можете конечно медицировать на строку "keyboard?" до тех пор пока он не превратится в
"Genius Bluetooth Mobile Keyboard"
В чём проблема ? Я не понял вопроса. ТО что имя найденной блутуз поиском клавиатуры не совпадает с вашей ?


P.S.
> напишите мне пошаговую инструкцию... плииз
опишите пошагово предпринимаемые вами действия, в той последовательности, в которой они были предприняты.

gLobster @ 04-06-2008 04:00:57

Это клавиатура не HID. Для неё драйвер нужен

dik @ 04-06-2008 04:33:02

gLobster говорит:

Это клавиатура не HID. Для неё драйвер нужен

Он по инструкции делает - http://wiki.internet-tablet.com/index.p … =Keyboards   

dik @ 04-06-2008 04:38:05

timurka :

Genius Bluetooth Mobile Keyboard
Genius Bluetooth Mobile Keyboard
Genius Bluetooth Mobile Keyboard

Для этой клавиатуры написана инструкция......

Вы и себе и людям готову морочите...
я и не заметил этого луча...

и там тоже - сначала про гениус / потом про луч
http://n8xx.com/message-11256.html#p11256   


посыпаю голову пеплом


Вопросы о клавиатуре надо было бы задавать до её покупки....

dik @ 04-06-2008 04:44:46

ухожу нафиг в отпуск :(

Читал сообщения и мне мерещилось что у человека Genius....

timurka @ 04-06-2008 05:25:56

Привязка клавиатуры ЛУЧ-ВТ (ака ВК-600, Genius Mobile Keyboard, etc.) к таблетке N800

как вы все видели по предидущим постам, я мучился с привязкой вышеупомянутого девайса к таблетке, наконец я разобрался и хочу предложить эту пошаговую инструкцию для тех кто не являеца спецом в Линуксе (т.е. для таких как я)
1. Для начала нам понадобится установить следующие приложения из репозитария:
becomeroot
osso-xterm (для тех у кого установлена OS2008, это приложение уже у вас есть)
2. далее скачайте русскую раскладку для клавиатур, взять можно отсюда:
https://garage.maemo.org/projects/xkblayouts/   
3. устанавливаем раскладку для ВК-600 (Genius Mobile Keyboard), скачайте архив здесь:
http://forum.internet-tablet.com/upload … ius.tar.gz   
запустите X Terminal на вашей таблетке и следующие команды
~$ sudo gainroot
/home/user # tar zxvf xkb-genius.tar.gz
/home/user # cd /xkb-genius/
*/xkb-genius # cp *.* /usr/share/X11/xkb/
*/xkb-genius # cp -r keycodes /usr/share/X11/xkb/
*/xkb-genius # cp -r rules /usr/share/X11/xkb/
*/xkb-genius # cp -r symbols /usr/share/X11/xkb/
теперь в панели управления у Вас появится новый тип клавиатуры Genius Bluetooth Mobile Keyboard и раскладка Русский (для BK-600)
4. Далее нам понадобится архив с:
http://fanoush.wz.cz/maemo/kbdd.tar.gz   
опять запускаем X Terminal на таблетке:
/home/user # tar zxvf kbdd.tar.gz
/home/user # cd /kbdd/
*/kbdd/ # cp kbdd.conf /media/mmc1/
забираем файл kbdd.conf с внешней карты памяти и редактируем его в любом текстовом редакторе:
ваш файл должен будет иметь следующий вид
BDADDR="00:АA:3A:2F:17:80" # это блютус адрес вашей клавиатуры
KBTYPE=freedom
PORTNUM=8 #not needed for OS2008
DEBUG=no #yes
KEYREPEAT_DELAY=600 # delay before first key repeat (in miliseconds)
KEYREPEAT_PERIOD=80 # repeat speed
сохраняем файл на карте памяти таблетки и опять запускаем Терминал:
~$ sudo gainroot
/home/user # cp /media/mmc1/kbdd.conf /home/user/kbdd/
/home/user # cd /home/user/kbdd/
/home/user/kbdd # ./install_shortcut.sh
вот и все теперь в меня таблетки в подменю ДОПОЛНИТЕЛЬНО появился ярлык "Turn on/off BT keyboard"
включите клавиатуру, запустите этот ярлык и работайте. переключение EN/RU клавишами Ctrl+Shift, некоторые клавиши при переключении на русский отключаются, например цифра 1, -,+, backspace и еще несколько, но весь алфавит работает вполне сносно с английским проблем вообще не наблюдаю.
Кстати этот пост полностью напечатал с помощью новой клавиатуры ЛУЧ-ВТ!

P.S.: не судите строго, может что-то я делал слишком сложным и замороченным способом, но как я и говорил, я пользуюсь Линуксом только 2 недели...)))))
____________________________________
С уважением,

Тимур


Nokia N800 + ЛУЧ ВТ

dik @ 04-06-2008 06:14:38

> Кстати этот пост полностью напечатал с помощью новой клавиатуры ЛУЧ-ВТ!

Искренне восхищаюсь. Молодец, сам во всём разобрался...

yakav @ 20-07-2008 04:51:57

Приобрел logitech dinovo mini, законектилась без прблем, но тачпад не работает,, только только эмулятор клав верх-вниз-прав-лев работает, как перекллючать пока не понял. пробовал конеектить к ps3, все отлично, но опять с раскладкой проблемы, в адресной строке браузера только англ- это гуд, а в остальных полях только русский, для чата нормально , а в поисковиках неудобно. буду пробовать, под виндой должна работать нормально.

Hammer_NN @ 08-09-2008 04:54:03

В дополнение к посту Timurka "Привязка клавиатуры ЛУЧ-ВТ (ака ВК-600, Genius Mobile Keyboard, etc.) к таблетке N800" прикладываю подправленный файлик ru_ge . Теперь нажимаются все кнопочки на клавиатуре Genius. Осталась незадействованной ALT  внизу слева от пробела,которая не посылает никакого сканкода.И еще совет-после установки клавиатуры сразу же назначайте комбинации клавиш для свертывания-развертывания окон , для меню , переключения задач и т.д.

Код:

xkb_symbols "ru_ge" {

    name[group1]="U.S. English";
        name[group2]="Russia"    ;
        key <I13>  {         [           Home,               End] };
        key <BAR>  {
            type= "FOUR_LEVEL",
                symbols[Group1]= [         backslash,             bar, asciitilde, grave],
                symbols[Group2]= [         Cyrillic_io,     Cyrillic_IO, asciitilde, grave]
        };
        key <ESC>  {         [                                           Escape ] };
    key <AE01> {
        type= "THREE_LEVEL",
        symbols[Group1]= [                 1,            exclam,  F1],
    symbols[Group2]= [        1,    exclam]
    };
    key <AE02> {
        type= "THREE_LEVEL",
                symbols[Group1]= [                 2,                       at, F2 ],
                symbols[Group2]= [                             2,                 quotedbl, F2 ] };
    key <AE03> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               3,      numbersign, F3 ],
        symbols[Group2]= [               3,      numerosign, F3 ]
    };
    key <AE04> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               4,          dollar, F4 ],
        symbols[Group2]= [               4,        asterisk, F4 ]
    };
    key <AE05> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               5,         percent, F5 ],
    symbols[Group2]= [        5,    percent]
    };
    key <AE06> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               6,     asciicircum, F6 ],
        symbols[Group2]= [               6,           colon, F6 ]
    };
    key <AE07> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               7,       ampersand, F7 ],
        symbols[Group2]= [               7,        question, F7 ]
    };
    key <AE08> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               8,        asterisk, F8 ],
    symbols[Group2]= [        8,    asterisk]
    };
    key <AE09> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               9,       parenleft, F9 ],
    symbols[Group2]= [        9,    parenleft]
    };
    key <AE10> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               0,      parenright, F10 ],
    symbols[Group2]= [        0,    parenright]
    };
    key <AE11> {
        type= "THREE_LEVEL",
        symbols[Group1]= [           minus,      underscore, F11 ],
    symbols[Group2]= [    minus, undersore]
    };
    key <AE12> {
        type= "THREE_LEVEL",
        symbols[Group1]= [           equal,            plus, F12 ],
    symbols[Group2]= [    equal,    plus]
    };
    key <BKSP> {
        type= "FOUR_LEVEL_X",
        symbols[Group1]= [       BackSpace, BackSpace, BackSpace, Terminate_Server ]
    };
    key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
    key <AD01> {
        type= "ALPHABETIC",
        symbols[Group1]= [               q,               Q ],
        symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ]
    };
    key <AD02> {
        type= "ALPHABETIC",
        symbols[Group1]= [               w,               W ],
        symbols[Group2]= [    Cyrillic_tse,    Cyrillic_TSE ]
    };
    key <AD03> {
        type= "ALPHABETIC",
        symbols[Group1]= [               e,               E ],
        symbols[Group2]= [      Cyrillic_u,      Cyrillic_U ]
    };
    key <AD04> {
        type= "ALPHABETIC",
        symbols[Group1]= [               r,               R ],
        symbols[Group2]= [     Cyrillic_ka,     Cyrillic_KA ]
    };
    key <AD05> {
        type= "ALPHABETIC",
        symbols[Group1]= [               t,               T ],
        symbols[Group2]= [     Cyrillic_ie,     Cyrillic_IE ]
    };
    key <AD06> {
        type= "ALPHABETIC",
        symbols[Group1]= [               y,               Y ],
        symbols[Group2]= [     Cyrillic_en,     Cyrillic_EN ]
    };
    key <AD07> {
        type= "ALPHABETIC",
        symbols[Group1]= [               u,               U ],
        symbols[Group2]= [    Cyrillic_ghe,    Cyrillic_GHE ]
    };
    key <AD08> {
        type= "ALPHABETIC",
        symbols[Group1]= [               i,               I ],
        symbols[Group2]= [    Cyrillic_sha,    Cyrillic_SHA ]
    };
    key <AD09> {
        type= "ALPHABETIC",
        symbols[Group1]= [               o,               O ],
        symbols[Group2]= [  Cyrillic_shcha,  Cyrillic_SHCHA ]
    };
    key <AD10> {
        type= "ALPHABETIC",
        symbols[Group1]= [               p,               P ],
        symbols[Group2]= [     Cyrillic_ze,     Cyrillic_ZE ]
    };
    key <AD11> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [     bracketleft,       braceleft ],
        symbols[Group2]= [     Cyrillic_ha,     Cyrillic_HA ]
    };
    key <AD12> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [    bracketright,      braceright ],
        symbols[Group2]= [ Cyrillic_hardsign, Cyrillic_HARDSIGN ]
    };
    key <RTRN> {         [          Return ] };
    key <AC01> {
        type= "ALPHABETIC",
        symbols[Group1]= [               a,               A ],
        symbols[Group2]= [     Cyrillic_ef,     Cyrillic_EF ]
    };
    key <AC02> {
        type= "ALPHABETIC",
        symbols[Group1]= [               s,               S ],
        symbols[Group2]= [   Cyrillic_yeru,   Cyrillic_YERU ]
    };
    key <AC03> {
        type= "ALPHABETIC",
        symbols[Group1]= [               d,               D ],
        symbols[Group2]= [     Cyrillic_ve,     Cyrillic_VE ]
    };
    key <AC04> {
        type= "ALPHABETIC",
        symbols[Group1]= [               f,               F ],
        symbols[Group2]= [      Cyrillic_a,      Cyrillic_A ]
    };
    key <AC05> {
        type= "ALPHABETIC",
        symbols[Group1]= [               g,               G ],
        symbols[Group2]= [     Cyrillic_pe,     Cyrillic_PE ]
    };
    key <AC06> {
        type= "ALPHABETIC",
        symbols[Group1]= [               h,               H ],
        symbols[Group2]= [     Cyrillic_er,     Cyrillic_ER ]
    };
    key <AC07> {
        type= "ALPHABETIC",
        symbols[Group1]= [               j,               J ],
        symbols[Group2]= [      Cyrillic_o,      Cyrillic_O ]
    };
    key <AC08> {
        type= "ALPHABETIC",
        symbols[Group1]= [               k,               K ],
        symbols[Group2]= [     Cyrillic_el,     Cyrillic_EL ]
    };
    key <AC09> {
        type= "ALPHABETIC",
        symbols[Group1]= [               l,               L ],
        symbols[Group2]= [     Cyrillic_de,     Cyrillic_DE ]
    };
    key <AC10> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [       semicolon,           colon ],
        symbols[Group2]= [    Cyrillic_zhe,    Cyrillic_ZHE ]
    };
    key <AC11> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [      apostrophe,        quotedbl ],
        symbols[Group2]= [      Cyrillic_e,      Cyrillic_E ]
    };
    key <TLDE> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [           grave,      asciitilde ],
        symbols[Group2]= [     Cyrillic_io,     Cyrillic_IO ]
    };
    key <LFSH> {
              type[Group1]="PC_BREAK",
                symbols[Group1]= [ Shift_L,    ISO_Prev_Group ]
        };
    key <BKSL> {         [       backslash,             bar ] };
    key <AB01> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               z,               Z, XF86Mail ],
        symbols[Group2]= [     Cyrillic_ya,     Cyrillic_YA, XF86Mail ]
    };
    key <AB02> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               x,               X, XF86Phone ],
        symbols[Group2]= [    Cyrillic_che,    Cyrillic_CHE, XF86Phone ]
    };
    key <AB03> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               c,               C, XF86ToDoList ],
        symbols[Group2]= [     Cyrillic_es,     Cyrillic_ES, XF86ToDoList ]
    };
    key <AB04> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               v,               V, XF86Calculator ],
        symbols[Group2]= [     Cyrillic_em,     Cyrillic_EM, XF86Calculator ]
    };
    key <AB05> {
        type= "ALPHABETIC",
        symbols[Group1]= [               b,               B ],
        symbols[Group2]= [      Cyrillic_i,      Cyrillic_I ]
    };
    key <AB06> {
        type= "ALPHABETIC",
        symbols[Group1]= [               n,               N ],
        symbols[Group2]= [     Cyrillic_te,     Cyrillic_TE ]
    };
    key <AB07> {
        type= "ALPHABETIC",
        symbols[Group1]= [               m,               M ],
        symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN ]
    };
    key <AB08> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [           comma,            less ],
        symbols[Group2]= [     Cyrillic_be,     Cyrillic_BE ]
    };
    key <AB09> {
        type[group2]= "ALPHABETIC",
        symbols[Group1]= [          period,         greater ],
        symbols[Group2]= [     Cyrillic_yu,     Cyrillic_YU ]
    };
    key <AB10> {
        symbols[Group1]= [           slash,        question ],
        symbols[Group2]= [          period,           comma ]
    };
    key <RTSH> {
                type[Group1]="PC_BREAK",
                symbols[Group1]= [ Shift_R,    ISO_Next_Group ]
        };
    key <KPMU> {
        type= "CTRL+ALT",
        symbols[Group1]= [     KP_Multiply,  XF86_ClearGrab ]
    };
    key <LALT> {         [           Alt_L,          Meta_L ] };
    key <SPCE> {         [           space ] };
    key <CAPS> {         [       Caps_Lock ] };
    key <FK01> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F1, XF86_Switch_VT_1 ]
    };
    key <FK02> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F2, XF86_Switch_VT_2 ]
    };
    key <FK03> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F3, XF86_Switch_VT_3 ]
    };
    key <FK04> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F4, XF86_Switch_VT_4 ]
    };
    key <FK05> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F5, XF86_Switch_VT_5 ]
    };
    key <FK06> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F6, XF86_Switch_VT_6 ]
    };
    key <FK07> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F7, XF86_Switch_VT_7 ]
    };
    key <FK08> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F8, XF86_Switch_VT_8 ]
    };
    key <FK09> {
        type= "CTRL+ALT",
        symbols[Group1]= [              F9, XF86_Switch_VT_9 ]
    };
    key <FK10> {
        type= "CTRL+ALT",
        symbols[Group1]= [             F10, XF86_Switch_VT_10 ]
    };
    key <NMLK> {         [        Num_Lock, Pointer_EnableKeys ] };
    key <SCLK> {         [     Scroll_Lock ] };
    key  <KP7> {         [         KP_Home,            KP_7 ] };
    key  <KP8> {         [           KP_Up,            KP_8 ] };
    key  <KP9> {         [        KP_Prior,            KP_9 ] };
    key <KPSU> {
        type= "CTRL+ALT",
        symbols[Group1]= [     KP_Subtract, XF86_Prev_VMode ]
    };
    key  <KP4> {         [         KP_Left,            KP_4 ] };
    key  <KP5> {         [        KP_Begin,            KP_5 ] };
    key  <KP6> {         [        KP_Right,            KP_6 ] };
    key <KPAD> {
        type= "CTRL+ALT",
        symbols[Group1]= [          KP_Add, XF86_Next_VMode ]
    };
    key  <KP1> {         [          KP_End,            KP_1 ] };
    key  <KP2> {         [         KP_Down,            KP_2 ] };
    key  <KP3> {         [         KP_Next,            KP_3 ] };
    key  <KP0> {         [       KP_Insert,            KP_0 ] };
    key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
    key <SYRQ> {
        type= "PC_SYSRQ",
        symbols[Group1]= [           Print,         Sys_Req ]
    };
    key <LSGT> {
        symbols[Group1]= [            less,         greater ],
        symbols[Group2]= [           slash,             bar ]
    };
    key <LCTL> {         [       Control_L, ISO_Next_Group ] };
    key <LALT> {         [           Alt_L,          Meta_L ] };
    key <NMLK> {         [        Num_Lock, Pointer_EnableKeys ] };
    key <SCLK> {         [     Scroll_Lock ] };
    key <MDSW> {         [     Mode_switch ] };
    key <FK11> {         [             F10 ] };
    key <FK12> {         [             F12 ] };
    key <HOME> {         [            Home ] };
    key   <UP> {
        type= "FOUR_LEVEL_X",
        symbols[Group1]= [              Up,   Prior, NoSymbol, NoSymbol ]
    };
    key <PGUP> {         [           Prior ] };
    key <LEFT> {
        type= "FOUR_LEVEL_X",
        symbols[Group1]= [            Left, XF86Back, NoSymbol, NoSymbol ]
    };
    key <RGHT> {
        type= "FOUR_LEVEL_X",
        symbols[Group1]= [           Right, XF86Forward, NoSymbol, NoSymbol ]
    };
    key  <END> {         [             End ] };
    key <DOWN> {
        type= "FOUR_LEVEL_X",
        symbols[Group1]= [            Down,   Next,  NoSymbol, NoSymbol]
    };
    key <PGDN> {         [            Next ] };
    key  <INS> {         [          Insert ] };
    key <DELE> {         [          Delete ] };
    key <KPEN> {         [        KP_Enter ] };
    key <RCTL> {         [       Control_R, ISO_Next_Group ] };
    key <PAUS> {         [           Pause ] };
    key <PRSC> {         [           Print ] };
    key <RALT> {         [           Alt_R,          Meta_R ] };
    key <LWIN> {         [         Super_L ] };
    key <RWIN> {         [         Super_R ] };
    key <MENU> {         [            Menu ] };
    key <LVL3> {         [ ISO_Level3_Shift ] };
    key  <ALT> {         [        NoSymbol,           Alt_L ] };
    key <SUPR> {         [        NoSymbol,         Super_L ] };
    key <HYPR> {         [        NoSymbol,         Hyper_L ] };
    key <META> {         [        NoSymbol,          Meta_L ] };
    key  <I29> {         [       XF86Phone ] };
    modifier_map Control { <LCTL> };
    modifier_map Shift { <LFSH> };
    modifier_map Shift { <RTSH> };
    modifier_map Mod1 { <LALT> };
    modifier_map Lock { <CAPS> };
    modifier_map Mod2 { <NMLK> };
    modifier_map Mod5 { <MDSW> };
    modifier_map Control { <RCTL> };
    modifier_map Mod5 { <LVL3> };
    modifier_map Mod1 { <ALT> };
    modifier_map Mod4 { <SUPR> };
    modifier_map Mod4 { <HYPR> };
    modifier_map Mod1 { <META> };

    modifier_map Mod3 { <FN> };
};
wickedxghoul @ 19-09-2008 17:17:05

Взываю к коллективному разуму. N810 + Stowaway BT (работает с профилем Nokia SU-8W)
Для русификации хардверной клавиатуры использован xkblayouts-810-en-ru_0.2.0_armel.deb. Но, после его установки - не ставится xkblayouts для BT-клавиатуры (пробовал версии 0.3.4 и 0.4.1). Если ставить в другом порядке - ситуация не меняется. Один пакет ставится, второй - Unable to install, если через AM, либо

/home/user # dpkg -i /media/mmc2/Download/distr/xkblayouts_0.4.1_armel.deb
(Reading database ... 20845 files and directories currently installed.)
Unpacking xkblayouts (from .../xkblayouts_0.4.1_armel.deb) ...
dpkg: error processing /media/mmc2/Download/distr/xkblayouts_0.4.1_armel.deb (--install):
trying to overwrite `/usr/share/X11/xkb/symbols/nokia_vndr/ru3.rx44', which is also in package xkblayouts-810-en-ru
Errors were encountered while processing:
/media/mmc2/Download/distr/xkblayouts_0.4.1_armel.deb

если через dpkg.

ОС - Diablo. В Chinook оба пакета прекрасно жили вместе.

saltlake @ 11-10-2008 02:55:49

У меня то же самое, что у wickedxghoul. На Чинуке работали вместе прекрасно, теперь unable to install с xkb-layouts 0.4.1 для BT-клавы. Помогите, плиз.

svs57 @ 11-10-2008 03:03:57

Если хотите чтобы dpkg перезаписал файлы, которые есть уже в другом пакете, используйте ключ dpkg --force-overwrite

saltlake @ 11-10-2008 03:50:12

но я правильно понимаю, что тогда мы лишимся функциональности перезаписываемого пакета (у меня для хардверной клавы)?

svs57 @ 11-10-2008 04:24:51

Хард клавиатура использует файл:
/usr/share/X11/xkb/symbols/nokia_vndr/rx-44
Не могу попробовать. Не БТ клавы :(

saltlake @ 11-10-2008 15:10:06

Я попробовал с --force-overwrite, на обеих клавиатурах русский прекращается вообще(

svs57 @ 11-10-2008 22:40:45

К сожалению за неимением БТ клавы не могу проверить.
Гляньте файлы. Там все прозрачно и понятно.

vitalik.myopenid.com @ 07-11-2008 10:38:14

По рекомендациям с этого топика "КОМФОРТНОзировал" ввод, правда, с обычной юсб клавы. Все нравится, но "нокиевская" расскладка не подходит, видимо -- не все клавиши работают, и мне не нужно залипание...

"Родные" расскладки работают корректно (и русская, и украинская), но неудобно лезть каждый раз в панель управления..

Собственно, вопросы:
-решил кто-то проблему переключения стандартной, не нокиевской клавы?
-возможно ли организовать тройное переключение расскладок? (интересует en-ru-ua (английская, русская, украинская))

Bolt123 @ 12-11-2008 00:37:41

Hammer_NN говорит:

В дополнение к посту Timurka "Привязка клавиатуры ЛУЧ-ВТ (ака ВК-600, Genius Mobile Keyboard, etc.) к таблетке N800" прикладываю подправленный файлик ru_ge . Теперь нажимаются все кнопочки на клавиатуре Genius. Осталась незадействованной ALT  внизу слева от пробела,которая не посылает никакого сканкода.И еще совет-после установки клавиатуры сразу же назначайте комбинации клавиш для свертывания-развертывания окон , для меню , переключения задач и т.д.

Код:

    key <AE04> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               4,          dollar, F4 ],
        symbols[Group2]= [               4,        asterisk, F4 ]
    };

- В файле небольшая неточнось на кнопке 4 в русской раскладке печатется * а надо бы точку с запятой, рекомендуется отредактировать этот блок так:

    key <AE04> {
        type= "THREE_LEVEL",
        symbols[Group1]= [               4,          dollar, F4 ],
        symbols[Group2]= [               4,        semicolon, F4 ]
    };


PS это можно сделать и после установки отредактировав /usr/share/X11/xkb/symbols/ru_ge и переконнектив клаву

dim0xff @ 14-11-2008 00:22:56

а как сделать чтобы по нажатию клавиши отбрабатывалось сразу два события? а именно сменялась группа и включался модификатор...

Bolt123 @ 23-11-2008 09:51:55

на клаве Луч есть кнопка "домик", есть желание повесить на нее вызов меню запущенных приложений (тож самое что делает кнопка "домик" на н800)

но чет не получается, подскажите в каком направлении копать,

вот что выдает xev в ответ на нажатие:

KeyRelease event, serial 27, synthetic NO, window 0x1a00001,
    root 0x3e, subw 0x0, time 3407537688, (447,73), root:(527,133),    state 0x0, keycode 147 (keysym 0xff50, Home), same_screen YES,
    XKeysymToKeycode returns keycode: 97
    XLookupString gives 0 bytes:
    XFilterEvent returns: False