Hi Will,
as others have said this is very easy with a Pd patch. Use Pd from here,
preferably over other distributions:
http://msp.ucsd.edu/software.html
Install the [hid] external using the "Find externals..." menu entry.
Write a patch that loads this external library into pd, for example by
creating an object
[declare -lib hid]
More help at the Pd mailing list at
https://lists.puredata.info/pipermail/pd-list//
Eventually you will have to change the permissions on the
/dev/input/deviceXX file to have Pd read from it directly.
Oh, I found it handy to disable the pointing device I am querying in Pd
in the xserver so I don't click somewhere by accident and can still use
another mouse to point and click:
List all X input devices
xinput --list
filter for numeric ID of "USB Optical Mouse"
xinput --list | grep "USB Optical Mouse" | cut -d "=" -f 2 |
cut -f 1
get the number for the "Device Enabled" parameter of that mouse
xinput --list-props `xinput --list | grep "USB Optical Mouse" | cut -d
"=" -f 2 | cut -f 1`
which in my case was 164. Then change its value to 0 or back to 1
xinput --set-prop `xinput --list | grep "USB Optical Mouse" | cut -d
"=" -f 2 | cut -f 1` 164 0
xinput --set-prop `xinput --list | grep "USB Optical Mouse" | cut -d
"=" -f 2 | cut -f 1` 164 1
best, P