Я немного отчаялся здесь и разочарован возможностями определения раскладки клавиатуры в Linux (Ubuntu 10.04 здесь). Кажется, что нет простого графического способа определения отображений клавиатуры (за исключением клавиатурыlayouteditor, но, честно говоря, я не понимаю описания установки. install antlr? Каир? Панго? GObject ?? генерировать грамматики ?? WTF ???).
Я использую алюминиевую клавиатуру Apple с немецкой раскладкой, но независимо от того, что я делаю, клавиши (<>) и (^ °) всегда меняются местами (мне удалось изменить поведение по умолчанию для клавиш f1 ... f12 с мультимедиа возвращается к «обычному», ориентированному на приложения ... все, что вам нужно сделать, это добавить строку echo 2 > /sys/module/hid_apple/parameters/fnmode
в /etc/rc.local
... это чертовски очевидно Мне стыдно, я должен был искать в Интернете это!).
Кроме того, я считаю, что китайские IME ужасны (ни один из многих, которые я пробовал, нигде не подходит к Google Pinyin для Windows), и я не получил ни ibus, ни scime, чтобы работать удовлетворительно для меня.
Я нахожу, что клавиатура Linux справляется с болотом. я знаю, что это должно быть одной из самых сложных проблем в компьютерной науке, так как этот предмет становится настолько запутанным, независимо от того, находится ли он на окнах или в браузере JavaScript. как лингвист, я хорошо осведомлен о присущих им сложностях, связанных с правильной обработкой текста, но, глядя на описания того, как настроить xkb, строит межзвездные космические корабли как легкую прогулку.
поэтому моя идея заключается в следующем:
- найти место в системе, где записываются нажатия клавиш;
- считывать эти коды (это могут быть коды сканирования или коды символов) с помощью демона (реализованного на python; я слышал, что вам нужно слушать IOCTL или что-то подобное);
- когда появляются определенные кодовые комбинации, переключайте их, чтобы делать то, что вы хотите;
- приложения теперь могут видеть X, где раньше - U, и наоборот;
- прибыль!
Итак, вопросы:
- Есть ли место в системах Ubuntu / Linux, которое позволяет считывать коды клавиатуры?
- Есть ли способ заблокировать обработку таких действий клавиатуры, пока перехватывающий демон не обработает их?
- Могу ли я на самом деле возиться с такими кодами?
- Будет ли такой перехватчик работать для широкого диапазона вариантов использования? как в командной строке, в приложении GTK, в Wine, в Firefox и так далее?
- На самом деле альтернативой может быть использование grook keyboardlayouteditor, так что если кто-то может написать о читаемой, полной инструкции по установке или указать устанавливаемые пакеты, это тоже было бы здорово. или любое другое полезное программное обеспечение.