Поиск:  


Общие правила | Список пользователей | Помощь

Отметить всё прочитанным

Windows News Hardware Software Wiki Forum


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


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

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

Аватара для ruslandh

info man howto


Moderator


Сообщения: 8,036
Благодарности: 197

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


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

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


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





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

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


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


Сообщения: 23
Благодарности: 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 |


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


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

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


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

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

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


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


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

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


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

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


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


Сообщения: 23
Благодарности: 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 |


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


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

Профиль | Отправить 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 |


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


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

Профиль | Отправить 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 |


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


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

Профиль | Отправить 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 |


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


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

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


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

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

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


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



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


Аватара для ruslandh

info man howto


Moderator


Сообщения: 8,036
Благодарности: 197

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


Barvinok
Удачи !!!

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


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



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

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




 
Переход



Реклама на форуме OSzone.net


 

Часовой пояс GMT +4. Сейчас 09:02.
© OSzone.net 2001-2009

Powered by: vBulletin
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.

Designed by Ginger

Rambler's Top100