Features - keyboard




When programmed with key actions, each CH key pressed will mimic the key for which it is programmed, meaning that press / release events are both detected. Any key can be programmed, including left-shift, right-shift, left-ctrl, right-windows,... A special key can be programmed (modifier key), which works as a kind of shift key that does not report a shift to the kernel but provide a different mapping to the other key pressed simultaneously. This allows for up to 4 actions per button (2 for green led status, 2 for red led status).


Keyboard layout

Care must be taken about the keyboard layout. I use an AZERTY layout... and I have already found that in some games, I have to swap Q and W, etc. The application takes this into account, but trial-and-error might be necessary... By the way, the Windows CH Control Manager software does the same confusion in test mode.





Special keys

Final note : key events are the same as if coming from another keyboard, so if they have no event associated with them from the keyboard, same behaviour will occur from the MFP (e.g. keyboard multimedia keys). You will have to deal with them in your application, or with xmodmaps in X for instance.


Technical possibilities and limitations

→ Unspecified keys in mappings file have no action

→ By default, keys 51 to 100 are identical to keys 1 to 50, unless specified in mappings file,

... and all keys have same action when modifier key is pressed, unless specified in mappings file

→ You can forcibly define a key action to do nothing by specifying NULL as the key code

... this can be useful to disable a key in red or shift status

→ Led button events can also be programmed

→ If you only own 25 keys, no problem, just don't program keys 26 - 50


Functional possibilities and limitations

→ All key events can be simulated, including multimedia, joystick buttons and hats, gamepad and mouse buttons

→ Any keyboard keys can be mapped, including shift, ctrl, scroll-lock, multimedia, etc.

→ CH keys mimic exactly the assigned key, so press / release are interpreted as if coming from the keyboard

→ Only one modifier key can be implemented (but several CH keys can trigger it)

→ Sticky keys are possible at user's choice (press once to hold, once more to release)