определить раскладку клавиатуры / метод ввода для ubuntu в python?

Я немного отчаялся здесь и немного разочаровался в возможностях определения раскладки клавиатуры в linux (ubuntu 10.04 здесь). кажется, не существует простого графического способа определения отображений клавиатуры (за исключением keyboardlayouteditor, но честно говоря, я не понял в описании установки. установить antlr? Каир? панго? символы?? генерировать грамматику?? какого хрена???).

Я использую алюминиевую клавиатуру apple с немецкой раскладкой, но неважно то, что я делаю () и (^°) клавиши всегда меняются местами (мне удалось изменить поведение по умолчанию для f1...клавиши f12 от мультимедийных до "обычных", ориентированных на приложения... все, что вам нужно сделать, это добавить строку echo 2 > /sys/module/hid_apple/parameters/fnmode to /etc/rc.local... это так чертовски очевидно, что мне стыдно, что мне пришлось искать это в интернете!).

добавляя к моему бедствию, я нахожу китайские IMEs ужас (ни один из многих, которые я пробовал, нигде не приближается к Google pinyin для windows), и не получил ни ibus ни scime работать удовлетворительным образом для меня.

Я нахожу, что клавиатура linux обрабатывает болото. я знаю, что это, должно быть, одна из самых сложных проблем в информатике, так как эта тема становится настолько запутанной независимо от того, на windows или в браузере javascript. как лингвист я хорошо осведомлен о присущих тексту усложнениях правильной обработки поз, но глядя на описания как настроить xkb для создания межзвездных космических кораблей похож на легкой прогулкой.

Итак, моя идея заключается в следующем:

  1. найдите место в системе, где записываются нажатия клавиш;
  2. считайте эти коды (могут быть коды сканирования или коды символов) с помощью демона (реализованный в python; я слышал, что вы должны слушать IOCTL или somesuch);
  3. когда появляются определенные кодовые комбинации, переключите их, чтобы делать то, что вы хотите;
  4. приложения теперь увидеть X, где ранее получил U и вице versa;
  5. профит!

Итак, вопросы:

  • есть ли место в системах ubuntu / linux, которое позволяет считывать коды клавиатуры?
  • есть ли способ блокировать обработку таких действий клавиатуры, пока демон их не обработает?
  • могу ли я действительно возиться с такими кодами?
  • будет ли такой перехватчик работать в широком диапазоне случаев использования? как в командной строке, в приложении gtk, в вине, в Firefox и так далее?
  • альтернативой фактически было бы grok keyboardlayouteditor, поэтому, если бы кто-то мог опубликовать читаемую, полную инструкцию по установке или указать устанавливаемые пакеты, это тоже было бы здорово. или какой-либо полезной программы.
9
задан flow
23.02.2023 11:39 Количество просмотров материала 3412
Распечатать страницу

1 ответ

вы можете прочитать вне keycodes с xev и вы можете составить карту keycodes с xmodmap.

например, если вы хотите сопоставить keycode 191 с F13, вы можете добавить следующее .Файл Xmodmap:

keycode 191 = F13

запустить xmodmap ~/.Xmodmap и теперь эта кнопка с keycode 191 должна быть сопоставлена с F13 или с тем, с чем вы ее сопоставили.

1
отвечен Cheesebaron 2023-02-24 19:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх