Linux Joystick Mapper Git
Status: Beta
Brought to you by:
alexandrehardy
1) Make sure that the module uinput is loaded,
I have
rmmod ehci_hcd
rmmod ohci_hcd
rmmod uinput
modprobe uinput
/sbin/reserve_js
modprobe ehci_hcd
modprobe ohci_hcd
in /etc/rc.d/rc.local. This ensures that js0 through 16 are reserved
for the program. The program /sbin/reserve_js waits 10 seconds
before releasing js0 through 16.
2) You need permissions on /dev/uinput and /dev/input/event*
3) The uinput device can now be specified with --uinput_dev,
and the event device prefix with --event_dev
4) Run the program loadmap with your script, it will continue running
and provide the joystick events programmed until the program is
terminated.
5) Joystick selection by number is broken, the vendor and product
identifier must be used
For a UI, please have a look at https://rb3d.nl/rb3d/joymixerUI.html
I've been looking for alternatives to reserving js0 for joymap. This
code base now includes a library joymap_blocker.so which
is installed to /usr/local/lib64/joymap_blocker.so which can
filter out non-joymap joysticks for a program. It does this
using LD_PRELOAD.
For example, you can limit dosbox to joymap joysticks with:
LD_PRELOAD=/usr/local/lib64/joymap_blocker.so dosbox
The blocker code uses minimal logic to try determine if the device
opened is a joystick device, and if so it will try to
enforce that only joymap devices are opened. The checks are
not absolutely foolproof, but I expect it to work well in general.