j'ai attrapé une clé avec XGrabKey
:tout en maintenant enfoncée la touche et appuyez sur empoigné les autres touches sont également « saisirent »
int mods = 0;
bool ownerevents = true;
XGrabKey(display, MY_KEYCODE, mods, rootwin, ownerevents, GrabModeAsync, GrabModeAsync);
Il saisit avec succès la clé. Dans mon exemple MY_KEYCODE
est pour celui de la clé b
. Alors maintenant, ma boucle d'événement est en train de décrocher seulement si j'appuie sur la touche b
. Cependant, si je maintiens la touche b
enfoncée, puis que j'appuie sur d'autres touches, celles-ci sont également signalées à ma boucle d'événement et sont également bloquées, donc "saisies" temporairement. J'ai pensé essayer XAllowEvents
dans la partie KeyPressed
, mais cela ne fonctionne pas.
Est-ce que quelqu'un a des idées sur la façon d'obtenir d'autres clés, alors que ma clé saisie est maintenue, pour passer sans encombre?
Non, ce n'est pas possible. Une fois la touche saisie enfoncée, le clavier entier est saisi jusqu'à ce que la touche soit relâchée. Qu'essayez-vous de faire? –
Merci @ n.m. pour la lecture et le commentaire! Comment les applications fonctionnent-elles lorsqu'elles envoient une autre touche lorsque j'appuie sur une touche? Comme si j'appuie sur "e" il devrait envoyer "a". Est-ce qu'ils l'envoient sur KeyRelease? – Noitidart
Normalement, cela se fait en remappant une clé. –