Macros
Il est possible de configurer des macros clavier/souris/joystick : une touche ou un bouton peut déclencher une série d'événements clavier/souris/joystick, avec un certain timing.
Contents
Répertoire
Les macros doivent être définies dans des fichiers sauvés sous :
- Ubuntu : le répertoire ~/.gimx/macros. ~ est le dossier personnel, et .gimx est un dossier caché (dans le gestionnaire de fichiers, appuyer sur ctrl+h pour afficher les dossiers cachés).
- Windows : le répertoire C:\Users\<username>\AppData\Roaming\gimx\macros..
GIMX 1.12 et antérieur :
- Ubuntu : le répertoire ~/.emuclient/macros. ~ est le dossier personnel, et .emuclient est un dossier caché (dans le gestionnaire de fichiers, appuyer sur ctrl+h pour afficher les dossiers cachés).
- Windows : le répertoire C:\Users\<username>\AppData\Roaming\emuclient\macros..
GIMX 0.51 et version précédentes :
- Windows 32bits : le répertoire C:\Program Files\GIMX\macros.
- Windows 64bits : le répertoire C:\Program Files (x86)\GIMX\macros.
Syntaxe
MACRO <DEVICE EVENT> <ID> <DEVICE EVENT> <ID> <VALUE> DELAY <MS> #<COMMENT>
<DEVICE EVENT>: KEY, KEYDOWN, KEYUP, MBUTTON, MBUTTONDOWN, MBUTTONUP, JBUTTON, JBUTTONDOWN, JBUTTONUP, MAXIS, JAXIS <ID> : l'id de l’événement (sensible à la casse) tel qu'affiché dans gimx-config <VALUE> : la valeur de l'axe (seulement pour MAXIS et JAXIS) <MS> : une valeur entière en millisecondes <COMMENT> : un commentaire, non interprété
Commandes
- KEYDOWN : touche du clavier enfoncée
- KEYUP : touche du clavier relâchée
- KEY : KEYDOWN + DELAY 50 + KEYUP
- MBUTTONDOWN : bouton de la souris enfoncé
- MBUTTONUP : bouton de la souris relâché
- MBUTTON: MBUTTONDOWN + DELAY 50 + MBUTTONUP
- JBUTTONDOWN : bouton du joystick enfoncé
- JBUTTONUP : bouton du joystick relâché
- JBUTTON: JBUTTONDOWN + DELAY 50 + JBUTTONUP
- DELAY : un délai en millisecondes
- MAXIS : axe de la souris déplacé
ID : 0 pour l'axe x, et 1 pour l'axe y
VALUE : valeurs positives pour droite et bas
- JAXIS : axe de joystick déplacé
ID : l'id de l'axe, comme affiché dans gimx-config
VALUE : dans [-32768 .. 32767] pour les axes centrés, et dans [0 .. 32767] pour les axes non centrés
Exemple 1: rapid_fire.txt
MACRO MBUTTONDOWN BUTTON_LEFT KEYDOWN p DELAY 50 KEYUP p DELAY 50 MBUTTONDOWN BUTTON_LEFT MACRO MBUTTONUP BUTTON_LEFT KEYUP p MBUTTONDOWN BUTTON_LEFT
'p' est bindé à r1 dans les profils 1 (vue normale) et 2 (visée).
'BUTTON_LEFT' n'est PAS bindé à r1 dans les profils 1 et 2.
Exemple 2 : recoil.txt
MACRO KEYDOWN o MAXIS 1 25 KEYDOWN o MACRO MBUTTONDOWN BUTTON_LEFT KEYDOWN o MACRO MBUTTONUP BUTTON_LEFT KEYDOWN o
Changer '25' par la valeur dans [0..128] qui annule le recul.
Activation des macros
Cette section n'est applicable qu'à partir de GIMX 1.00.
Il est possible de spécifier quels fichiers de macros doivent être lus pour chaque configuration.
Ceci peut se configurer dans un fichier nommé "configs.txt" situé dans le répertoire macros.
Exemple :
#Si config1.xml est chargée, macro1.txt est lu. config1.xml macro1.txt #Si config1.xml est chargée, macro2.txt est lu. config1.xml macro2.txt #Si config2.xml est chargée, macro2.txt est lu. config2.xml macro2.txt
Les lignes commençant par # ne sont pas interprétées.
Il est aussi possible de définir des événements d'activation dans la définition des macros.
La syntaxe est la suivante :
TRIGGER <event>
Exemple:
MACRO F1 #contenu MACRO F2 TRIGGER F5 #contenu MACRO F3 TRIGGER F6 #contenu MACRO F4 TRIGGER F5 #contenu
Avec GIMX 1.12 et antérieur, l'exemple ci-dessus fonctionne de la manière suivante :
F1 reste active tout le temps (pas de TRIGGER).
F2 et F4 sont actives par défaut. Si F6 est pressé, F3 devient active, F2 et F4 deviennent inactives.
Avec GIMX 2.00 et ultérieur :
Les macros avec trigger sont inactives par défaut. Pour qu'une macro avec trigger soit active par défaut, ajouter une ligne contenant "INIT ON" après la ligne "TRIGGER <event>".
Les macros avec trigger peuvent aussi être activées et désactivées indépendamment des autres macros. Ceci peut être configuré en ajoutant une ligne contenant "TOGGLE YES" après la ligne "TRIGGER <event>".
Exemple :
MACRO F1 TRIGGER 1 INIT ON TOGGLE YES #content
Notes
Précision du délai
La précision du délai dépend de la période de mise à jour du contrôleur :
- sixaxis/bluetooth = 11.25ms
- sixaxis/usb = 10ms
- 360 pad = 8ms
Si vous spécifiez un délai qui n'est pas un multiple de la précision, le délai résultant sera le plus petit multiple de la précision plus grand que le délai spécifié.
Par exemple, si la précision est de 11.25ms et que le délai est de 12ms, le délai résultant sera de 22.50ms (=2*11.25ms).
Boucle
Pour qu'une macro boucle, ajouter simplement une commande KEYDOWN ou MBUTTONDOWN ou JBUTTONDOWN à la fin de la macro.
Exemple:
MACRO MBUTTONDOWN BUTTON_LEFT KEYDOWN p DELAY 50 KEYUP p DELAY 50 MBUTTONDOWN BUTTON_LEFT
La macro est déclenchée en appuyant sur 'BUTTON_LEFT'.
La dernière commande de la macro redémarre la macro, créant de ce fait une boucle.
Pour arrêter une macro, appuyer une nouvelle fois sur le déclencheur. La macro est arrêtée immédiatement et l'état du contrôleur n'est pas modifié.
Claviers/souris/joysticks multiples
Dans le cas où plusieurs claviers ou souris ou joysticks sont utilisés, il n'est pas possible de spécifier pour quel périphérique les événements seront générés.
Les événements sont générés pour le premier clavier/souris/joystick trouvé dans la configuration.