|
|
(42 intermediate revisions by 2 users not shown)
|
Line 5: |
Line 5: |
| | | |
| Les macros doivent être définies dans des fichiers sauvés sous : | | 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). | | * 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.. | | * Windows : le répertoire C:\Users\<username>\AppData\Roaming\emuclient\macros.. |
Line 14: |
Line 18: |
| ==Syntaxe== | | ==Syntaxe== |
| | | |
− | MACRO <DEVICE EVENT> <ID>
| + | <pre>MACRO <DEVICE EVENT> <ID> <RANGE> |
− | <DEVICE EVENT> <ID> | + | <DEVICE EVENT> <ID> <VALUE> |
| DELAY <MS> | | DELAY <MS> |
− | #<COMMENT> | + | #<COMMENT></pre> |
| | | |
− | <span class="mw-translate-fuzzy">
| + | <DEVICE EVENT>: KEY, KEYDOWN, KEYUP, MBUTTON, MBUTTONDOWN, MBUTTONUP, JBUTTON, JBUTTONDOWN, JBUTTONUP, MAXIS, JAXIS |
− | <DEVICE EVENT>: KEYDOWN, KEYUP, MBUTTONDOWN, MBUTTONUP, JBUTTONDOWN, JBUTTONUP | |
| <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) |
| + | <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 32: |
Line 36: |
| * KEY : KEYDOWN + DELAY 50 + KEYUP | | * KEY : KEYDOWN + DELAY 50 + KEYUP |
| | | |
− | <span class="mw-translate-fuzzy">
| |
| * MBUTTONDOWN : bouton de la souris enfoncé | | * MBUTTONDOWN : bouton de la souris enfoncé |
| * MBUTTONUP : bouton de la souris relâché | | * MBUTTONUP : bouton de la souris relâché |
− | </span>
| + | * MBUTTON: MBUTTONDOWN + DELAY 50 + MBUTTONUP |
| | | |
− | <span class="mw-translate-fuzzy">
| |
| * JBUTTONDOWN : bouton du joystick enfoncé | | * JBUTTONDOWN : bouton du joystick enfoncé |
| * JBUTTONUP : bouton du joystick relâché | | * JBUTTONUP : bouton du joystick relâché |
− | </span>
| + | * JBUTTON: JBUTTONDOWN + DELAY 50 + JBUTTONUP |
| | | |
| * DELAY : un délai en millisecondes | | * DELAY : un délai en millisecondes |
| | | |
− | ==Exemple: rapid_fire.txt==
| + | * 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 |
| | | |
− | MACRO MBUTTONDOWN BUTTON_LEFT
| + | * 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 |
− | 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).<br /> | |
− | 'BUTTON_LEFT' n'est PAS bindé à r1 dans les profils 1 et 2.
| |
| | | |
| ==Activation des macros== | | ==Activation des macros== |
Line 64: |
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, macros1.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, macros2.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, macros2.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 /> |
| | | |
− | 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 : |
| + | <pre>MACRO F1 |
| + | #contenu |
| + | |
| + | MACRO F2 |
| + | TRIGGER F5 |
| + | #contenu |
| + | |
| + | MACRO F3 |
| + | TRIGGER F6 |
| + | #contenu |
| + | |
| + | MACRO F4 |
| + | TRIGGER F5 |
| + | #contenu</pre> |
| + | Avec GIMX 1.12 et plus ancien, l'exemple ci-dessus fonctionne de la manière suivante :<br /> |
| + | F1 reste actif tout le temps car il n'a pas de trigger.<br /> |
| + | F2 et F4 sont actif par défaut. Si F6 est pressé, F3 devient actif, et F2 et F4 deviennent inactifs.<br /> |
| + | Depuis GIMX 2.00 :<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 /> |
| + | 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 /> |
| Exemple: | | Exemple: |
− | MACRO F1
| + | <pre>MACRO F1 |
− | #contenu
| + | TRIGGER 1 |
− | MACRO F2
| + | INIT ON |
− | TRIGGER F5
| + | TOGGLE YES |
− | #contenu
| + | #contenu</pre> |
− | 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== | | ==Notes== |
Line 99: |
Line 101: |
| ===Précision du délai=== | | ===Précision du délai=== |
| | | |
− | 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 /> |
− | En utilisant le bluetooth, la précision est de 10ms. En utilisant un adaptateur USB à 250Hz, la précision est de 4ms.<br />
| + | * 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é.<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 10ms et que le délai est de 11ms, le délai résultant sera de 20ms. | + | 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=== | | ===Boucle=== |
Line 108: |
Line 115: |
| 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 /> |
Line 122: |
Line 127: |
| 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.<br /> | | 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.<br /> |
| 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. |
| + | |
| + | ==Exemples== |
| + | |
| + | ===Macro rapid fire=== |
| + | |
| + | <pre>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</pre> |
| + | |
| + | Dans gimx-config, 'p' est mappé à 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. |
| + | |
| + | Cette macro est déclenchée en appuyant sur le bouton gauche de la souris.<br /> |
| + | La dernière commande de la première macro redémarre la macro, créant une boucle.<br /> |
| + | Lorsque le bouton gauche de la souris est relâché, la seconde macro stoppe la première macro. |
| + | |
| + | ===Macro anti-recul=== |
| + | |
| + | <pre>MACRO KEYDOWN o |
| + | MAXIS 1 25 |
| + | KEYDOWN o |
| + | |
| + | MACRO MBUTTONDOWN BUTTON_LEFT |
| + | KEYDOWN o |
| + | |
| + | MACRO MBUTTONUP BUTTON_LEFT |
| + | KEYDOWN o</pre> |
| + | |
| + | Changer '25' par la valeur qui annule le recul. |
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.