|
|
(19 intermediate revisions by the same user not shown)
|
Line 18: |
Line 18: |
| ==Syntaxe== | | ==Syntaxe== |
| | | |
− | <span class="mw-translate-fuzzy"> | + | <pre>MACRO <DEVICE EVENT> <ID> <RANGE> |
− | MACRO <DEVICE EVENT> <ID> | |
| <DEVICE EVENT> <ID> <VALUE> | | <DEVICE EVENT> <ID> <VALUE> |
| DELAY <MS> | | DELAY <MS> |
− | #<COMMENT> | + | #<COMMENT></pre> |
− | </span> | |
| | | |
− | <span class="mw-translate-fuzzy">
| |
| <DEVICE EVENT>: KEY, KEYDOWN, KEYUP, MBUTTON, MBUTTONDOWN, MBUTTONUP, JBUTTON, JBUTTONDOWN, JBUTTONUP, MAXIS, JAXIS | | <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 | | <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) | | <VALUE> : la valeur de l'axe (seulement pour MAXIS et JAXIS) |
| + | <RANGE> : la plage de l'axe (seulement pour MAXIS et JAXIS) ; la syntaxe est [min,max] avec min et max dans [-32768,32767] ; exemple : [8192,16384] |
| <MS> : une valeur entière en millisecondes | | <MS> : une valeur entière en millisecondes |
− | <COMMENT> : un commentaire, non interprété | + | <COMMENT> : un commentaire, non interprété ('#' est le premier caractère de la ligne) |
− | </span>
| |
| | | |
| ==Commandes== | | ==Commandes== |
Line 49: |
Line 46: |
| * DELAY : un délai en millisecondes | | * DELAY : un délai en millisecondes |
| | | |
− | <span class="mw-translate-fuzzy">
| + | * 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 |
− | * MAXIS : axe de la souris déplacé | |
− | ID : 0 pour l'axe x, et 1 pour l'axe y<br /> | |
− | VALUE : valeurs positives pour droite et bas | |
− | </span>
| |
| | | |
− | <span class="mw-translate-fuzzy">
| + | * 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 |
− | * JAXIS : axe de joystick déplacé | |
− | ID : l'id de l'axe, comme affiché dans gimx-config<br /> | |
− | VALUE : dans [-32768 .. 32767] pour les axes centrés, et dans [0 .. 32767] pour les axes non centrés | |
− | </span>
| |
| | | |
| ==Activation des macros== | | ==Activation des macros== |
Line 65: |
Line 54: |
| Cette section n'est applicable qu'à partir de GIMX 1.00. | | Cette section n'est applicable qu'à partir de GIMX 1.00. |
| | | |
− | <span class="mw-translate-fuzzy">
| |
| Il est possible de spécifier quels fichiers de macros doivent être lus pour chaque configuration.<br /> | | Il est possible de spécifier quels fichiers de macros doivent être lus pour chaque configuration.<br /> |
| Ceci peut se configurer dans un fichier nommé "configs.txt" situé dans le répertoire macros.<br /> | | Ceci peut se configurer dans un fichier nommé "configs.txt" situé dans le répertoire macros.<br /> |
| Exemple : | | Exemple : |
− | #Si config1.xml est chargée, macro1.txt est lu.
| + | <pre>#Si config1.xml est chargée, macro1.txt est lu. |
− | config1.xml macro1.txt
| + | config1.xml/macro1.txt |
− | #Si config1.xml est chargée, macro2.txt est lu.
| + | #Si config1.xml est chargée, macro2.txt est lu. |
− | config1.xml macro2.txt
| + | config1.xml/macro2.txt |
| #Si config2.xml est chargée, macro2.txt est lu. | | #Si config2.xml est chargée, macro2.txt est lu. |
− | config2.xml macro2.txt
| + | config2.xml/macro2.txt</pre> |
| Les lignes commençant par # ne sont pas interprétées.<br /> | | Les lignes commençant par # ne sont pas interprétées.<br /> |
− | </span> | + | Depuis GIMX 4.0 le séparateur est une barre oblique, pour permettre l'utilisation de noms de fichiers avec des espaces.<br /> |
| | | |
− | <span class="mw-translate-fuzzy">
| + | Il est aussi possible de définir des évènements d'activation dans la définition des macros.<br /> |
− | Il est aussi possible de définir des événements d'activation dans la définition des macros.<br /> | |
| La syntaxe est la suivante : | | La syntaxe est la suivante : |
− | TRIGGER <event>
| + | <pre>TRIGGER <event></pre> |
− | 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 :<br />
| |
− | F1 reste active tout le temps (pas de TRIGGER).<br />
| |
− | F2 et F4 sont actives par défaut. Si F6 est pressé, F3 devient active, F2 et F4 deviennent inactives.<br />
| |
− | Avec GIMX 2.00 et ultérieur :<br />
| |
− | 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>".<br />
| |
− | 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>".<br />
| |
| Exemple : | | Exemple : |
− | MACRO F1
| + | <pre>MACRO F1 |
− | TRIGGER 1
| + | #contenu |
− | INIT ON
| |
− | TOGGLE YES
| |
− | #content
| |
− | </span>
| |
| | | |
| MACRO F2 | | MACRO F2 |
| TRIGGER F5 | | TRIGGER F5 |
− | #content | + | #contenu |
| | | |
| MACRO F3 | | MACRO F3 |
| TRIGGER F6 | | TRIGGER F6 |
− | #content | + | #contenu |
| | | |
| MACRO F4 | | MACRO F4 |
| TRIGGER F5 | | TRIGGER F5 |
− | #content</pre> | + | #contenu</pre> |
− | With GIMX 1.12 and earlier, the above example works the following way:<br />
| + | Avec GIMX 1.12 et plus ancien, l'exemple ci-dessus fonctionne de la manière suivante :<br /> |
− | F1 remains active all the time as there is no trigger specified.<br /> | + | F1 reste actif tout le temps car il n'a pas de trigger.<br /> |
− | F2 and F4 are default active. If F6 is pressed, F3 becomes active, F2 and F4 become inactive.<br /> | + | F2 et F4 sont actif par défaut. Si F6 est pressé, F3 devient actif, et F2 et F4 deviennent inactifs.<br /> |
− | With GIMX 2.00:<br />
| + | Depuis GIMX 2.00 :<br /> |
− | Macros with a trigger are default inactive. To make a macro with trigger default active, add a line containing "INIT ON" after the "TRIGGER <event>" line.<br />
| + | Les macros avec un trigger sont par défaut inactives. Pour rendre une macro avec trigger active par défaut, ajouter la ligne "INIT ON" après la ligne "TRIGGER <event>".<br /> |
− | Macros with a trigger can work with a toggle mode, which allows to activate and deactivate a macro autonomously: activating a togglable macro has no impact on other macros, and activating another macro has no impact on a togglable macro. This can be configured adding a line containing "TOGGLE YES" after the "TRIGGER <event>" line.<br />
| + | Les macros avec un trigger peuvent fonctionner avec un mode toggle, qui permet d'activer et de désactiver la macro de manière autonome : l'activation d'une macro avec mode toggle n'a pas d'impact sur les autres macros, et l'activation d'autres macros n'a pas d'impact sur une macro avec mode toggle. Ceci peut être configuré en ajoutant la ligne "TOGGLE YES" après la ligne "TRIGGER <event>".<br /> |
− | Example:
| + | Exemple: |
| <pre>MACRO F1 | | <pre>MACRO F1 |
| TRIGGER 1 | | TRIGGER 1 |
| INIT ON | | INIT ON |
| TOGGLE YES | | TOGGLE YES |
− | #content</pre> | + | #contenu</pre> |
| | | |
| ==Notes== | | ==Notes== |
Line 139: |
Line 101: |
| ===Précision du délai=== | | ===Précision du délai=== |
| | | |
− | <span class="mw-translate-fuzzy">
| |
| La précision du délai dépend de la période de mise à jour du contrôleur :<br /> | | La précision du délai dépend de la période de mise à jour du contrôleur :<br /> |
− | * sixaxis/bluetooth = 11.25ms | + | * ds3/bluetooth = 11.25ms |
− | * sixaxis/usb = 10ms | + | * ds3/usb = 10ms |
− | * 360 pad = 8ms | + | * ds4/bluetooth = 10ms |
| + | * ds4/usb = 10ms |
| + | * 360 pad = 8ms |
| + | * XOne pad = 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é.<br /> | | 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é.<br /> |
| 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). | | 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). |
− | </span>
| |
| | | |
| ===Boucle=== | | ===Boucle=== |
| | | |
− | <span class="mw-translate-fuzzy">
| |
| Pour qu'une macro boucle, ajouter simplement une commande KEYDOWN ou MBUTTONDOWN ou JBUTTONDOWN à la fin de la macro.<br /> | | Pour qu'une macro boucle, ajouter simplement une commande KEYDOWN ou MBUTTONDOWN ou JBUTTONDOWN à la fin de la macro.<br /> |
| Exemple: | | Exemple: |
− | MACRO MBUTTONDOWN BUTTON_LEFT
| + | <pre>MACRO MBUTTONDOWN BUTTON_LEFT |
− | KEYDOWN p
| + | #content |
− | DELAY 50
| + | MBUTTONDOWN BUTTON_LEFT</pre> |
− | KEYUP p
| + | |
− | DELAY 50
| |
− | MBUTTONDOWN BUTTON_LEFT
| |
| La macro est déclenchée en appuyant sur 'BUTTON_LEFT'.<br /> | | La macro est déclenchée en appuyant sur 'BUTTON_LEFT'.<br /> |
| La dernière commande de la macro redémarre la macro, créant de ce fait une boucle.<br /> | | La dernière commande de la macro redémarre la macro, créant de ce fait une boucle.<br /> |
| 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é. | | 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é. |
− | </span>
| |
− |
| |
− | The macro is triggered by pressing 'BUTTON_LEFT'.<br />
| |
− | The last command of the macro restarts the macro, creating a loop.<br />
| |
− | To stop a macro loop, just press the trigger again. The macro is stopped immediately, and the state of the controller is unchanged.
| |
| | | |
| ===Claviers/souris/joysticks multiples=== | | ===Claviers/souris/joysticks multiples=== |
Line 173: |
Line 128: |
| Les événements sont générés pour le premier clavier/souris/joystick trouvé dans la configuration. | | Les événements sont générés pour le premier clavier/souris/joystick trouvé dans la configuration. |
| | | |
− | ==Examples== | + | ==Exemples== |
| | | |
− | ===Rapid fire macro=== | + | ===Macro rapid fire=== |
| | | |
− | <span class="mw-translate-fuzzy"> | + | <pre>MACRO MBUTTONDOWN BUTTON_LEFT |
− | MACRO MBUTTONDOWN BUTTON_LEFT | + | KEYDOWN p |
− | KEYDOWN p
| + | #Set delay no less than the maximum rate of fire |
− | DELAY 50
| + | #10 rounds per second (600 rpm) |
− | KEYUP p
| + | DELAY 100 |
− | DELAY 50
| + | KEYUP p |
− | MBUTTONDOWN BUTTON_LEFT
| + | #~Do not set delay after keyup or it will negatively impact automatic weapons |
| + | MBUTTONDOWN BUTTON_LEFT |
| | | |
− | MACRO MBUTTONUP BUTTON_LEFT
| + | MACRO MBUTTONUP BUTTON_LEFT |
− | KEYUP p
| + | MBUTTONDOWN BUTTON_LEFT |
− | MBUTTONDOWN BUTTON_LEFT
| + | #Sometimes the fire key can be stuck down after the macro ends this releases it after the macro has been terminated |
− | </span> | + | KEYUP p</pre> |
| | | |
− | <span class="mw-translate-fuzzy">
| + | Dans gimx-config, 'p' est mappé à r1 dans les profils 1 (vue normale) et 2 (visée).<br /> |
− | 'p' est bindé à r1 dans les profils 1 (vue normale) et 2 (visée).<br /> | + | 'BUTTON_LEFT' n'est PAS mappé à r1 dans les profils 1 et 2. |
− | 'BUTTON_LEFT' n'est PAS bindé à r1 dans les profils 1 et 2. | |
− | </span>
| |
| | | |
− | The macro is triggered by pressing the left mouse button.<br />
| + | Cette macro est déclenchée en appuyant sur le bouton gauche de la souris.<br /> |
− | The last command of the first macro restarts the macro, creating a loop.<br />
| + | La dernière commande de la première macro redémarre la macro, créant une boucle.<br /> |
− | Upon the release of the left mouse button the second macro ends the loop of the first macro.
| + | Lorsque le bouton gauche de la souris est relâché, la seconde macro stoppe la première macro. |
| | | |
− | ===Recoil macro=== | + | ===Macro anti-recul=== |
| | | |
− | <span class="mw-translate-fuzzy"> | + | <pre>MACRO KEYDOWN o |
− | MACRO KEYDOWN o | + | MAXIS 1 25 |
− | MAXIS 1 25
| + | KEYDOWN o |
− | KEYDOWN o
| |
− |
| |
− | MACRO MBUTTONDOWN BUTTON_LEFT
| |
− | KEYDOWN o
| |
− |
| |
− | MACRO MBUTTONUP BUTTON_LEFT
| |
− | KEYDOWN o
| |
− | </span>
| |
| | | |
| MACRO MBUTTONDOWN BUTTON_LEFT | | MACRO MBUTTONDOWN BUTTON_LEFT |
Line 219: |
Line 165: |
| KEYDOWN o</pre> | | KEYDOWN o</pre> |
| | | |
− | <span class="mw-translate-fuzzy">
| + | Changer '25' par la valeur qui annule le recul. |
− | Changer '25' par la valeur dans [0..128] qui annule le recul. | |
− | </span>
| |
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 ~/.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> <RANGE>
<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)
<RANGE> : la plage de l'axe (seulement pour MAXIS et JAXIS) ; la syntaxe est [min,max] avec min et max dans [-32768,32767] ; exemple : [8192,16384]
<MS> : une valeur entière en millisecondes
<COMMENT> : un commentaire, non interprété ('#' est le premier caractère de la ligne)
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
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.
Depuis GIMX 4.0 le séparateur est une barre oblique, pour permettre l'utilisation de noms de fichiers avec des espaces.
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 plus ancien, l'exemple ci-dessus fonctionne de la manière suivante :
F1 reste actif tout le temps car il n'a pas de trigger.
F2 et F4 sont actif par défaut. Si F6 est pressé, F3 devient actif, et F2 et F4 deviennent inactifs.
Depuis GIMX 2.00 :
Les macros avec un trigger sont par défaut inactives. Pour rendre une macro avec trigger active par défaut, ajouter la ligne "INIT ON" après la ligne "TRIGGER <event>".
Les macros avec un trigger peuvent fonctionner avec un mode toggle, qui permet d'activer et de désactiver la macro de manière autonome : l'activation d'une macro avec mode toggle n'a pas d'impact sur les autres macros, et l'activation d'autres macros n'a pas d'impact sur une macro avec mode toggle. Ceci peut être configuré en ajoutant la ligne "TOGGLE YES" après la ligne "TRIGGER <event>".
Exemple:
MACRO F1
TRIGGER 1
INIT ON
TOGGLE YES
#contenu
Notes
Précision du délai
La précision du délai dépend de la période de mise à jour du contrôleur :
- ds3/bluetooth = 11.25ms
- ds3/usb = 10ms
- ds4/bluetooth = 10ms
- ds4/usb = 10ms
- 360 pad = 8ms
- XOne pad = 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 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
#content
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.
Exemples
Macro rapid fire
MACRO MBUTTONDOWN BUTTON_LEFT
KEYDOWN p
#Set delay no less than the maximum rate of fire
#10 rounds per second (600 rpm)
DELAY 100
KEYUP p
#~Do not set delay after keyup or it will negatively impact automatic weapons
MBUTTONDOWN BUTTON_LEFT
MACRO MBUTTONUP BUTTON_LEFT
MBUTTONDOWN BUTTON_LEFT
#Sometimes the fire key can be stuck down after the macro ends this releases it after the macro has been terminated
KEYUP p
Dans gimx-config, 'p' est mappé à r1 dans les profils 1 (vue normale) et 2 (visée).
'BUTTON_LEFT' n'est PAS mappé à r1 dans les profils 1 et 2.
Cette macro est déclenchée en appuyant sur le bouton gauche de la souris.
La dernière commande de la première macro redémarre la macro, créant une boucle.
Lorsque le bouton gauche de la souris est relâché, la seconde macro stoppe la première macro.
Macro anti-recul
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 qui annule le recul.