Я пытаюсь отладить некоторые проблемы с клавиатурой на рабочем столе Ubuntu Linux. Я сейчас читаю файлы конфигурации XKB, но мне еще предстоит найти документацию по этим файлам. Инструкции вроде этой не совсем понятны:
interpret ISO_Level3_Shift+AnyOf(all) {
virtualModifier= LevelThree;
useModMapMods=level1;
action= SetMods(modifiers=LevelThree,clearLocks);
};
Кто-нибудь знает, где документирован этот формат файла?
решение1
Я искал то же самое некоторое время и пока не нашел документации, которую мог бы посоветовать. Подозреваю, что на данный момент (2022) нет удобной для пользователя документации о файлах конфигурации XKB. Есть фрагменты информации, разбросанные по нескольким источникам. Я могу только суммировать то, что я нашел на данный момент.
Арч Линукс Вики
https://wiki.archlinux.org/title/X_keyboard_extension- эта страница, пожалуй, лучшее, что я нашел. Но она слишком короткая, неполная и часто не имеет пояснений или примеров.
x.org
https://www.x.org/wiki/XKB/- эта страница, похоже, является официальным списком документов, связанных с XKB, но... некоторые из "полезных ссылок" уже не работают, другие слишком короткие и не вдаются в подробности. Однако можно использовать wayback machine, чтобы открыть неработающие ссылки.
Внизу страницы есть спецификации для протокола, но эти спецификации больше касаются разработки на C++, а не того, как изменять файлы конфигурации. Среди этих документов я бы посоветовал изучить последний - "Спецификация протокола XKB". Но его нелегко читать. Знаете, есть разница между спецификациями, где главная цель - быть правильными, и книгами, где главная цель - быть простыми для понимания читателем.
Более удобным для пользователя документом является «Ненадежное руководство по конфигурации XKB». Но оно далеко не полное.
Более полный документ — «en:http://pascal.tsu.ru/en/xkb/| ру:http://pascal.tsu.ru/other/xkb/"но ссылка не работает. Я восстановил ее с wayback machine и преобразовал в markdown здесь:https://github.com/barsv/ivan-pascal-xkb/Но изначально он был написан на русском языке, а затем переведен Иваном Паскалем на английский. Перевод не является ни легким для чтения, ни полным.
решение2
Этотсодержит полную документацию по предоставленному вами фрагменту.
Я не знаю, что вы пытаетесь отладить, но вот мойконфигурацияс собственным исчерпывающим README для справки. Там также есть некоторые дополнительные ресурсы, если они вам понадобятся.