web-dev-qa-db-fra.com

Quelle est la commande exécutée par PgDn / PgUp?

J'entends par là qu'il y a une commande que je pourrais taper dans le terminal, puis cliquer sur une fenêtre derrière, et elle est défilée vers le haut/bas, puis la transformer en un raccourci personnalisé?

xdotool key Next ou xdotool key Page_Down ce n'est pas ce que je veux, j'en cherche un qui est métaphoriquement "plus profond" dans le fonctionnement de Linux/OS général.

Je sais comment utiliser xdotool, mais je ne veux pas l'utiliser. Je veux connaître la commande qui est exécutée lorsque ce bouton est enfoncé, les mots XDO comme émulateur essentiellement.

3
Tim

J'en cherche un qui est métaphoriquement plus profond dans la façon dont Linux/OS général fonctionne

Maudite soit la métaphore, voici comment cela fonctionne:

  • Vous écrasez le clavier
  • Un pilote evdev/keymap/etc convertit cela en un événement X11
  • Le serveur d'affichage envoie l'événement à l'application (et éventuellement des bulles qui remontent la pile)
  • L'application (ou son cadre) détermine ce qu'il faut faire avec l'entrée

Il n'y a pas de métaphore de "pagination" intégrée à X; c'est juste un comportement commun à de nombreuses applications et à leurs frameworks.

Donc, en termes d'émulation d'un événement qui ressemble à quelqu'un a frappé le Page Down clé, votre meilleur pari est de générer cet événement X11 et de l'envoyer à la fenêtre.

Votre seule autre option consiste à ajouter une interface alternative pour votre application en cours d'exécution qu'elle intercepte et effectue en interne la modification de la fenêtre. C'est très possible, mais c'est aussi une charge de travail métrique.

3
Oli

La commande sleep est un bon moyen d'ajouter un délai (donc dans mon exemple ses 60s) puis de double esperluette pour exécuter une commande supplémentaire lorsque le sommeil est terminé.

sleep 60 && xdotool key Page_Up
sleep 60 && xdotool key Page_Down

XDO est pour simuler des pressions de touches dans X11, je ne sais pas à quelle profondeur vous pouvez aller d'un terminal sans écrire votre propre application pour manipuler directement les apis X11.

0
NGRhodes