Bonjour,
Je développe des applications pour un appareil portable tournant sous Linux. J'utilise donc Qt for Embadded Linux 4.5.
Problématique :
Je souhaite créer un clavier virtuel perso qui sera utilisable avec mes applications. En feuilletant la documentation, je me suis intéressé au fonctionnement des claviers/souris sous Qt. Je possède une application principale faisant office de Gui_Server. Les autres applications se connectent directement à celle-ci en Gui_Client.
Objectifs :
Pour le moment, le clavier est intégré à l'une de mes applications clientes et permet l'écriture dans un QTextBox via un système simple de Signal/Slots.
J'ai deux objectifs :
1) Séparer la partie clavier, de manière à pouvoir l'utiliser de n'importe quel client.
2) Utiliser le fonctionnement Client/Server de Qt : le clavier envoie un QWSEvent au Server qui le redirige vers le Client actif.
Recherche de solutions :
Voici les problèmes rencontrés pour chacun des objectifs :
1) Je ne sais pas quelle méthode de factorisation privilégier. Il est possible de créer une classe spécifique étendant QWidget, seulement, une mise à jour du clavier impliquera une mise à jour de chaque application cliente l'utilisant. Je me renseigne actuellement sur les Plugins Qt. La théorie est claire, l'aspect technique est plus compliqué à prendre en main.
Je souhaiterai avoir votre avis sur la solution à envisager.
2) Je ne parvient pas à envoyer de QWSEvent au QWSServer depuis une application cliente, en effet, les fonctions que j'utilise requièrent d'être dans le processus Server (à savoir : sendKeyEvent et processKeyEvent de la Classe QWSServer). Apparemment la fonction à utiliser serait processKeyEvent du QWSKeyboardHandler instancié par le QWSServer, mais le problème est le même : depuis un processus client, on ne peut pas faire appel à cette instance ! (le getter contenu dans la classe QWSServer n'est utilisable que dans le processus Server).
Ma question est alors de savoir comment envoyer depuis un processus Client un Event au Server auquel il est connecté...
Partager