Difference between revisions of "Command line"
(Start update for GIMX 2.xx.) |
(Continue update for GIMX 2.xx.) |
||
Line 52: | Line 52: | ||
* ps3_bt_address | * ps3_bt_address | ||
:This argument is mandatory. | :This argument is mandatory. | ||
+ | |||
+ | ==Linux + bluetooth + PS4== | ||
+ | |||
+ | This part is to be completed! | ||
==Linux or Windows + DIY USB adapter or GPP== <!--T:8--> | ==Linux or Windows + DIY USB adapter or GPP== <!--T:8--> | ||
Line 59: | Line 63: | ||
<!--T:22--> | <!--T:22--> | ||
− | + | gimx --config file_name --port /dev/ttyUSBX | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
or | or | ||
− | + | gimx -c file_name -p /dev/ttyUSBX | |
<!--T:10--> | <!--T:10--> | ||
Line 82: | Line 75: | ||
:The serial port. Ex: /dev/ttyUSB0 in Linux, COM4 in windows.<br /> | :The serial port. Ex: /dev/ttyUSB0 in Linux, COM4 in windows.<br /> | ||
:Only mandatory for the DIY USB adapter. | :Only mandatory for the DIY USB adapter. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* --refresh 4 | * --refresh 4 | ||
:The refresh period, in ms.<br /> | :The refresh period, in ms.<br /> | ||
− | + | :Optional. Forcing the refresh period is not recommended. | |
− | |||
− | |||
− | :Optional | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==General | + | ==General gimx options== <!--T:11--> |
<!--T:12--> | <!--T:12--> | ||
Line 124: | Line 97: | ||
:The main use case for this is the automation of macro's execution.<br /> | :The main use case for this is the automation of macro's execution.<br /> | ||
:Events that are not generated by macros are ignored.<br /> | :Events that are not generated by macros are ignored.<br /> | ||
− | |||
:Another use case is the sending of a single command (it requires to use a macro as no key up event is generated). | :Another use case is the sending of a single command (it requires to use a macro as no key up event is generated). | ||
* --event "control(value)" | * --event "control(value)" | ||
− | : | + | :It's possible to send controls to the console from the command line, without having to create a configuration and macros to use with the --keygen argument. |
:Example: | :Example: | ||
− | + | gimx -p /dev/ttyUSB0 --event "lstick x(127)" --event "rstick y(-128)" --event "circle(255)" --event "square(0)" | |
:This moves the left stick right, the right stick forward, fully presses the circle button, and releases the square button. | :This moves the left stick right, the right stick forward, fully presses the circle button, and releases the square button. | ||
:The state of all other controls is cleared, i.e. all other buttons and axes are released (in the above command, --event "square(0)" is not necessary). | :The state of all other controls is cleared, i.e. all other buttons and axes are released (in the above command, --event "square(0)" is not necessary). |
Revision as of 10:35, 19 July 2014
Contents
Motivation
GIMX can be run from a Linux terminal without having to run a windowing system.
This improves performances, especially on small targets like the Raspberry Pi or thin clients.
It's also useful for other stuff like automation.
Linux + bluetooth + PS3
Set the dongle address
It is highly recommended to use a CSR Bluecore4-rom dongle. Check the compatibility list.
Plug a Sixaxis previously paired with the target PS3.
Type in a terminal:
sixaddr
Result:
Current Bluetooth master: ps3_bt_address Current Bluetooth Device Address: sixaxis_bt_address
Get the current dongle address:
bdaddr -i hciN
where N is the dongle index (type "hciconfig -a" to see all dongles).
Write it down so as to be able to restore it later.
Set the dongle address:
bdaddr -r -i hciN sixaxis_bt_address
Check the result:
bdaddr -i hciN
Run GIMX
In a terminal:
gimx --type Sixaxis --config filename --hci bt_device_index --bdaddr ps3_bt_address
- file_name
- The name of the config file, in the ~/.emuclient/config directory (ex : toto.xml).
- This argument is mandatory.
- Use backslashes to escape spaces.
- bt_device_index
- The bluetooth device index (ex : 0 for hci0, 1 for hci1, etc).
- This argument is optional, default device index is 0.
- ps3_bt_address
- This argument is mandatory.
Linux + bluetooth + PS4
This part is to be completed!
Linux or Windows + DIY USB adapter or GPP
In a terminal:
gimx --config file_name --port /dev/ttyUSBX or gimx -c file_name -p /dev/ttyUSBX
emuclient options:
- --config file_name
- The name of the config file, in the ~/.emuclient/config directory (ex : toto.xml).
- This argument is mandatory.
- --port /dev/ttyUSB0
- The serial port. Ex: /dev/ttyUSB0 in Linux, COM4 in windows.
- Only mandatory for the DIY USB adapter.
- --refresh 4
- The refresh period, in ms.
- Optional. Forcing the refresh period is not recommended.
General gimx options
- --curses
- curses terminal display.
- Mouse calibration is available through this interface.
- --status
- Display controls in the terminal.
- --nograb
- Do not grab the mouse cursor.
- --force-updates
- Send button+axis status even if there is no change (for compatibility with games like DNF).
- --subpos
- Improve stick precision (counteract rounding issues).
- --keygen key
- Generate a key press at emuclient startup.
- The main use case for this is the automation of macro's execution.
- Events that are not generated by macros are ignored.
- Another use case is the sending of a single command (it requires to use a macro as no key up event is generated).
- --event "control(value)"
- It's possible to send controls to the console from the command line, without having to create a configuration and macros to use with the --keygen argument.
- Example:
gimx -p /dev/ttyUSB0 --event "lstick x(127)" --event "rstick y(-128)" --event "circle(255)" --event "square(0)"
- This moves the left stick right, the right stick forward, fully presses the circle button, and releases the square button.
- The state of all other controls is cleared, i.e. all other buttons and axes are released (in the above command, --event "square(0)" is not necessary).
- emuclient should complete in about 10ms.
- Names and value ranges:
- "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} (only two values as these buttons are not pressure-sensitive)
- "up", "right", "down", "left", "triangle", "circle", "cross", "square", "l1", "r1", "l2", "r2": [0,255]