Ligne de commande

From GIMX

Revision as of 09:53, 3 September 2014 by Matlo (talk | contribs) (Created page with "L'exécuter :")

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

Motivation

GIMX peut s'exécuter depuis un terminal Linux sans nécessiter d'environnement graphique.
Cela améliore les performances, en particulier sur les petites matériels comme le raspberry pi ou les clients légers.
C'est aussi utile pour d'autres applications comme l'automatisation.

Linux + bluetooth + PS3

Ecrire l'adresse du dongle

Il est hautement recommandé d'utiliser un dongle CSR Bluecore4-rom. Voir la liste de compatibilité.

Connecter un Sixaxis précédemment appairé avec la PS3 cible.

Taper dans un terminal :

sixaddr

Résultat:

Current Bluetooth master: ps3_bt_address
Current Bluetooth Device Address: sixaxis_bt_address

Afficher l'adresse actuelle :

bdaddr -i hciN

où N est l'index du dongle (taper "hciconfig -a" pour voir tous les dongles).

La noter pour pouvoir la restaurer plus tard.

Ecrire l'adresse du dongle :

bdaddr -r -i hciN sixaxis_bt_address

Vérifier le résultat :

bdaddr -i hciN

Lancer GIMX

Dans un terminal:

 gimx --type Sixaxis --config filename --hci bt_device_index --bdaddr ps3_bt_address
  • file_name
Le nom du fichier de config, dans le répertoire ~/.gimx/config (ex : toto.xml).
Cet argument est obligatoire.
Utilisez des backslashs avant les espaces.
  • bt_device_index
L'index de l'adaptateur bluetooth (ex : 0 pour hci0, 1 pour hci1, etc).
Cet argument est optionnel, l'index par défaut est 0.
  • ps3_bt_address
Cet argument est obligatoire.

Linux + bluetooth + PS4

Setup

Le setup établit l'appairage bluetooth entre la PS4 et le dongle, et entre le dongle et la DS4.
Il doit être exécuté de nouveau si la DS4 est réutilisée (cad ré-appairée) avec la PS4.

Télécharger le script d'aide :

 wget https://raw.github.com/matlo/GIMX-tools/master/PS4/gimx-ps4-helper.sh -O gimx-ps4-helper.sh

Le rendre exécutable :

 chmod +x gimx-ps4-helper.sh

L'exécuter :

 sudo ./gimx-ps4-helper.sh

Simply follow the instructions. A successful output should look like this:

 $ sudo ./gimx-ps4-setup.sh
 Unplug any Dualshock 4.
 Unplug any teensy.
 Unpug the bluetooth dongle.
 Then press enter.
 
 Plug the bluetooth dongle.
 The bluetooth dongle address is XX:XX:XX:XX:XX:XX.
 The bluetooth hci number is 1.
 Plug the DS4 with a USB cable.
 The DS4 address is YY:YY:YY:YY:YY:YY.
 Unplug the DS4.
 Plug the teensy.
 Unplug the teensy.
 Plug the teensy to the PS4, and wait a few seconds.
 Then plug the teensy back to the PC.
 The PS4 address is ZZ:ZZ:ZZ:ZZ:ZZ:ZZ.
 Everything was successful: setting dongle link keys.
 To run gimx, type:
 gimx -t DS4 -c config.xml -h 1 -b ZZ:ZZ:ZZ:ZZ:ZZ:ZZ

Run GIMX

1. The bluetooth service has to be stopped before starting GIMX (this allows GIMX to get incoming connections):

 sudo service bluetooth stop

You may also have to deactivate the bluetooth service if your system starts it automatically.

2. Start GIMX:

 gimx -t DS4 -c <config file> -h <hci number> -b <PS4 bdaddr>

<config file> is the name of the config file to use.
<hci number> is the bluetooth hci number, for example 0 if there is only one bluetooth adapter (internal or external). Run 'hciconfig' if you're not sure about this value.
<PS4 bdaddr> is the address of the PS4.

3. Start the DS4. It should connect to GIMX, which in turn should connect to the PS4.

Linux ou Windows + DIY USB adapter ou GPP

Dans un terminal:

GIMX 1.10 ou plus récent :

 emuclient --config file_name --port /dev/ttyUSBX
ou
 emuclient -c file_name -p /dev/ttyUSBX

options pour emuclient :

  • --config file_name
Le nom du fichier de config, dans le répertoire ~/.emuclient/config directory (ex : toto.xml).
Cet argument est obligatoire.
  • --port /dev/ttyUSB0
Le port série. Ex: /dev/ttyUSB0 sous Linux, COM4 sous windows.
Seulement obligatoire avec un adaptateur USB DIY.
  • --type joystick/GPP/360pad/Sixaxis/PS2pad
Le type d'adaptateur USB.
joystick pour l'adaptateur USB DIY avec le firmware joystick
Sixaxis pour l'adaptateur USB DIY avec le firmware sixaxis.
Cette option n'est applicable que pour GIMX ultérieur à 0.51.
Optionnel depuis GIMX 1.10.
  • --refresh 4
La période de rafraîchissement, en ms.
Valeurs recommandées:
joystick/GPP/360pad/Sixaxis: 4 (250Hz)
PS2pad: 16 (62.5Hz)
Optionnel depuis GIMX 1.10.
  • --serial
Seulement obligatoire avec un adaptateur USB DIY.
Cette option n'est applicable que pour GIMX 0.51 ou antérieur.
  • --joystick / --GPP / --360pad / --Sixaxis / --PS2pad
Le type d'adaptateur USB.
--joystick pour l'adaptateur USB avec le firmware joystick
--Sixaxis pour le dongle bluetooth, ou pour l'adaptateur USB avec le firmware sixaxis
Cette option n'est applicable que pour GIMX 0.51 ou antérieur.
  • --precision 16
La précision des axes. Joystick: 16, Autres adaptateurs: 8.
Cette option n'est applicable que pour GIMX 0.51 ou antérieur.

Linux or Windows + Remote GIMX

In a terminal:

 gimx --config file_name --dst IP:port
or
 gimx -c file_name -d IP:port

gimx options:

  • --config file_name
The name of the config file, in the ~/.gimx/config directory (ex : toto.xml).
This argument is mandatory.
  • --dst IP:port
The destination IP+port. Ex: 127.0.0.1:51914.
The remote GIMX has to be started with the --src argument, with the same IP:port value.

Options générales pour emuclient

  • --curses
curses Affiche l'état du contrôleur avec ncurses.
La calibration de la souris est disponible par cette interface.
  • --status
Affiche l'état du contrôleur dans un terminal.
  • --nograb
Ne pas capturer le pointeur de la souris.
  • --force-updates
Envoyer l'état des axes et boutons même en cas d'inactivité (pour une compatibilité avec les jeux comme DNF).
  • --subpos
Améliorer la précision des sticks (compense les arrondis).
  • --keygen key
Générer un événement au démarrage d'emuclient.
La principale utilisation est l'automatisation de l'exécution de macros.
Les événements non générés par des macros sont ignorés.
GIMX antérieur à 1.10 : le seul moyen de quitter est d'ajouter KEYDOWN SHIFT et KEYDOWN ESCAPE à la fin de la macro, ou d'utiliser --nograb et de taper ctrl+c dans le terminal.
Un autre cas d'utilisation est l'envoi d'une commande unique (requiert l'utilisation d'une macro car la touche n'est pas relâchée).
  • --event "control(value)"
Depuis GIMX 1.10 il est possible d'envoyer des contrôles à la console depuis la ligne de commande, sans avoir à créer de configuration et de macros à utiliser avec l'argument --keygen.
Exemple:
 emuclient -p /dev/ttyUSB0 --event "lstick x(127)" --event "rstick y(-128)" --event "circle(255)" --event "square(0)"
Cette commande déplace le stick gauche à droite, le stick droit vers l'avant, appuie sur le bouton cercle à fond, et relâche le bouton carré.
L'état des autres contrôles est réinitialisé, c'est-à-dire que tous les autres boutons et axes sont relâchés (dans la commande ci-dessus, --event "square(0)" est inutile).
emuclient devrait terminer son exécution en environ 10ms.
Noms et plages de valeurs:
"lstick x", "lstick y", "rstick x", "rstick y": [-128,127]
"acc x", "acc y", "acc z", "gyro": [-512,511]
"select", "start", "PS", "l3", "r3": {0, 255} (seulement deux valeurs car ces boutons ne sont pas "analogiques")
"up", "right", "down", "left", "triangle", "circle", "cross", "square", "l1", "r1", "l2", "r2": [0,255]