- Русский ввод с клавиатуры в 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)
|