Имя пользователя:
Пароль:
Помощь | Регистрация | Забыли пароль? | Помощь | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Проблемма с клавиатурой в Thinstation 2.1

Ответить
Настройки темы

Аватара для ruslandh

info man howto


Moderator


Сообщения: 5774
Благодарности: 214

Профиль | Сайт | Отправить PM | Цитировать


Barvinok
Это-то как раз ясно
Истина скрывается в нюансах

-------
Поспешай не торопясь


Отправлено: 22:59, 21-06-2005 | | #21 |


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Доброго времени суток. Сам столкнулся с такой проблемой (кстати, решение еще не найдено?), есть версия, что в rdesktop где-то прячется баг.

Поведение rdesktop:

При "правильном" переключении раскладки по альт-шифт:
1. Нажимаем альт. Генерируется событие (прерывание) "нажат альт"
2. Нажимаем шифт. Генерируется событие "нажат шифт"
3. Отпускаем шифт. Генерируется событие "отпущен шифт"
Здесь винда понимает, что нужно переключить раскладку. И переключает ее.
4. Отпускаем альт. Генерируется событие "отпущен альт"

При "неправильном" переключении альт-шифт происходит следующее:
1. Нажимаем альт. Событие "нажат альт"
2. Нажимаем шифт. Событие "нажат шифт"
3. Отпускаем альт. Что видим? Винда переключила раскладку,
как будто мы отпустили шифт. Возможно, здесь в rdesktop баг, и
он посылает сообщение "отпущен шифт"

4. Отпускаем шифт. Снова винда переключает раскладку, значит снова "отпустили шифт".

Замечаем, что после "неправильного" переключения раскладки у винды
остается ощущение, что клавиша альт все еще прижата (например, при нажатии "H" вываливается справка, как по Alt+H). Лечится повторным нажатием клавиши альт.

Проверил поведение штатного виндового десктоп-клиента. Оно адекватно: он в обоих случаях, при "правильном" и "неправильном" переключении, переключает раскладку один раз и не оставляет залипнутым альт.

Как это лечить, я пока не выяснил, буду колупать дальше (скорее всего, с использованием сниффера) и надеюсь на вашу поддержку

-------
С уважением, Figaro
http://romik.web.ur.ru


Отправлено: 18:29, 28-06-2005 | | #22 |





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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Figaro
Чувак, ты вкуриваешь..
Но ты не обратил внимание на один нюанс: если не включать при компиляции НИКАКИХ раскладок клавиатуры, то залипания не происходит.
Значит проблемма кроется не в rdesktop, а в интерференции между rdesktop и раскладками (IMHO).

Если что накапаешь - пиши обязательно: этой проблеммой масса людей изводится!
Я, к сожалению, линукс только начал изучать. Что то путное смогу сказать не раньше, чем через пол-года.

Отправлено: 03:11, 29-06-2005 | | #23 |

Drug_


Сообщения: n/a

Профиль | Цитировать


Забавно, дошел до туда же что и Barvinok, пытаюсь "заработать" стрелки и клавиши повыше или отключить залипание.

Отправлено: 12:24, 29-06-2005 | | #24 |


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Радостно, что сниффер использовать не придется, а почти готовое решение проблемы описано вот тут: http://forum.opennet.ru/openforum/vs...ID1/57069.html. Насколько я понял, этот не баг, а такая иксовая особенность: интерпретировать нажатие альт+шифт как нажатие клавиши "мета".

Я тоже проверил, для нормальной работы thinstation нужно:
1. Запустить rdesktop (чтобы загрузились иксы)
2. Перейти во вторую свободную консоль (ctrl+alt+f2)
3. Там залогиниться (для дефолтной сборки пользователь root, а пароль pleasechangeme) и набрать команду
Код:
DISPLAY=':0' xmodmap -e "keysym Alt_L = Alt_L"
4. Проверить, как замечательно работает rdesktop

Ясно, что каждого так делать не заставишь, поэтому thinstation нужно пересобрать.
Пересборкой thinstation я еще не занимался (нет времени), поэтому пока не нашел, чего можно исправить, но есть подозрение, что можно поправить в файле packages/rdesktop/etc/cmd/rdesktop.global с
Код:
CMD_GLOBAL="rdesktop -k $KEYBOARD_MAP -f"
на
Код:
CMD_GLOBAL="xmodmap -e 'keysym Alt_L = Alt_L'; rdesktop -k $KEYBOARD_MAP -f"
Вот пока и все, что удалось найти

-------
С уважением, Figaro
http://romik.web.ur.ru


Отправлено: 18:31, 29-06-2005 | | #25 |


Пользователь


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


К сожалению не сработало.
При загрузке образа самой последней строкой идёт
Код:
//etc/cmd/rdesktop.global: 1: Syntax error: Unterminated quoted string
Пробовал давать команду второй строкой:
Код:
CMD_GLOBAL="rdesktop -k $KEYBOARD_MAP -f"
CMD_GLOBAL="xmodmap -e 'keysym Alt_L = Alt_L'"
Ошибку не выдаёт, но отказывается запускать rdesktop, сволочь

Вариант с комадой из второй консоли тоже не сработал:
Код:
-sh: xmodmap: not found

Отправлено: 19:31, 01-07-2005 | | #26 |


Пользователь


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Собственно, я думаю проще перекомпилить саму раскладку, чем пытаться что-то править командами.
Мы выяснили, что проблемма заключается в раскладке X-сервера.
Раскладка находится в \packages\keymaps-en_us\x-common\lib\kmaps\xkb\en_us.xkm (соответственно для каждой локали)
Формат *.xkm - это раскладка, скомпилированная с помощью xkbcomp
Дело за малым: нужно взять раскладку xkb, найти строки, типа
Код:
keycode 0x40 = Alt_L Meta_L
keysym Alt_L = Meta_L
заменить их на
Код:
keycode 0x40 = Alt_L Alt_L
keysym Alt_L = Alt_L
скомпилировать и положить в соответствующий каталог Thinstation.
Кажись, должно сработать.

Так же я заметил попытки забороть эту проблемму в файле \packages\keymaps-en_us\rdesktop\lib\kmaps\keymaps\modifiers:
Код:
Shift_R 0x36
Shift_L 0x2a

Alt_R 0xb8
Mode_switch 0xb8
ISO_Level3_Shift 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
Но, поскольку трабла в Х-сервере, решить её с помощью rdesktop не удалось. Я так думаю!

Отправлено: 19:51, 01-07-2005 | | #27 |


Пользователь


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Господа....
Можете пожать мою мужественную руку..
Я сам до сих пор в эйфории.. но это оправдано: сырость побеждена!
Проблемма залипающего Alt в Thinstation решена мною только что!
Делаем следующие манипуляции:
1. Берём бинарник раскладки клавиатуры X-сервера из дистрибутива Thinstation, например \packages\keymaps-en_us\x-common\lib\kmaps\xkb\en_us.xkm
2. С помощью утилиты xkbcomp конвертируем его в текстовый формат:
Код:
xkbcomp -xkb en_us.xkm
В полученном файле en_us.xkb ищем слово "Meta" - оно там встречается один раз в строке
Код:
key <LALT> {         [           Alt_L,          Meta_L ] };
3. Удаляем нафиг Meta_L
Получаем строку
Код:
key <LALT> {         [           Alt_L     ] };
4. Сохраняем изменения и компилим файл обратно в бинарник:
Код:
xkbcomp -xkm en_us.xkb
и заменяем нашим бинарником исходный в дистре Thinstation.
5. Компилим Thinstation и юзаем терминал без гиммороя.
Фсё


Последний раз редактировалось Barvinok, 07-07-2005 в 16:48.


Это сообщение посчитали полезным следующие участники:

Отправлено: 14:47, 07-07-2005 | | #28 |


Пользователь


Сообщения: 48
Благодарности: 1

Профиль | Отправить PM | Цитировать


Пожалуй, напишу в FAQ на SourceForge...
А то не только в России люди мучаются.

Нужно будет полечить ещё следющие баги:
при нажатом CapsLock буквы <ю б ь х> и возможно ещё какие-то печатаются строчными (с Shift нормально)

При компиляции с русской раскладкой не работает <. ?> (русская точка-английский вопрос).
Буду разбираться.


Последний раз редактировалось Barvinok, 07-07-2005 в 14:56. Причина: Добавление



Отправлено: 14:49, 07-07-2005 | | #29 |


Аватара для ruslandh

info man howto


Moderator


Сообщения: 5774
Благодарности: 214

Профиль | Сайт | Отправить PM | Цитировать


Barvinok
Удачи !!!

-------
Поспешай не торопясь


Отправлено: 12:10, 02-08-2005 | | #30 |



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Проблемма с клавиатурой в Thinstation 2.1

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
thinstation и экран загрузки DadushkaElf Сетевые технологии 2 02-11-2008 11:53
Прочее - ThinStation: не подымается X sysZero Общий по Linux 2 22-04-2008 11:43
RDP/Citrix/Term - Thinstation почему-то не видит thinstation.conf.user mitiya Сетевые технологии 2 29-03-2008 01:49
Thinstation и Cirruss Logic Derik Общий по Linux 0 16-04-2007 13:37
Проблема с Thinstation. Отзовитесь кто пользует Skochmar Сетевые технологии 2 14-04-2006 16:30




 
Переход