• =?UTF-8?Q?Coordonn=C3=A9es_graphiques_du_focus_clavier?=

    From Pierre ESTREm@21:1/5 to All on Sun Mar 24 20:00:01 2024
    Bonjour,

    Je ne parviens pas à trouver comment récupérer les coordonnées X et Y où se situe le focus clavier dans un écran.
    Ca doit se faire...

    Tout ce que je sais faire est de récupérer celles du pointeur souris
    (avec les modules pyxhook ou pyautogui).

    Une idée en Python ? Sinon en Bash, xprop etc

    Merci
    pierre estrem

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Pierre ESTREm on Mon Mar 25 08:20:01 2024
    On 3/24/24 19:50, Pierre ESTREm wrote:
    Bonjour,

    Je ne parviens pas à trouver comment récupérer les coordonnées X et Y
    où se situe le focus clavier dans un écran.
    Ca doit se faire...

    La question me parait bizarre. Dans mon souvenir des règles de codage
    des applications graphiques, un tel comportement est explicitement
    proscrit ou déconseillé. Quel est le cas d'usage? En plus le focus
    clavier appartient à une fenêtre (zone rectangulaire de X11) pas à un
    point. Et il peut être redirigé, et peut-être même dans des cas pathologiques multiples.


    Tout ce que je sais faire est de récupérer celles du pointeur souris
    (avec les modules pyxhook ou pyautogui).

    Une idée en Python ? Sinon en Bash, xprop etc


    Je ne connais pas l'API en détails, mais en C et avec un serveur
    d'affichage Xorg (pas Wayland) il faudrait se plonger dans les détails
    de ICCCCM. https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html
    - comptez plusieurs jours de lecture (et ensuite quelques semaines de
    codage).


    Peut-être qu'il pourrait être utile de se limiter à un seul gestionnaire
    de fenêtres (sans viser la généralité) par exemple choisir entre https://www.fvwm.org/ et https://ice-wm.org/ et ensuite en modifier le
    code pour que votre logiciel puisse interroger directement ce
    gestionnaire de fenêtres.


    Mais la question me surprend, et me parait contraire aux attendus des utilisateurs et aux usages.

    Librement

    --
    Basile Starynkevitch <basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Pierre ESTREm@21:1/5 to All on Mon Mar 25 19:00:02 2024
    Bonjour,

    Le but serait de récupérer le texte d'une info-bulle d'une icone du bureau. Pour ce faire j'aurais besoin de mener (moveTo) le pointeur de souris
    jusque ce focus clavier et ensuite à bosser car je ne sais pas pour
    l'heure lire cette info-bulle.

    Il s'agit d'un script qui serait un daemon pour pallier au bug de Orca
    de sorte de savoir sur quelle icone le focus clavier se trouve.

    A propos de ce bug signalé par Kiril j'avoue ne pas savoir faire quoi de
    ce fichier : https://bugs.launchpad.net/ubuntu/+source/gnome-shell-extension-desktop-icons-ng/+bug/2048390/+attachment/5736866/+files/add-accessibility-support.diff
    Après son downoad un :
    $ patch add-accessibility-support.diff
    Je comprends qu'il faudrait le comparer, mais à quoi ?

    pierre estrem




    Le 25/03/2024 à 08:10, Basile Starynkevitch a écrit :

    On 3/24/24 19:50, Pierre ESTREm wrote:
    Bonjour,

    Je ne parviens pas à trouver comment récupérer les coordonnées X et Y
    où se situe le focus clavier dans un écran.
    Ca doit se faire...

    La question me parait bizarre. Dans mon souvenir des règles de codage
    des applications graphiques, un tel comportement est explicitement
    proscrit ou déconseillé. Quel est le cas d'usage? En plus le focus
    clavier appartient à une fenêtre (zone rectangulaire de X11) pas à un point. Et il peut être redirigé, et peut-être même dans des cas pathologiques multiples.


    Tout ce que je sais faire est de récupérer celles du pointeur souris
    (avec les modules pyxhook ou pyautogui).

    Une idée en Python ? Sinon en Bash, xprop etc


    Je ne connais pas l'API en détails, mais en C et avec un serveur
    d'affichage Xorg (pas Wayland) il faudrait se plonger dans les détails
    de ICCCCM. https://www.x.org/releases/X11R7.6/doc/xorg-docs/specs/ICCCM/icccm.html
    - comptez plusieurs jours de lecture (et ensuite quelques semaines de codage).


    Peut-être qu'il pourrait être utile de se limiter à un seul
    gestionnaire de fenêtres (sans viser la généralité) par exemple
    choisir entre https://www.fvwm.org/ et https://ice-wm.org/ et ensuite
    en modifier le code pour que votre logiciel puisse interroger
    directement ce gestionnaire de fenêtres.


    Mais la question me surprend, et me parait contraire aux attendus des utilisateurs et aux usages.

    Librement


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)