Features - multiple MFPs



Detection and handling is automatic

Several MFPs can be handled by the application (up to 16 by default). Nothing special is to be done, application will detect all connected MFPs, but in CLI mode this will be done at startup only, additional MFPs connected after will need a restart of chmfp (in GUI mode, you can simply refresh).


Keymap configuration files

In the case of multiple connected MFPs, if you are not using a global file, the key mapping configuration files will be numbered, appended by the device id. For instance, if two devices are connected, application will expect to find (default) chmfp_keymap-0 and chmfp_keymap-1. If you were to connect only one of the MFPs, then it would expect to find chmfp_keymap. If you expect such scenarios, you might find it useful to link / copy configuration files, or prefer to use global file.


Ordering of multiple MFPs

MFPs will always be assigned id number based on the same order of USB bus / address. It is not possible to identify by serial number or other unique id, as MFP does not report any. This means that if you swap USB ports when connecting MFPs, you might end up with swapped ids also. So, please keep same USB ports to avoid such surprise !


Two possible modes

Finally, two modes are possible. Default mode is to create one uinput device per MFP. This means that all key, mouse, joystick events will come from a different device for each MFP.

→ Pro = more flexible and no limitations in terms of number of axes

→ Con = the application needs to be able to handle several keyboard, mouse, joystick devices.


You can change this behaviour with the -u option in CLI mode (or parameters window in GUI mode), in that case all MFP events will come to the same uinput device.

→ Pro = only one device for keyboard, mouse, joystick to handle

→ Con = there are limitations e.g. only 8 axes cumulated between all MFPs, etc.