Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avril 26, 2024, 09:44:54
Accueil | Aide | Rechercher | Identifiez-vous | Inscrivez-vous

+  ArcheoGamers Forums
|-+  Support Officiel AtomicFE
| |-+  En Francais
| | |-+  Gestion clavier dans les plugins
0 Membres et 1 Invité sur ce fil de discussion. « sujet précédent | | sujet suivant »
Pages: [1] Imprimer
Auteur Fil de discussion: Gestion clavier dans les plugins  (Lu 7952 fois)
Pizza
Chef d'équipe
Indiana Jones
*****
Messages: 769



WWW
« le: Octobre 16, 2007, 00:25:33 »

J'ai une question sur le fonctionnement des plugins Youki

Si j'ai bien compris, au chargement Atomic se fait une liste des Actionkeycode qu'il doit g?rer en balayant les fichiers .cfgplug des plugins d?clar?s dans le atomic019.cfg.plugin.load
Ensuite lors la pression d'une touche, il envoit l'ex?cution du plugin correspondant ? l'actionkeycode re?u

J'en d?duit qu'on a droit ? un seul Actionkeycode par plugin ?

Ma question n'est pas inoccente, en fait, pour ?conomiser des touches CUSTOM, je suis en train d'?crire un plugin qui permet de monter et descendre le volume sonore de windows

Dans ce cas pr?cis, je suis oblig? d'?crire deux "demi" plugins ? chacun ayant son fichier .cfgplug et son propre actionkeycode ?

Derni?re question, j'avais dans l'id?e de mettre cette gestion du son sur le up/down du PLAYER2, mais AtomicKEY ne permet pas de d?finir les valeurs up/down/left/right pour la manette 2 (mais seulement les boutons).

Est-ce que c'est... faisable ? :mrgreen:
Journalisée

La pizza c'est sympa, mangez-en !
youki
Chef d'équipe.
Indiana Jones
*****
Messages: 8178



« Répondre #1 le: Octobre 16, 2007, 09:53:20 »

Salut,

Le action code est en fait le code de la touche. Tu peux en tester autant que tu veux dans un plugins. Le seul truc , c'est qu'il faudrait que si tu utilise 2 plugins different , il vaut mieux qu'il n'utilise pas des actioncode commun... sinon ca declenchera les actions de chacun des plugins.

Regarder les plugins que j'ai fait qui affiche des listes ou des menu, pour naviguer dans les liste je teste les actioncode des touches haut et bas...ainsi que d'autre, tout ca dans le meme plugins.

Atomic teste en permanance le clavier pour les voir les touches qui sont appuyer, quand une touche est appuyer il fait ses actions qui corresponde a la touche, et puis il regarde dans tout les plugins charg?s si par hazard il n'y a pas un plugin qui doit reagir a cette touche, si oui il declenche le code.

J'ai pas les plugins sous les oeils la , mais il me semble que tu teste tout ca dans l'event PluginKeypressed.


Le setup des actioncode pour les plugins est independant d'AtomicKey.
Dans AtomicManager, si tu selection ton plugins dans la liste de droite, un boutoun Config apparait,  si ton plugin utilise un actioncode, selection la ligne "ACTIONCODE", et clique sur le nouveau bouton qui apparait et tu n'a plus qu'a appuyer sur la touche que tu veux assigner.

Voila, dis moi si c'est pas clair, je te ferai des copies d'ecran ce soir.
Journalisée

Pizza
Chef d'équipe
Indiana Jones
*****
Messages: 769



WWW
« Répondre #2 le: Octobre 16, 2007, 11:38:30 »

Oui en fait ?a r?pond ? ma question et pourtant je l'avais mal pos?  Sourire

La gestion de multiples actioncodes dans un m?me plugin, une fois le plugin activ? par Atomic, je l'avais d?j? rep?r?e, par exemple dans le simple category filter

La en fait ma probl?matique c'est de d?clencher le plugin, soit par une touche, soit par une autre, en fonction de l'action choisie. En l'occurence, monter le son ou le descendre

L?, dans ce cas pr?cis, je dois donc faire 2 plugins  :!:

Pour ce qui est de ma manette 2 j'ai r?fl?chi, en fait, du fait du hack clavier je n'ai pas de probl?me finalement, vu que les directions sont associ?s ? des Actionkeycodes b?tes et m?chants  :wink:
Journalisée

La pizza c'est sympa, mangez-en !
youki
Chef d'équipe.
Indiana Jones
*****
Messages: 8178



« Répondre #3 le: Octobre 16, 2007, 12:21:24 »

Citation
La en fait ma probl?matique c'est de d?clencher le plugin, soit par une touche, soit par une autre, en fonction de l'action choisie. En l'occurence, monter le son ou le descendre

L?, dans ce cas pr?cis, je dois donc faire 2 plugins  


Ben non, un seul ca suffit. tu teste les 2 touche dans le meme.

un truc du genre :

if ActionCode=<code touche monter le son> then Monteleson()
if ActionCode=<code touche bauisser le son> then Baisseleson()

Mais bon peut etre je saisie pas ce que tu veux faire. Mais je vois pas ce qui peut necessiter de faire 2 plugin dans ton cas. Pour te dire , en theorie, tout les plugins que j'ai fait, je pourrai les faires en un seul!
Journalisée

Pizza
Chef d'équipe
Indiana Jones
*****
Messages: 769



WWW
« Répondre #4 le: Octobre 16, 2007, 12:24:46 »

Ok alors j'avais mal pig? un truc, je vais faire un test ce midi pendant ma pause "d?veloppements perso" :mrgreen:
Journalisée

La pizza c'est sympa, mangez-en !
youki
Chef d'équipe.
Indiana Jones
*****
Messages: 8178



« Répondre #5 le: Octobre 16, 2007, 12:31:41 »

exemple :

Code:
sub AtomicEvent PluginKeyPressed


'this procedure is called each time user press a key

if GetKeyCode=G_ACTIONKEYCODE_UP  then  
                        MonteLeSon
End If

               if GetKeyCode=G_ACTIONKEYCODE_DOWN  then  
                        BaisseLeSon
End If




end AtomicEvent



Il faut bien sur que dans l'event loadconfig tu init tes action code a fonction de ceux qui il a dans le fichier de config du plugins :

Code:
sub AtomicEvent PluginLoadConfig

G_ACTIONKEYCODE_UP=CInt(ReadFileConfig(GetConfigProperty("PLUGINDIR")+GetPluginConfigFileName(),"ACTIONKEYCODE_UP"))

G_ACTIONKEYCODE_DOWN=CInt(ReadFileConfig(GetConfigProperty("PLUGINDIR")+GetPluginConfigFileName(),"ACTIONKEYCODE_DOWN"))


end AtomicEvent


Note que tu pourrais aussi les fixer en dur :

G_ACTIONKEYCODE_UP=65
G_ACTIONKEYCODE_DOWN=66

(les code sont au hazard la, je crois que ca correspond a "A" et "B") mais bon c'est pas clean car tu pourras pas les changers avec AtomicManager.



Et que bien sur tu declare tes variable globale pour les actioncode


Code:

sub AtomicDef GlobalVariables

Int G_ACTIONKEYCODE_UP;
Int G_ACTIONKEYCODE_DOWN;

end AtomicDef



Ensuite dans le fichier de config du plugin tu aurais :

Citation
ACTIONKEYCODE_DOWN=<valeur du code>
ACTIONKEYCODE_UP=<valeur du code>
Journalisée

Pizza
Chef d'équipe
Indiana Jones
*****
Messages: 769



WWW
« Répondre #6 le: Octobre 16, 2007, 12:45:26 »

Merci beaucoup pour l'exemple, voil? ou ?tait mon erreur

Je pensais que la variable ACTIONKEYCODE que l'on trouve dans pas mal de fichier .cfgplug (comme dans simple caterogy filter.cfgplug par exemple) ?tait un mot cl? r?serv?, et donc unique pour chaque plugin  :wink:
Journalisée

La pizza c'est sympa, mangez-en !
Pages: [1] Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  


Connexion avec identifiant, mot de passe et durée de la session

Hit-Parade Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.4.9 | SMF © 2006, Simple Machines LLC XHTML 1.0 Transitionnel valide ! CSS valide ! Classement de sites - Inscrivez le vôtre!