Features - joystick



Programming joystick axes

Each CH key can be programmed as a joystick axis. Up to 8 axes can be programmed, and one key will increment the joystick value at a rate programmed by the user, as long as key is pressed. You probably want to have one key for + and one key for - for each axis (can be different speeds though). Other actions can be performed simultaneously, similar to mouse movements, including mouse or other axis movements.


Centering axes

You can also program for each axis a key to center (0 value) the axis.


Effect in X windows manager

As opposed to mouse and key events, you might not see immediate action from a joystick axis. This is normal, as mouse X & Y axes are not associated to joystick X & Y axes in X server by default (ignores absolute axes if relative axes are present). However, a new joystick device will be created (such as /dev/input/jsX) and can be used from any application using joystick axes.


Joystick hats

Joystick hats are also possible... you just need to know that according to the linux kernel which respects hardware specs, joystick hats are viewed as axes. There are flaming wars about whether this is correct or not, the rationale is the following: they look like buttons, but on the same axis you cannot press up and down at the same time, so you might think of them as being discrete axes. Windows just seems to translate them in most drivers and have them appear like buttons again... Anyhow, chmfp respects the axes implementation, and one hat button has two axes (horizontal and vertical). If you (or your application) don't like that, you can use jhat on the top, which was built for this purpose.