The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Русский ввод с клавиатуры в X (Thinstation)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Оптимизация и Промышленные системы (Public)
Изначальное сообщение [Проследить за развитием треда]

"Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Andrey_T email(??) on 22-Сен-06, 12:13 
Собрал Thinstation с поддержкой руссокй локали для работы в качестве RDP клиента и браузера. Установил ttf шрифты. Firefox правильно отображает русские странички, но ввода русских букв в X нет. В консоли по Ctrl+Shift раскладки переключает и выводит кракозябры (шрифты для консоли не ставил)
-----содержимое XF86Config-0 ----------------------------
Section "Files"
    RgbPath     "/usr/X11R6/lib/X11/rgb"
    FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
    ModulePath  "/usr/X11R6/lib/X11/modules"
EndSection

Section "ServerFlags"
    Option      "blank time"    "10"
    Option      "standby time"  "20"
    Option      "suspend time"  "30"
    Option      "off time"      "60"
    Option      "Xinerama"      "On"
EndSection

Section "InputDevice"
    Identifier  "Mouse2"
    Driver      "mouse"
    Option      "Protocol"      "ImPS/2"
    Option      "Device"        "/dev/input/mice"
    Option      "ZAxisMapping"  "4 5"
    Option      "AlwaysCore"
EndSection
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Modes "800x600"
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Modes "800x600"
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Modes "800x600"
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Modes "800x600"
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Modes "800x600"
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Modes "800x600"
                Depth     24
        EndSubSection
EndSection
Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
EndSection
Section "Device"
        Option "swcursor" "On"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "HWcursor"                  # [<bool>]
        #Option     "NoAccel"                   # [<bool>]
        Identifier  "Card0"
        Driver      "vmware"
        VendorName  "VMware Inc"
        BoardName   "[VMware SVGA II] PCI Display Adapter"
        BusID       "PCI:0:15:0"
EndSection
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Mouse2"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection
Section "Module"
        Load  "dbe"
        Load  "extmod"
EndSection
Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "AutoRepeat"    "400 30"
EndSection
Section "InputDevice"
    Identifier  "Mouse0"
    Driver      "mouse"
    Option      "Protocol"      "ImPS/2"
    Option      "Device"        "/dev/psaux"
    Option      "ZAxisMapping"  "4 5"
    Option      "Resolution"    "100"
EndSection
--------------------------XF86Config-0---------------------------

пробовал изменять
---------XF86Config-0---
...................................
Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "AutoRepeat"    "400 30"
    Option      "XkbModel" "pc104"
    Option      "XkbLayout" "us,ru(winkeys)"
    Option      "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
EndSection
..............................
----------------------
Не дает никаких результатов

В дистрибутиве использован Xorg 6.9
Изменить или включить новые модули не получиться они идут в виде бинарных пакетов. Можно изменять только конфигурационные файлы

Кто занимался русификацией иксов, посоветуйте куда смотреть

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Andrey_T email(ok) on 26-Сен-06, 18:55 
Все оказываеться просто(только докапываться долго): в 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 срабатывают не всегда.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Алексей email(??) on 14-Дек-06, 23:54 
>Все оказываеться просто(только докапываться долго): в 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
>срабатывают не всегда.

Сам так долго искал что устал...Вот тебе ссылка мил человек :-)
http://www.ltsp.org.ru/files/4.1.1/ltsp-rdesktop-1.4.1-0-i386.tgz

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от alexgo on 18-Мрт-07, 23:23 
>Все оказываеться просто(только докапываться долго): в 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 в таком варианте не проверялась

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Cyrus_user on 04-Май-07, 10:10 
>Проблема с NumLock поправима менее радикальными средствами. Оригинальная откомпилированная раскладка клавиатуры работает
>с NumLock нормально, но:
>1) содержит досовую (а не winkeys) раскладку русских букв,
>2) содержит только временный переключатель на другую раскладку (правый alt) и не
>содержит какого либо постоянного переключателя.
>
>правка заключается с следующих шагах
>
>cd Thinstation-2.2/packages/keymaps-ru/x-common/lib/kmaps/xkb/
>xkbcomp -xkb ru.xkm
>применяем следующий патч на ru.xkb
----------------------------------------
>и компилируем его снова
>xkbcomp -xkm ru.xkb
>
>можно собирать thinstation. Раскладки будут переключаться по Ctrl+Shift и NumLock прекрасно работать.
>
>
>PS естественно, что в конфиге надо поставить KEYBOARD_MAP=ru
>
>PPS работа с rdesktop в таком варианте не проверялась

в таком варианте в rdesktop не работает переключение ctrl-shift и стрелочки :(

я попытался поискать и помучить xkb самостоятельно, но сделать универсальный ru.xkm не смог. поправил скрипты, где в зависимости от сессии заменяется ru.xkm (пока так)

Может кому удалось сделать ru.xkm одинаково нормально работающий и для иксов, и для rdesktop в thinstation2.2?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от uran235 on 24-Мрт-07, 09:21 
если не секрет, то как добились того, что "Firefox правильно отображает русские странички"?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Andrey_T email(??) on 29-Мрт-07, 16:19 
>если не секрет, то как добились того, что "Firefox правильно отображает русские
>странички"?

Добавил Windows ttf шрифты
Линуксовые настроить не смог
При этом русский текст отображает правильно только firefox

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от andrey (??) on 04-Май-07, 12:31 
все работает.

1. отключи xkb (Option  "XkbDisable") для работы rdesktop он не нужен
2. скопируй раскладку en-us в ru в файлах share/rdesktop/keymaps
3. замени map 0x409 на 0x419 в файле ru

и никаких проблем с клавиатурой на терминалах уже года 3 точно.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Cyrus_user on 10-Май-07, 09:59 
>все работает.
>
>1. отключи xkb (Option  "XkbDisable") для работы rdesktop он не нужен
>
>2. скопируй раскладку en-us в ru в файлах share/rdesktop/keymaps
>3. замени map 0x409 на 0x419 в файле ru
>
>и никаких проблем с клавиатурой на терминалах уже года 3 точно.


если это ответ мне, то вы невнимательно прочитали проблему.
повторяю:
1. с дефолтным ru.xkm нет проблем в rdesktop. переключение crtl-shift, стрелки и numluck работают. Проблемы в Иксах, переключение на русский только при нажатой клавише R-Alt
2. с изменённом ru.xkm полученным как вышепреведённым патчем так и полученным xkbcomp :0 -xkm ru.xkm нет проблем в Иксах. В rdesktop проблема в переключении: нет ввода после переключения.
поэтому вопрос остаётся в силе, универсальный ru.xkm одинаково _нормально_ работающий как в Иксах так и в rdesktop


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от Cyrus_user on 10-Май-07, 10:06 

>если это ответ мне, то вы невнимательно прочитали проблему.
>

сорри, поторопился с выводами. всё сделал сам. спасибо

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Русский ввод с клавиатуры в X (Thinstation)"  
Сообщение от novocel email on 19-Окт-07, 12:23 
>
>>если это ответ мне, то вы невнимательно прочитали проблему.
>>
>
>сорри, поторопился с выводами. всё сделал сам. спасибо

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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