Dans le cadre de LoPlug, j’ai besoin de récupérer les évènements souris sur un second écran tout en continuant à jouer sur LockOn sur le premier. Sans rien, lors du clic sur le second écran, le focus est donné à LoPlug et LockOn se réduit dans la barre des tâches, c’est un peu embêtant…

L’astuce consiste à utiliser PyHook et de court-circuiter la pile d’évènements windows en s’insérant dedans. On récupère alors les informations, mais on empêche le changement de focus. Ensuite, il suffit de réinjecter l’évènement souris dans PyQt (voic ici ) et le tour est joué! On peut désormais cliquer sur les instruments ou les widgets de LoPlug tout en jouant.

bien sur, cette astuce doit fonctionner pour d’autres cas.

De plus, PyHook, permet de gérer des raccourcis claviers et d’intercepter les appuis touches du clavier mais aussi des joysticks, bref il est très utilisé pour LoPlug.

L’implémentation dans LoPlug est dispo ici: http://lotatc.dartsite.org/browser/trunk/loplug/plugins/input/pginput.py