Features - general



What happens

Using the technical information, driver captures the USB data, determines which events have happened since last USB interrupt transfer (key press / release, possibly simultaneous), translates those into input events according to key mapping defined by the user in keymap file (loaded at startup), and passes them on to the kernel using uinput.


Technical possibilities and limitations

→ Simultaneous events are passed to the kernel with no limitation other than hardware

→ Leds cannot be operated from the application (hardware limitation)

→ Application will loop undefinitely, unless error detected (including MFP disconnect) or until process is killed

→ Use -t option to terminate application from another terminal (all such exits should be graceful)

→ Application will detect if a previous instance is running and will safely abort

→ Several connected MFP's are supported, up to 16 simultaneously by default


In CLI mode, the following additional limitations exist (in GUI mode, a refresh is sufficient) :

→ Key mappings are read only once at startup and cannot be changed dynamically

→ Application expects to find MFP connected on startup, if not user has a number of timeout retries to connect



Functional possibilities and limitations

→ Key press and release events are both detected and passed

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

→ Red / green toggle status is taken into account for a maximum of 100 buttons

→ Modifier key functionality allows to program 2 different actions for each button (for each green / red led state)

→ This brings up a maximum of 200 programmable actions

→ Application does not rely on X and can be run from terminal (no need for xmodmap, but can use if you want)

→ Full GUI is available, with automatic fallback to CLI (command line)