PDA

Показать полную графическую версию : Проблемма с клавиатурой в Thinstation 2.1


Страниц : [1] 2

Barvinok
13-06-2005, 03:10
Сделал терминалы на базе Thinstation 2.1 rc1
Подключаюсь к серверу Win2003

при переключении языка ввода по левому Alt+Shift может возникать эффект залипания клавиши Alt. Нормально работает только при отчётливом алгоритме переключения, т.е.:
- нажимаем Alt
- нажимаем Shift
- отпускаем Shift
- отпускаем Alt

Так же может возникнуть эффект залипания левой клавиши <Win> (она же <Start> - слева от Alt).

Лечится нажатием залипшей клавиши.


Я выявил следующие закономерности:
эффект залипания наблюдается, если при компиляции образа включать package keymaps-en_us

если включать package keymaps-ru - вдобавок вообще перестаёт работать клавиша с русской точкой <.>

если НЕ включать вообще никакой пакет из раздела Keyboard layouts, эффекта залипания не происходит, но при этом отрубаются курсоры, NumPad и шесть кнопок над курсорами (Ins, Del, Home....etc)
Вероятно, для терминала пакеты раскладок не нужны - на сервер просто отправляется код клавиши? А раскладки нужны только для работы в режиме лёгкой станции (blackbox, icewm + FireFox)?
Из-зи чего тогда отрубается половина клавишь?

К сожалению, я только начинаю осваивать Linux.
Если знающие люди подскажут хотябы в каком направлении копать и что читать, думаю, с проблемой разберусь.
Отчёт напишу, разумеется

ruslandh
13-06-2005, 18:52
Расскажите поподробне о Thinstation 2.1 rc1 и ваших терминалах
Как я понимаю, там используются X ?
Тогда там может быть надо копать в настройки самих X-в тогда важно версия X-в
На ALT вообще в Linux ничего не надо вешать - она по-умолчанию является клавишей Meta и на неё и так много повешено, лучше левый Ctrl+Shift

Barvinok
14-06-2005, 12:34
Терминалы бездисковые. Грузятся с BootROM методом EtherBoot (если прошиваю сам) и PXE (если использую интегрированную сетевушку).
Образ Thinstation 2.2-beta1 (в первом посте я неверно указал версию) компилю из исходников (http://citkit.dl.sourceforge.net/sourceforge/thinstation/Thinstation-2.2beta1.tar.gz) под Alt Linux Master 2.4

Там действителько используется X-сервер. Вот выдержка из build.conf:
# --- Xorg6R7.0

# General Xorg6R7.0 video drivers:
# Only include what you really need!

#package xorg6-apm # Alliance ProMotion video driver
#package xorg6-ark # Ark Logic video driver
package xorg6-ati # ATI video driver
#package xorg6-chips # Chips and Technologies video driver
#package xorg6-cirrus # Cirrus Logic video driver
#package xorg6-cyrix # Cyrix video driver
#package xorg6-glint # GLINT/Permedia video driver
#package xorg6-i128 # Number 9 I128 video driver
package xorg6-i740 # Intel i740 video driver
#package xorg6-i810 # Intel 8xx integrated graphics chipsets
#package xorg6-mga # Matrox video driver
#package xorg6-neomagic # Neomagic video driver
#package xorg6-nsc # Nsc video driver
package xorg6-nv # NVIDIA video driver
#package xorg6-r128 # ATI Rage 128 video driver
package xorg6-radeon # ATI RADEON video driver
......и.т.д.

При загрузке в начале мелькает окошко Иксов (Х на сером фоне), потом - стандартное окно логона Windows.

Насчёт левого Ctrl+Shift я понял. Счаз так и настроено всё.
Но:
во-первых, юзер может случайно задеть Alt или Start и его начнёт колбасить (а юзеров несколько сотен)
во-вторых - просто хочется разобраться
в третьих - данная проблемма пропадает, если не включать в образ Keyboard layouts - истина где-то рядом!

Может отключить те функции, что навешаны на ALT в Linux? (зачем они мне, если единственная его функция - rdesktop?)

ruslandh
14-06-2005, 23:55
Я не настолько глубоко знаю проблему, расскажу, что знаю
1 В настройках xorg.conf прописываются переключатели, работающие в X :
Пример :
Section "InputDevice"
Identifier "Keyboard1"
Driver "kbd"
Option "AutoRepeat" "250 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scrol
EndSection

(настройка на Ctrl+Shift, плюс индикация русской раскладки Scrool Lock)
можно тут накрутить так ..... например - Alt- временное переключение на русские буквы (пока нажат, или замораживание переключений, пока второй ALT не нажмёшь и другие фокусы) - посмотрите что у вас

2 В KDE и Gnome (может и в других) можно включить ещё свои настройки (тогда надо отключать в X)

3 В консоли - где-то ещё (где навскидку не скажу, если надо, поищу)

4 По стандарту клавишей Meta является левый Alt (одновременное нажатие) и Esc (последовательное нажатие). Мету можно назначить практически на любую клавишу. Она может настраиваться точно в консоли, и вроде в X и оконных менеджерах

Barvinok
15-06-2005, 01:45
В файле Thinstation-2.1\packages\xorg6\lib\X11\XF86Config-Xorg_Dual1.tpl есть разделыSection "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "AutoRepeat" "400 30"
EndSection

Section "ServerLayout"
Identifier "S0"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection


В файле Thinstation-2.1\packages\xorg6\lib\X11\XF86Config-Xorg_Dual2.tpl есть разделы
Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "Protocol" "usbev"
Option "Device" "/dev/input/event0"
Option "AutoRepeat" "400 30"
EndSection

Section "ServerLayout"
Identifier "S1"
Screen 1 "Screen1"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection


В файле Thinstation-2.1\packages\xorg6vnc\lib\X11\vnc_keyboard.tpl есть разделы
Section "InputDevice"
# vncKeyboard: keyboard actions from vnc
Identifier "vncKeyboard"
Driver "rfbkeyb"
EndSection

Section "InputDevice"
# vncMouse: mouse actions from vnc
Identifier "vncMouse"
Driver "rfbmouse"
EndSection

Файла xorg.conf нет.

Указанных настроек клавиатуры тоже нигде нет. Может просто добавить?
Как я понял, vnc_keyboard.tpl нас не интересует.
В первых двух можно попробовать что-то добавить. Но что?
Я даже не знаю, что значит "Meta"...

mar
15-06-2005, 02:09
Файла xorg.conf нет
Судя по документации (http://thinstation.sourceforge.net/faq.html) используется XFree86 4.3, а не Xorg

ruslandh
15-06-2005, 08:01
Так тут и про клавиатуру расписано :
http://thinstation.sourceforge.net/keyboard-guide.html

Barvinok
15-06-2005, 10:20
Скажем так: XFree86 тоже используется (видимо для слабых машин)
В build.conf есть раздел # --- X related packages

#package xorg6-tinyx # TinyX Xvesa server (for low memory machines)
# works with ICA too, is slower, don't choose any X modules with
# this server, you don't need anything else.
# Otherwise choose from Xfree 3 or 4 (4 is recommended)
#package xf3-svga # XF86_SVGA 3.3.6 server
#package xf3-s3 # XF86_S3 3.3.6 server
#package xf3-vmware # VMWare X server for development
#package xorg6vnc # Xorg VNC Server Module. With this package you can
# connect to the TS client's desktop from a java
# browser on "http://<TS ip>:5800
Версия 4.3 использовалась раньше (в 2.0.х, например). Проблеммы были те же. В 2.1 её заменили на Xorg

Что касается http://thinstation.sourceforge.net/keyboard-guide.html ...
Естественно я читал FAQ, прежде чем задавать вопросы.
Там написано, что если кто-то решит проблемму, пусть расскажет всем (и сделает исправления в соответствующих CVR)

Barvinok
15-06-2005, 22:29
Кажется, начинаю докапываться до зарытой собаки.
Все раскладки, как я понял, находятся в каталоге .\Thinstation-2.1\packages\
Разложены по соответствующим папкам:

keymaps-ar
keymaps-cs
keymaps-da
keymaps-de
.....etc

Заходим в \Thinstation-2.1\packages\keymaps-en_us\rdesktop\lib\kmaps\keymaps\
Видим три файла:
common размером 2085 (байт)
en_us размером 609
modifiers размером 298

Содержимое файла common (привожу частично, лишь то, что показалось интересным или непонятным)
space 0x39 localstate

less 0x56
greater 0x56 shift
bar 0x56 altgr
brokenbar 0x56 shift altgr

.......

# Inhibited keys
#
Caps_Lock 0x0 inhibit
Multi_key 0x0 inhibit
Особенно мне подозрительна строчка brokenbar 0x56 shift altgr

Содержимое файла en_us (IMHO ничего интересного)
# generated from XKB map us
include common
map 0x409
exclam 0x02 shift
at 0x03 shift
numbersign 0x04 shift
dollar 0x05 shift
percent 0x06 shift
asciicircum 0x07 shift
..... etc

А вот файл modifiers очень интересен (привожу полностью):
Shift_R 0x36
Shift_L 0x2a

Alt_R 0xb8
Mode_switch 0xb8
Alt_L 0x38

Control_R 0x9d
Control_L 0x1d

# Translate Meta, Super and Hyper to Windows keys.
# This is hardcoded. See documentation for details.

# Translate Menu to the Windows Application key.
# This one does not work either.
Menu 0xdd

Какие будут мнения?

ruslandh
15-06-2005, 22:33
А вот такой вопрос - после того как система установлена, можно -ли посмотреть/изменить Linux параметры ?

ruslandh
15-06-2005, 22:54
Нашел откуда этот файл - из rdesktop, соответственно есть смысл поискать документацию по rdesktop.
(Т.е не привязываясь к конкретному дистрибутиву)

Barvinok
15-06-2005, 23:47
А вот такой вопрос - после того как система установлена, можно -ли посмотреть/изменить Linux параметры?
Вроде бы да.
В build.conf присутствуют такие стороки:
#package www # Web access to client. From a browser: "http://<IP number>"
#package e3 # Basic vi like Editor
#package debug # Debug support, adds strace and other commands
# not recommended for normal use.
Но это нигде особо не докуметировано.....

Нашел откуда этот файл - из rdesktop, соответственно есть смысл поискать документацию по rdesktop.
Но что именно искать?
Я понимаю, что парни специально менять ничего не стали: взяли rdesktop со шрифтами и алга...
Скорее всего, там будет то же самое...
Но посмотреть надо

Мне интересно, кто-нить из присутствующих из установленного полноценного Linux пробовал работать в Win терминале?
Были ли замечены подобные проблеммы?

Barvinok
16-06-2005, 00:56
Скачал rdesktop-1.4.1.tar.gz

Как и предполагалось, отличий практически никаких.
В common добавились кейкоды "мёртвых" клавишь Solaris:
SunF36 0x57 localstate
SunF37 0x58 localstate

В modifiers какая-то странная строчка
ISO_Level3_Shift 0xb8

ruslandh
16-06-2005, 08:49
Как я понимаю, вы хотите сделать анологичное решение ?
http://www.ltsp.ru/ru/about
Кстати, опыт ваших предшественников :)
http://linux.opennet.ru/openforum/vsluhforumID3/4923.html#20
Правда пока ничего не нашёл по существу вашего вопроса.
http://www.google.com/search?hl=ru&ie=UTF-8&oe=UTF-8&q=%D1%80%D0%B0%D1%81%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0+%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82% D1%83%D1%80%D0%B0+Linux+%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=

ruslandh
16-06-2005, 08:51
http://www.google.ru/search?hl=ru&ie=windows-1251&q=%F0%E0%F1%EA%EB%E0%E4%EA%E0+%EA%EB%E0%E2%E8%E0%F2%F3%F0%E0+Linux+%EA%EE%ED%F1%EE%EB%FC&btnG=%CF%EE%E8%F1%EA+%E2+Google&lr=

Barvinok
16-06-2005, 13:33
Да, статей по локализации много.
Но, боюсь, конкретно данный вопрос может помочь решить только человек, видящий картину в целом.
Вероятно, происходит накладка: в Linux и Windows используются одинаковые клавиши.

Ещё раз хочу обратить внимание, что если не включать в образ НИКАКИХ раскладок, эффект залипания пропадает - это может стать ключём!

Может пойти от обратного? Решить проблеммы, которые возникают без раскладок?

ruslandh
17-06-2005, 06:35
Linux и Windows используются одинаковые клавиши

Тут не поспоришь. Вначале любое нажатие получает "Linux" (тут куча программ) , потом он отсеивает свои нажатия (как он считает), оставшиеся передаёт rdesktop, тот доджен перехватить то, что предназначено ему (как программе), а оставшиеся посылает в "Windows".

Может пойти от обратного? Решить проблемы, которые возникают без раскладок?

А самому Linux разве смена раскладок не нужна? Боюсь, что rdesktop , будет тогда посылать только одну раскладку (или русскую или английскую). А вообще без раскладок он ничего посылать не будет (или выберет ту, которая стоит дефолтной где-нибудь в глубине ядра).

Barvinok
17-06-2005, 11:45
Я ж говорю....
Если компилить образ без раскладок, я совершенно спокойно работаю в терминале. Печатаю по русски и по английски. Переключаюсь без проблем - ни ALT ни Win не залипает.

Но, блин, перестают работать курсоры и пр. - всё описано в первом посте

Предлагая пойти от обратного, я имел ввиду как-то поправить эту самую дефолтную раскладку. Осталось только разобраться где править....

ruslandh
17-06-2005, 22:30
А если явно поставить в консоле английскую раскладку ? И попробовать в X-х забить две раскладки eng+rus ?
PS вы извините, я с терминалами не сталкивался :) Хочу понять как работает

Barvinok
21-06-2005, 22:11
Работает просто:
стартует максимально обрезанный линукс
стартуют иксы
стартует rdesktop и сразу подрубается к серверу терминалов.

Можно вместо rdesktop запустить какой-нить window-manager и работать, например, с браузером FireFox.




© OSzone.net 2001-2012