У меня есть клавиатура Microsoft Ergonomic 4000, и я использую пользовательскую раскладку клавиатуры (дворак с некоторыми вещами для умлаутов):
- http://pingus.seul.org/~grumbel/tmp/md5/b054e11505c88e1bfc6ebd5da46bdb78-xmodmap_pke
- http://pingus.seul.org/~grumbel/tmp/md5/f5e42a5b8ba4a034c5945f719b3d2608-xmodmap_pm
Раньше это работало хорошо в течение многих лет, и это все еще работает, за исключением того, что у меня теперь есть проблемы с застрявшей клавишей Mode_switch. Когда я одновременно нажимаю Control_R и Mode_switch (часто случается случайно), клавиша Mode_switch переходит в состояние «зависания», после чего все буквы, которые я печатаю, появляются в форме умлаута, как будто нажата Mode_switch. Я могу отцепить Mode_switch, снова нажав одновременно Control_R и Mode_switch, но это оставляет Gnome в сломанном состоянии, где он больше не реагирует на мои сочетания клавиш Gnome. Сами нажатия клавиш по-прежнему регистрируются оконным менеджером, поскольку можно видеть изменения в приложениях (курсор в терминале Gnome превратится в незаполненный прямоугольник, как если бы приложение потеряло фокус), но не вызывает связанное действие.
Кто-нибудь знает, что может быть причиной этого? Или у кого-нибудь есть идея, как я могу это отладить?
xev, похоже, здесь не помогает, так как сообщает о нормальных событиях KeyPress/KeyRelease, даже когда ключ застрял. Также о привязках клавиш Gnome вообще не сообщается, когда они находятся в «сломанном» состоянии. Я предполагаю, что они захвачены оконным менеджером еще до того, как они достигли xev.
Я использую Ubuntu 10.04 с Gnome и Metacity, я отключил все эффекты, связанные с OpenGL, поэтому Compiz не должен мешать.
Некоторая общая информация о том, какие приложения участвуют в обработке привязки ключей Gnomes, также была бы полезна, поскольку я предполагаю, что ее мета-город, но перезапуск мета-города не решает проблему.