The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Русский ввод с клавиатуры в X (Thinstation), !*! Andrey_T, 22-Сен-06, 12:13  [смотреть все]
  • Русский ввод с клавиатуры в X (Thinstation), !*! Andrey_T, 18:55 , 26-Сен-06 (1)
    • Русский ввод с клавиатуры в X (Thinstation), !*! Алексей, 23:54 , 14-Дек-06 (2)
    • Русский ввод с клавиатуры в X (Thinstation), !*! alexgo, 23:23 , 18-Мрт-07 (3)
      >Все оказываеться просто(только докапываться долго): в Thinstantion используетсься откомпилированная раскладка клавиатуры Thinstation-2.2/packages/keymaps-ru/x-common/lib/kmaps/xkb/ru.xkm
      >
      >Необходимо выполнить xkbcomp -xkm $DISPLAY
      >Тогда получишь в текущем каталоге текушую раскладку с твоими переключателями (xkbcomp идет
      >с системой). Достаточно переименовать server-0.xkm в ru.xkm и заменить стандартный, чтобы
      >все заработало как у тебя в системе.
      >Наткнулся на две проблемы:
      >1) Не переключается дополнительная клавиатура в цифры клавишей NumLock
      >решил не искать причину а просто сохранил раскладку в неоткомпилированном виде (xkbcomp
      >-xkb $DISPLAY) отредактировал вручную заменив PgUp PgDown ... на цифры и
      >откомпилировал (xkbcomp server-0.xkb). Потерял при этом возможность набирать не цифры.
      >2) При переключении в русскую раскладку rdesktop не передает серверу нажатия клавиатуры
      >
      >Не очень корректное решение но просто повесил у клиента переключатель на правый
      >контрол. При этом способ переключения не пересекается ни с одним из
      >серверов и хорошо еще и тем что двухклавишные комбинации в Thinstation
      >срабатывают не всегда.

      Проблема с NumLock поправима менее радикальными средствами. Оригинальная откомпилированная раскладка клавиатуры работает с NumLock нормально, но:
      1) содержит досовую (а не winkeys) раскладку русских букв,
      2) содержит только временный переключатель на другую раскладку (правый alt) и не содержит какого либо постоянного переключателя.

      правка заключается с следующих шагах

      cd Thinstation-2.2/packages/keymaps-ru/x-common/lib/kmaps/xkb/
      xkbcomp -xkb ru.xkm
      применяем следующий патч на ru.xkb
      ------------------------------------------------------------------
      diff -Nupr orig/ru.xkb new/ru.xkb
      --- orig/ru.xkb 2007-03-18 23:04:36.604159000 +0300
      +++ new/ru.xkb  2007-03-18 22:52:34.000000000 +0300
      @@ -851,24 +851,18 @@ xkb_symbols "en_US(pc105)+ru" {
           key <AE03> {         [               3,      numbersign ] };
           key <AE04> {
               symbols[Group1]= [               4,          dollar ],
      -        symbols[Group2]= [               4,        asterisk ]
      -    };
      -    key <AE05> {
      -        symbols[Group1]= [               5,         percent ],
      -        symbols[Group2]= [               5,           colon ]
      +        symbols[Group2]= [               4,       semicolon ]
           };
      +    key <AE05> {         [               5,         percent ] };
           key <AE06> {
               symbols[Group1]= [               6,     asciicircum ],
      -        symbols[Group2]= [               6,           comma ]
      +        symbols[Group2]= [               6,           colon ]
           };
           key <AE07> {
               symbols[Group1]= [               7,       ampersand ],
      -        symbols[Group2]= [               7,          period ]
      -    };
      -    key <AE08> {
      -        symbols[Group1]= [               8,        asterisk ],
      -        symbols[Group2]= [               8,       semicolon ]
      +        symbols[Group2]= [               7,        question ]
           };
      +    key <AE08> {         [               8,        asterisk ] };
           key <AE09> {         [               9,       parenleft ] };
           key <AE10> {         [               0,      parenright ] };
           key <AE11> {         [           minus,      underscore ] };
      @@ -939,7 +933,7 @@ xkb_symbols "en_US(pc105)+ru" {
               symbols[Group2]= [ Cyrillic_hardsign, Cyrillic_HARDSIGN ]
           };
           key <RTRN> {         [          Return ] };
      -    key <LCTL> {         [       Control_L ] };
      +    key <LCTL> {         [       Control_L,  ISO_Prev_Group ] };
           key <AC01> {
               type= "ALPHABETIC",
               symbols[Group1]= [               a,               A ],
      @@ -1000,8 +994,14 @@ xkb_symbols "en_US(pc105)+ru" {
               symbols[Group1]= [           grave,      asciitilde ],
               symbols[Group2]= [     Cyrillic_io,     Cyrillic_IO ]
           };
      -    key <LFSH> {         [         Shift_L ] };
      -    key <BKSL> {         [       backslash,             bar ] };
      +    key <LFSH> {
      +        type= "PC_BREAK",
      +        symbols[Group1]= [         Shift_L,  ISO_Prev_Group ]
      +    };
      +    key <BKSL> {
      +        symbols[Group1]= [       backslash,             bar ],
      +        symbols[Group2]= [       backslash,           slash ]
      +    };
           key <AB01> {
               type= "ALPHABETIC",
               symbols[Group1]= [               z,               Z ],
      @@ -1047,8 +1047,14 @@ xkb_symbols "en_US(pc105)+ru" {
               symbols[Group1]= [          period,         greater ],
               symbols[Group2]= [     Cyrillic_yu,     Cyrillic_YU ]
           };
      -    key <AB10> {         [           slash,        question ] };
      -    key <RTSH> {         [         Shift_R ] };
      +    key <AB10> {
      +        symbols[Group1]= [           slash,        question ],
      +        symbols[Group2]= [          period,           comma ]
      +    };
      +    key <RTSH> {
      +        type= "PC_BREAK",
      +        symbols[Group1]= [         Shift_R,  ISO_Next_Group ]
      +    };
           key <KPMU> {
               type= "CTRL+ALT",
               symbols[Group1]= [     KP_Multiply,  XF86_ClearGrab ]
      @@ -1116,7 +1122,10 @@ xkb_symbols "en_US(pc105)+ru" {
           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 <KPDL> {
      +        symbols[Group1]= [       KP_Delete,      KP_Decimal ],
      +        symbols[Group2]= [       KP_Delete,    KP_Separator ]
      +    };
           key <SYRQ> {
               type= "PC_SYSRQ",
               symbols[Group1]= [           Print,         Sys_Req ]
      @@ -1144,7 +1153,7 @@ xkb_symbols "en_US(pc105)+ru" {
           key  <INS> {         [          Insert ] };
           key <DELE> {         [          Delete ] };
           key <KPEN> {         [        KP_Enter ] };
      -    key <RCTL> {         [       Control_R ] };
      +    key <RCTL> {         [       Control_R,  ISO_Next_Group ] };
           key <PAUS> {
               type= "PC_BREAK",
               symbols[Group1]= [           Pause,           Break ]
      ------------------------------------------------------------------
      и компилируем его снова
      xkbcomp -xkm ru.xkb

      можно собирать thinstation. Раскладки будут переключаться по Ctrl+Shift и NumLock прекрасно работать.

      PS естественно, что в конфиге надо поставить KEYBOARD_MAP=ru

      PPS работа с rdesktop в таком варианте не проверялась

  • Русский ввод с клавиатуры в X (Thinstation), !*! uran235, 09:21 , 24-Мрт-07 (4)
  • Русский ввод с клавиатуры в X (Thinstation), !*! andrey, 12:31 , 04-Май-07 (7)



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру