Próbuję symulować naciśnięcie klawisza multimediów przy użyciu niestandardowego skrótu.
Do tej pory udało mi się uzyskać potrzebną symulację za pomocą polecenia:
xdotool key XF86AudioPlay
Działa idealnie, wstrzymuje lub uruchamia odtwarzacz muzyki przy każdym uruchomieniu.
Problem pojawia się podczas próby uruchomienia go jako skrótu.
Najpierw próbowałem uruchomić alias z niestandardowym skrótem, ale to nie zadziałało.
Jak wyjaśniono w tym pytaniu :
Polecenia uruchamiane przez powiązania klawiatury nie są analizowane przez powłokę. Najlepszym rozwiązaniem jest utworzenie katalogu bin w katalogu domowym.
Następnie utworzyłem sugerowany skrypt i nadałem mu nazwę simplay
:
#!/bin/sh
xdotool key XF86AudioPlay
Znajduje się w folderze bin, który jest częścią tego PATH
, działa dobrze i można go uruchomić z dowolnego miejsca.
Podczas próby utworzenia niestandardowego skrótu nie udało mi się go uruchomić, konfiguracja jest następująca:
Name: test
Command: simplay
Shortcut: Ctrl+Alt+R
Po dokładniejszych poszukiwaniach znalazłem inny sposób wykonania skrótu:
gnome-terminal -e simplay
Wypróbowałem to na terminalu i zauważyłem, że podczas jego wykonywania szybko otworzy nowe okno terminala, uruchomi proces potomny, zatrzyma muzykę i natychmiast zamknie okno.
Zmieniłem polecenie na skrócie i po jego naciśnięciu zauważyłem to samo zachowanie otwierające terminal i natychmiast zamykające się, ale tym razem proces potomny nie wstrzymał muzyki, co sprawia, że myślę, że skrypt został wywołany przy wszystkich moich poprzednich próbach ale jakoś nie jest w stanie wykonać.
Jak mogę rozwiązać ten problem zgodnie z Twoją wiedzą?
źródło
Alternatywą (dla lepszej wydajności)
sleep 1 && xdotool ...
jest użycie xdotool do zwolnienia klawiszy skrótu. Nieco dłuższe, ale możesz także użyćźródło