Привет всем!
У меня
Ubuntu 9.10 на стареньком ноутбуке
Asus.
Недавно я пролил на клавиатуру ноутбука немного средства для мытья офисной техники.
Клавиатура просохла, и всё было нормально, однако через некоторое время начались глюки... Опытным путём я установил, что компьютер уверен, будто я держу нажатой правую клавишу
Alt. (При нажатии
Tab происходило переключение между окнами, при нажатии буквенных клавиш открывались пункты меню.) Скорее всего, окислились контакты.
Продираясь сквозь глюки, я залез в настройки клавиатуры (Система - Параметры - Клавиатура) и обнаружил, что можно "поменять местами" клавиши
Alt и
Win - что тут же и осуществил! После этого ситуация стала более терпимой, компьютер хотя бы более адекватно реагирует на щелчки мыши, не пытается перетаскивать окна вместо нажатия на кнопки.
Однако проблема всё равно осталась: теперь комп думает, что я держу нажатой клавишу
Win.
Как следует погуглив, я обнаружил, что есть такая интересная директория
/usr/share/X11/xkb/где много всякой всячины, и в частности
/usr/share/X11/xkb/keycodes/где содержатся таблицы, задающие символические имена для скан-кодов, поступающих с клавиатуры.
Разумеется, сразу же возникла идея - присвоить имени <LALT> какой-нибудь другой код, чтобы компьютер перестал её "чувствовать" как нажатую.
Но возникает ряд вопросов:
1. Меня сильно смущает разнообразие файлов в данном каталоге.
Где именно следует вносить изменения, чтобы они подействовали? В сети чаще всего упоминается
evdev, но я не уверен, что это именно то...
2. Как именно следует отредактировать файл?.. Лично я вижу всего два пути:
а) Самый очевидный способ - присвоить <LALT> какое-нибудь недоступно высокое значение, например, 800. Клавиатур с 800 клавишами не существует, поэтому <LALT> никогда не будет нажата, а её прежнее значение, посылаемое клавиатурой, никак не будет обрабатываться.
б) Другой способ - присвоить <LALT> то же значение, что и какой-нибудь другой клавише, например <LCTL>. В этом случае, по идее, при нажатии левого Ctrl компьютер должен думать, что нажата также и левая клавиша Alt. Ну а для нажатия Alt прописать в файле
/usr/share/X11/xkb/symbols/ru значение Control_L, и таким образом в итоге компьютер будет думать, что нажата клавиша Ctrl.
Вопрос к знатокам: какой вариант лучше? И можно ли вообще реализовать какой-нибудь из них? Или это приведёт к таким глюкам, что система откажется загружаться?..
Я должен действовать наверняка, потому что при неисправной клавиатуре любые глюки системы - смерти подобны!
P.S. Прошу извинить, если вопросы показались наивными и ламерскими - я вообще-то больше гуманитарий по складу характера.