Как заставить xcape правильно работать в Ubuntu 22.04?
Я пользователь vim/nvim, и xcape стал для меня ключевой функцией в последние годы.
Я использую его в сочетании с gnome-tweaks (новое имя пакета, в предыдущей версии было gnome-tweak-tool), чтобы:
- использовать в качестве
Ctrlв сочетании с другим ключом - использовать
CapsLockкакEscкогда я использую его один.
Команда xcape, которую я использую:
xcape -e 'Caps_Lock=Escape'
после того, как я перешел с Ubuntu 20.04 на Ubuntu 22.04 , эта команда больше не работает, как ожидалось.
Когда я бегу, я заметил, что:
- Ubuntu 20.04 перехватывает каждое ключевое событие независимо от того, в каких окнах я нахожусь.
- Ключевое событие Ubuntu 22.04 из терминала/текстового редактора/файлов не перехватывается, но когда я нахожусь в Chrome, они перехватываются.
Кто-нибудь знает причину такого поведения? Это очень раздражает!
Заранее спасибо за помощь!
Изменить:
ответ @vanadium помог мне получить
xcape -dснова работать.
К сожалению, служба автозапуска, которую я использовал, больше не работает:
[Desktop Entry]
Type=Application
Exec=xcape -e 'Caps_Lock=Escape'
Name=Keyboard Setup
Comment=Custom keyboard setup
После некоторых исследований и попыток я, наконец, заставил его работать, просто обновив запись следующим образом:
[Desktop Entry]
Type=Application
Exec=xcape -d
Terminal=false
Name=Keyboard Setup
Comment=Custom keyboard setup
X-GNOME-Autostart-enabled=true
В начале я пытался разветвить процесс с помощью
nohup xcape -d &и создать системную службу без особого успеха.
1 ответ
Причиной такого поведения будет то, что теперь вы используете Wayland вместо Xorg. Оба пользователя, которые выполняют новую установку в качестве пользователей, выполняющих обновление, будут перемещены в Wayland.
Wayland реализует меры безопасности вплоть до взлома функций. Одним из них является то, что программы больше не могут перехватывать нажатия клавиш.
Терминал/Текстовый редактор/Файлы — это родные программы Wayland. Однако Google Chrome работает на xwayland, слое эмуляции в Wayland, который позволяет запускать программы, требующие Xorg. будет работать во всех программах, работающих на xwayland.
Есть две возможности:
Перейдите в Xorg. Выйдите из системы, прежде чем вводить пароль, нажмите на шестеренку, чтобы перейти к сеансу «Ubuntu на Xorg».
Оставайтесь на Wayland и добейтесь эффекта, довольно близкого к тому, что у вас было с
xcape: в Gnome Tweaks перейдите на вкладку «Клавиатура и мышь». В «Дополнительных параметрах макета» есть возможность сделать CapsLockдополнительный Ctrl. Тогда вы только потеряете возможность использовать этот ключ отдельно как Esc.