I converted an Arcade Legends cabinet to a MAME cabinet using GroovyMame. I used the original usblinx board and swapped out the computer with an optiplex 755 I had lying around. I couldn't find an ATI card at an acceptable price so I bought
this. In order to get the USBLinx to work properly I needed to create a script that could function as a numlock toggle for its watchdog reset. I did not plug the usblinx reset switch into my PC because I didn't want it resetting the machine every thirty seconds while I figured it out. I also found that plugging in both the usb and the ps2 created weird issues where the input would drop as if the unit had reset itself and then come back. I only plugged the usb cables from my unit into my pc and both the trackball and arcade controls worked fine. All I had to do afterwards was configure the inputs to my liking for attractmode and the emulators I use.
##create /usr/bin/usblinx and chmod 755
##This is your watchdog script##
##I found that anything under 2 seconds didn't register as a toggle on my unit####
#!/bin/bash
_input=/dev/tty[1-8]
for t in $_input
do
setleds -D +num < "$t"
sleep 2
setleds -D -num < "$t"
done
##create /etc/systemd/system/usblinx.service##
##This service calls the before mentioned script##
[Unit]
Description=Usblinx Numlock Toggle for Watchdog
[Service]
Type=simple
ExecStart=/usr/bin/usblinx
[Install]
WantedBy=multi-user.target
##create /etc/systemd/system/usblinx.timer This is the timer i use to activate the above mentioned service##
[Unit]
Description=Toggle Numlock for USBLinx watchdog
[Timer]
OnCalendar=*-*-* *:*:0/8
Unit=usblinx.service
[Install]a
WantedBy=multi-user.target