Я использую Linux на Macbook с клавиатурой UK / GB и настраиваю раскладку клавиатуры, чтобы решить некоторые проблемы, которые вызывает странная раскладка клавиатуры Apple. Я использую, xmodmap
чтобы сделать это. Я хотел бы попробовать Wayland, но xmodmap
не работает в этом. Как я могу достичь аналогичного результата в Wayland? .Xmodmap
Использование файла I содержит следующее:
keycode 12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock
Строка 1: на британских клавиатурах Shift- 3это £, поэтому у # обычно есть свой собственный ключ рядом Return. Но на Mac # получается с Altgr- 3. Как программист я использую # гораздо больше, чем £, поэтому эта строка меняет их. Выбор раскладки США также позволяет добиться этого, но при этом в Linux также меняются некоторые другие часто используемые ключи, тогда как в OS X эти другие ключи не зависят от США / Великобритании.
Строки 2-5: заставить правую Cmdклавишу действовать как правую Ctrl, потому что эта клавиатура не имеет физической правой Ctrlклавиши.
Строка 6: CapsLockработает только при нажатии Shift. Не для Mac, это должно быть стандартным вариантом для всех ОС и клавиатур.
Ответы:
К сожалению, изменение базы данных системы XKB
/usr/share/X11/xkb
является единственным способом; из вашего другого вопроса похоже, что вы получили эту часть работы.Ограничение в основном связано с незрелостью Wayland и недостатком дизайна в XKB.
Такие инструменты, как
setxkbmap
иxkbcomp
предоставляют-I
возможность добавить пользовательскую базу данных для поиска (например,~/.xkb
или~/.config/xkb
с файлами и подкаталогами, расположенными как база данных системы). Эти инструменты взаимодействуют с X-сервером, поэтому они могут быть полезны при настройке уровняXwayland
совместимости для запуска X-приложений под Wayland. Но они в настоящее время не говорят о Вейландских протоколах.Вейландские протоколы все еще созревают. В настоящее время это кажется
input-method
иtext-input
протоколы являются наиболее актуальными, и оба являются нестабильными. Не упоминайте ничего об изменении определенной таблицы ключей; эти детали оставлены на усмотрение композитора.GNOME и KDE предоставляют демоны настроек обработки клавиатуры, которые должны обрабатывать системные параметры XKB, включая изменение на лету. Насколько мне известно, нет никакого способа рассказать о пользовательских настройках. Насколько я знаю, Weston и другие композиторы полагаются на конфигурационные файлы или переменные окружения для установки параметров XKB при запуске и не предоставляют никаких способов их изменения, кроме выхода и перезапуска.
Даже в самом XKB это не полностью поддерживается. Ваш файл пользовательских символов может содержать
include
другие файлы системных символов. Но в настоящее время нет никакойinclude
функциональности для файлов правил XKB, поэтому, даже если у вас есть инструмент, который будет взаимодействовать с композитором Wayland и искать ваши личные настройки, вам придется вручную включить все правила, которые вы хотите использовать (например, копироватьrules/evdev*
из системы XKB и модифицируйте ее).libxkbcommon
есть открытая проблема на эту тему и связанная ошибка .источник
.Xmodmap
аспекта.Я успешно использовал Interception Tools для Linux и знаю людей, которые также производят другие плагины для своих пользовательских отображений . caps2esc - это первый плагин для проверки концепции, который я использую каждый день и работает как на X, так и на Wayland. Инструмент немного более низкого уровня, чем обычное картографическое программное обеспечение, но довольно гибкий, и мой план следующего плагина - это обобщенный инструмент картографирования.
Отказ от ответственности: я автор.
источник
Для тех, кто приедет сюда в 2018 году (Ubuntu 17.10), наиболее важная часть этого может быть выполнена с помощью GNOME Tweak Tool.
Gnome Tweak Tool> Клавиатура и мышь> Дополнительные параметры макета> Ctrl отображается на клавиши Win (и обычные клавиши Ctrl).
источник
gnome-tweaks-3.34.0-1.fc31.noarch
может переназначить Caps Lock - например, «Caps Lock - это также Ctrl», «Сделать Caps Lock дополнительным Esc», «Caps Lock as Ctrl» и многие другие.Этот ответ имеет ту же идею, что и ответ quickotic, но только с более подробным примером:
В Gnome Tweaks есть список из 20 или 30 настроек клавиатуры, которые вы можете выполнить через xkb. Иногда вы можете найти нужный твик по умолчанию. В моем случае я хотел поменять экранную клавишу с меню.
Единственный вариант изменить ключ printscr, доступный через xkb, - заменить его Win_R. Гуннар Хьялмарссон в этой теме предложил мне изменить модификации xkb, чтобы вместо них printscr / win_r выполнял printscr / menu. Мы вместе разработали решение, и я собираюсь повторить его здесь:
В терминале введите:
В нижней части файла вы найдете:
Удалите этот раздел и замените его следующим:
Для удаления в nano используйте клавишу возврата (выделение и удаление не работает). Чтобы вставить, используйте shift-ctrl-v. Чтобы выйти и сохранить, нажмите Ctrl-X, выберите «Да» для перезаписи и нажмите «Ввод».
Перезагружать. В Gnome / Ubuntu Перейти к gnome-tweak-tools. В инструментах настройки перейдите в раздел «Клавиатура и мышь», нажмите кнопку «Дополнительные параметры макета» и раскройте поведение клавиш Alt / Win. Выбор опции в самом низу: Win сопоставлен с printscr (помните, что мы изменили только это поведение, чтобы поменять местами print и Menu вместо print и Win). (Я уверен, что есть способ включить опцию modk xkb в KDE, но я не использую ее, поэтому не могу дать вам точную процедуру).
источник