4 Saved a copy in anarres:~ian/public-html
6 The program "ffconst" can be used to send DX force feedback
7 commands, which the gamepad drivers apparently recognised and
8 converted to requests to spin one or both rumble motors
10 Alternative would be to try program "fedit" from DirectX 8.1 SDK
11 but was only able to find what looks like a dodgy copy
12 anarres:~ian/public-html/dx81sdk_full.exe
14 Obv. had to install Neo S drivers from the supplied mini cd
16 Used "usb snoop" 1.8 from
17 http://benoit.papillault.free.fr/usbsnoop/doc.php.en
18 which worked very nicely
21 http://www.pcausa.com/Utilities/UsbSnoop/
22 sounded like someone pointlessly messing with it so I ignored it
24 Runes for examining logs from usbsnoop program:
25 less -j40 +/USBD_TRANSFER_DIRECTION_OUT usbsnoop.log
26 perl -pe 's/\n$/\t\t/ unless m/UsbSnoop - MyDispatch/' <usbsnoop.log |grep TRANSFER_DIRECTION_OUT |less -S
28 Runes for testing on liberator:
29 perl -e 'print pack "c*", map { hex $_ } @ARGV' 4d 4d 46 00 c0 00 00 00 00 >/dev/hidraw0
37 Neo S firmware is batshit
39 Note how you have to send the usb report number byte again as the
40 first byte of the report. Dunno what the random 46 is.
42 Anyway, you write into /dev/hidraw* the following byte sequence:
43 4d 4d 46 RR LL 00 00 00 00
44 where RR is for the heavy weight motor on the RHS
45 where LL is for the lighter weight motor on the LHS
49 Lower values risk a stall even when running
50 Higher values make no difference
51 To start from stopped need 18
55 Lower values risk a stall even when running
56 Higher values make no difference
57 To start from stopped need at least 30