Кажется, я не могу понять, как заставить медиа-ключи работать в промежутках i3 на моем Corsair K30.

Я добавил в конфиг следующую строку, но

bindsym XF86AudioNext       exec --no-startup-id playerctl next
bindsym XF86AudioPrev       exec --no-startup-id playerctl previous
bindsym XF86AudioPlay       exec --no-startup-id playerctl play
# bindsym XF86AudioStop     exec --no-startup-id playerctl pause
bindsym XF86AudioStop       exec --no-startup-id gnome-terminal

они работают странным образом. XF86AudioStop полностью игнорируется. Я попытался проверить это и посмотреть, откроет ли он, например, gnome-терминал. Игра работает, но пауза - нет. Если я иду на рабочий стол kde все медиа-ключи, и все работает без проблем. Но в i3 я не могу настроить привязки ни для клавиш регулировки громкости, ни для клавиш мультимедиа. Удалось сделать так, чтобы кнопки «Следующая» и «Предыдущая» работали с указанным выше конфигом.

Есть ли какое-либо приложение, которое отображает, какая клавиша XF86 нажата, или выводит ее на терминал?

Что мне не хватает?

Заранее спасибо.

1 ответ1

0

Прежде всего, убедитесь, что у вас есть правильный keysym - для это должен быть XF86AudioPause , для ▶ / ⏸ это может быть XF86AudioPlayPause , или это может быть что-то совершенно другое. (XF86AudioStop кнопка "Стоп".)

Ключевыми символами для регуляторов громкости должны быть XF86AudioRaiseVolume , XF86AudioLowerVolume и XF86AudioMute .

Для проверки ключей X11 ключа есть xev и xbindkeys --key . (Обратите внимание, что они часто не видят нажатия клавиш для уже глобально связанных ключей, поэтому не используйте их в KDE.)

(Низкоуровневые ключевые коды evdev могут быть получены с помощью отладочных событий evemu-record или libinput debug-events ; они не являются правильным видом кода, но полезны для определения, распознается ли ключ ядром вообще.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .