Эмуляция медаиклавиш

Так сложилось, что на механической клаве не оказалось медаиклавиш, это те которые пауза/следующий трек/предыдущий трек. А я ими достаточно часто пользуюсь, когда слушаю музыку.

Неправильное решение

Чтобы определить код клавиши, надо в терминале запустить командочку.

sudo showkey -k

Дальше смотреть, что тебе будет выводиться в окне. В моём случае, я нажимал плей/пауза, потом следующий трек, потом предыдущий

~$ sudo showkey -k
режим kb был ?НЕИЗВЕСТНО?
[ если вы пытаетесь проделать это под X-ами, то, возможно,
это не сработает, так как X-сервер тоже читает /dev/console ]

нажмите любую клавишу (программа завершается через 10 секунд после последнего нажатия на клавиатуре)...
код клавиши  28 отпущена
код клавиши 164 нажата
код клавиши 164 отпущена
код клавиши 165 нажата
код клавиши 165 отпущена
код клавиши 163 нажата
код клавиши 163 отпущена

Что такое 28 я не знаю и не очень интересно. А вот 164 — пауза, и остальное по списку выше.

Теперь имея коды клавиш я пытался сэмулировать эти сигналы каким либо образом. Но ничего не получилось

Правильное решение

Устанавливаем xdotool.

Записываем куда-нибудь эти команды

xdotool sleep 0.100 key --clearmodifiers 'XF86AudioPlay'
xdotool sleep 0.100 key --clearmodifiers 'XF86AudioPrev'
xdotool sleep 0.100 key --clearmodifiers 'XF86AudioNext'

Зачем слип? Потому что без него не работает совсем. Какой-то баг, где-то читал про него на гитхабе. Кстати, работоспособность проверить очень легко. Вписываешь команду в терминал и запускаешь, если произошло то, что ожидалось, то всё ок. Иногда команды XF86AudioPlay не работают. Значит у тебя аппаратно другие сигналы прибиты. Погугли и найдешь свои варианты.

 

Теперь идешь в настройки системы → Клавиатура. Ищешь сочетания клавиш и биндишь то, что больше нравится, например,

Видишь я забил Shift+Alt+Вниз (нампад) это пауза. Именно нампад, а не стрелочки, для ОС это принципиально.

Итог

Я отказался от этого решения, работает крайне странно. Во-первых, долго искал сочетания, которые адекватно работают. Если биндишь что-то с Ctrl, то Ctrl остаётся залипшим и, как ты понимаешь, клавиатура перестает адекватно работать. Как его разлипить, я не понял. Поэтому остановился на вариантах без контрола. Но и это не принесло счастья, потому что подлипает альт и ваще бесовщина начинает происходить. В общем, найдешь решение, расскажи =)

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.