Posts tagged python
[Python] Récupérer les évènements souris sans prendre le focus
1Dans 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
[PyQt] Générer un évènement souris/clavier
1Pour générer un évènement souris et/ou clavier sous PyQt (idem pour Qt), il faut récupérer la widget située sous le curseur de la souris avec :
QWidget.itemAt( pos )
Puis utiliser l’API:
ne = QMouseEvent(QEvent.MouseButtonPress, pos_for_my_widget , Qt.LeftButton, Qt.LeftButton, Qt.NoModifier)
QApplication.postEvent(my_widget, ne)
Attention, l’évènement n’est pas envoyé aux enfants, il faut donc bien faire attention à la widget à qui on l’envoi.
LOME: Status et nouveautées
2Après un petit mois d’interruption pour cause de paternité (
), le développement de LOME a repris de plus belle depuis quelques jours.
De nombreuses améliorations sont au programme:
(more…)
LOME : Ajout de la météo
3LOME avance bien, je viens d’ajouter l’ensemble des fonctions pour définir la météo. L’interface est un peu chargée mais c’est fonctionnel. Je regarderai plus tard pour la rendre plus jolie et intuitive, la fonctionnalité d’abord.
Sinon, toutes les fonctions sont utilisables sous Linux, grâce à tontonjoe (merci
) j’ai eu pas mal de remontées sur des bugs et des améliorations à faire. L’ensemble est désormais assez efficace et stable.
Les prochaines semaines vont se pencher sur les payloads des avions, la gestion du poids (et du pétrole). Puis, je m’attellerai à la définition des filtres (visibilité) et des pannes.
Quand tout ceci sera terminé, je passerai à la deuxième étape, celle de la saisie des waypoints de façon graphique…
L’idée est d’avoir au plus tard une version full features pour la LAN de la 3rd-Wing pour Pâques.
N’hésitez pas à me remonter tout problème rencontré. Merci.
Bonus: un petit screenshot!
LOME: version 0.1 (test)
0Pour ceux qui veulent tester, j’ai “releasé” une version 0.1, encore très loin de la version finale, mais qui fait tout de même pas mal de choses.
A télécharger ici (version windows): LOME 0.1
Merci de me remonter tout problème (apparement certains on des soucis de DLL, dites-moi! )
PS: Attention, ne réenregistrez pas vos missions sur des missions auquels vous tenez, je ne gère pas encore tous les paramètres, pertes garanties ![]()
Mais ça gère: avions, hélicos, bateaux, véhicules au sol. Il manque tout ce qui est statique et pas mal de paramètres pour les avions notamment (fuel, payload….)
LOME: sauvegarde sur tous les OS
0Nouvelle version livrée, au menu:
- Implémentation du Handbook, qui permet de stocker toutes les informations sur les avions, la météo… et y accéder sur un PC sans LockOn (ou sous Linux)
- Fenêtre plus petite
- Ouverture/Sauvegarde des missions sous Linux (attention: sous-entendu les missions *.lome et non LockOn, je peux pas faire de miracle..). Pour générer un *.lome, importez une mission LockOn avec LOME (PC sous windows avec LockOn) et sauvez-le…
- Pas mal de fix
- Version Windows directement accessible pour tester (répertoire dist à prendre en entier
Si vous testez cette version de dévelopement, n’hésitez pas à poster sur le groupe de dévelopement que j’ai créé, il est là pour ça
Le groupe pour rappel: http://groups.google.fr/group/lome-lockon-mission-editor/
LOME avance bien même si visuellement ce n’est pas super visible (je travaille surtout l’architecture).
LOME
5
Voilà plus d’un an que je vole sur le jeu {fr:Lock On}. J’ai d’abord commencé sur l’EVAC (Ecole Virtuelle d’Aviation de Chasse) puis j’ai intégré la (prestigieuse) escadrille 3rd Wing dans laquelle j’évolue depuis un an dans l’escadron de {fr:F-15}, la 12th (ou ladhouze).
LockOn est un jeu très immersif, mais son éditeur de mission est très léger: pas de copier/coller, de dupliquer, de campagne dynamique…. J’ai donc décidé de me lancer dans un nouvel éditeur capable de remplacer celui d’origine…
Pour cela, j’ai commencé LOME ou LockOn Mission Editor. Ecrit en {fr:Python_(langage)} et {fr:PyQt}, je viens de le libérer en GPLv3, afin que tout le monde y ai accès et puisse m’aider.
Il est dispo sur google code à cet endroit: http://code.google.com/p/lome-lockon-mission-editor/
Bien entendu, il est très loin d’être fonctionnel, mais il peut déjà éditer des missions et rendre quelques petits services.
Comme la version n’est pas stable, seules les sources sont dispos. Dès qu’une version stable sera prête, j’en ferai un exe sans dépendances ( c sans besoin de python ou de PyQt ).
Si vous désirez m’aider, c’est bien entendu avec joie! Laissez ici un petit commentaire, ou mailez moi sur : lome chez ( le arobase ) dartsite point org.
Évidemment, je mettrais ici les avancées du projet. Cependant, même si j’avance bien, la route est encore bien longue avant la gestion dynamique de campagne…
