xdotool est une belle application X, j'ai tendance à l'utiliser pour créer des macro-commandes (comme alt + f4 ou ctrl + w ou ctrl + alt + backspace ou quelque chose comme ça)
C'est vraiment facile à utiliser et pratique, mais je ne connais aucun programme compatible avec Wayland comme celui-ci. Existe-t-il un moyen d'envoyer des signaux d'entrée de souris et de clavier à Wayland actuellement similaire à xdotool pour X?
Cela fonctionne en grande partie avec xwayland en ce moment, mais toutes les commandes ne fonctionnent pas (comme alt + f4, xev peut même lire l'entrée alt + f4 mais cela ne déclenche pas la fin de l'application comme en appuyant dessus sur le clavier), il y a aussi la question de potentiellement pas utiliser xwayland.
Réponses:
Non, de telles fonctionnalités ont été explicitement exclues de la conception Wayland pour des raisons de sécurité. (La lecture des entrées d'autres programmes est le plus gros problème, mais autoriser l'envoi de fausses entrées à d'autres programmes peut également entraîner des problèmes.)
Cela dit, je m'attends à ce que certains WM Wayland finissent par implémenter une sorte de fonction de macros; après tout, ils devront prendre en charge les claviers à l'écran et la commande vocale (pour l'accessibilité).
Mais si une telle fonctionnalité existait, cela dépendrait du compositeur Wayland que vous utilisez: Weston? KWin de KDE? Shell GNOME? Éclaircissement? Il n'y a pas de "serveur d'affichage - gestionnaire de fenêtres" divisé dans Wayland; le gestionnaire de fenêtres est le serveur Wayland et décide des fonctionnalités à implémenter (sous forme de sous-protocoles Wayland ou d'API D-Bus ou autres).
la source
Il n'y a actuellement aucune solution parfaite, mais il y en a une proche: ydotool .
Il utilise l' interface uinput comme backend et ne dépend pas des serveurs d'affichage.
la source
libboost-program-options-dev
,libevdevplus
,libuinputplus
et enfin leydotool
lui - même , mais je suis encore en trainydotool: error while loading shared libraries: libboost_program_options.so.1.65.1: cannot open shared object file: No such file or directory