Macros

From GIMX

Revision as of 21:44, 14 July 2013 by FuzzyBot (talk | contribs) (Updating to match new version of source page)

Jump to: navigation, search
Other languages:
English • ‎français

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.

Répertoire

Les macros doivent être définies dans des fichiers sauvés sous :

  • 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>
DELAY <MS>
#<COMMENT>

<DEVICE EVENT>: KEYDOWN, KEYUP, MBUTTONDOWN, MBUTTONUP, JBUTTONDOWN, JBUTTONUP

<ID> : l'id de l’événement (sensible à la casse) tel qu'affiché dans gimx-config
<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é

  • JBUTTONDOWN : bouton du joystick enfoncé
  • JBUTTONUP : bouton du joystick relâché

  • DELAY : un délai en millisecondes

Exemple: 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.

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, macros1.txt est lu.
config1.xml macro1.txt
#Si config1.xml est chargée, macros2.txt est lu.
config1.xml macro2.txt
#Si config2.xml est chargée, macros2.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

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.

Notes

Précision du délai

La précision du délai dépend de la période de mise à jour du contrôleur.
En utilisant le bluetooth, la précision est de 10ms. En utilisant un adaptateur USB à 250Hz, la précision est de 4ms.
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 10ms et que le délai est de 11ms, le délai résultant sera de 20ms.

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.