Доброго времени суток. Сам столкнулся с такой проблемой (кстати, решение еще не найдено?), есть версия, что в rdesktop где-то прячется баг.
Поведение rdesktop:
При "правильном" переключении раскладки по альт-шифт:
1. Нажимаем альт. Генерируется событие (прерывание) "нажат альт"
2. Нажимаем шифт. Генерируется событие "нажат шифт"
3. Отпускаем шифт. Генерируется событие "отпущен шифт"
Здесь винда понимает, что нужно переключить раскладку. И переключает ее.
4. Отпускаем альт. Генерируется событие "отпущен альт"
При "неправильном" переключении альт-шифт происходит следующее:
1. Нажимаем альт. Событие "нажат альт"
2. Нажимаем шифт. Событие "нажат шифт"
3. Отпускаем альт. Что видим? Винда переключила раскладку,
как будто мы отпустили шифт.
Возможно, здесь в rdesktop баг, и
он посылает сообщение "отпущен шифт"
4. Отпускаем шифт. Снова винда переключает раскладку, значит снова "отпустили шифт".
Замечаем, что после "неправильного" переключения раскладки у винды
остается ощущение, что клавиша альт все еще прижата (например, при нажатии "H" вываливается справка, как по Alt+H). Лечится повторным нажатием клавиши альт.
Проверил поведение штатного виндового десктоп-клиента. Оно адекватно: он в обоих случаях, при "правильном" и "неправильном" переключении, переключает раскладку один раз и не оставляет залипнутым альт.
Как это лечить, я пока не выяснил, буду колупать дальше (скорее всего, с использованием сниффера) и надеюсь на вашу поддержку