Quelqu'un connaît-il une fonction xlib permettant de capturer un événement de pression sur une touche sans perdre le focus initial ? Comment s'en débarrasser ?
(ou "pour utiliser XGrabKey() sans générer de focusout de type Grab" ?)
(ou "Comment se débarrasser des événements NotifyGrab et NotifyUngrab au niveau du système ?)
La XGrabKey perdra le focus sur la touche pressée et le restaurera sur la touche relâchée.
Et je veux capturer l'appui sur la touche sans la faire fuir vers la fenêtre d'origine (tout comme XGrabKey peut le faire).
Références :
-
...XGrabKey va voler le focus... https://bugs.launchpad.net/gtkhotkey/+bug/390552/commentaires/8
-
...Le programme reçoit la commande de faire quelque chose en réponse à la combinaison de touches. Pendant ce temps, le programme a été temporairement concentré... Pendant XGrabKey(board), découvrir quelle fenêtre avait été focalisée
-
...La fonction XGrabKeyboard prend activement le contrôle du clavier et génère des événements FocusIn et FocusOut... http://www.x.org/archive/X11R6.8.0/doc/XGrabKeyboard.3.html#toc3
-
...je ne vois pas de moyen de fournir le comportement actuel de changement de bureau de metacity (changement et l'affichage de la boîte de dialogue popup en même temps) sans provoquer une mise au point de type Grab sur la fenêtre. focus out de type Grab sur la fenêtre... https://mail.gnome.org/archives/wm-spec-list/2007-May/msg00000.html
-
...Le mode plein écran ne devrait pas sortir sur les événements FocusOut avec NotifyGrab... https://bugzilla.mozilla.org/show_bug.cgi?id=578265
-
La saisie du clavier ne permet pas de changer le focus ... La saisie du clavier ne permet pas de changer le focus
-
Événements de mise au point générés par les saisies (à la fois la saisie active de XGrabKeyboard et la saisie passive de XGrabKey) http://www.x.org/releases/X11R7.6/doc/libX11/specs/libX11/libX11.html#Focus_Events_Generated_by_Grabs
-
le code source de XGrabKey : http://cgit.freedesktop.org/xorg/lib/libX11/tree/src/GrKey.c Nous pourrions peut-être modifier cela pour nous débarrasser des événements de type "focus-out" ?
-
il y a "DoFocusEvents(keybd, oldWin, grab->window, NotifyGrab) ;" dans ActivateKeyboardGrab() : http://cgit.freedesktop.org/xorg/xserver/tree/dix/events.c
Je suis en train d'écrire un logiciel de mappage d'une touche à une combinaison de touches (et de mouvements de souris) : https://code.google.com/p/diyism-myboard/
Je l'ai réalisé dans Windows avec RegisterHotKey() et UnRegisterHotKey() : https://code.google.com/p/diyism-myboard/downloads/detail?name=MyBoard.pas
Et je veux le migrer vers Linux avec XGrabKey() et XUngrabKey() : https://code.google.com/p/diyism-myboard/downloads/detail?name=myboard.py
J'ai créé une prime de 10 $ pour résoudre ce problème. Nous avons besoin de plus de backers pour placer des bounties. https://www.bountysource.com/issues/1072081-right-button-menu-flashes-while-jkli-keys-move-the-mouse-pointer