To quote: The PS3 uDraw tablet/accessory comes with a USB dongle which shows up as a standard HID device when plugged into a PC, so I threw together some documentation and a "driver"/application to allow using it on a Windows PC as a standard mouse.
Documentation (Where ambiguous, assume little endian.)
There are 0x08 bytes that can be sent on the device's OUT interrupt pipe -- I don't know what these are. There are 0x1B bytes constantly received on the device's IN interrupt pipe, described below:
0x00 Button status information:
0 Set means square is being held down.
1 Set means cross is being held down.
2 Set means cricle is being held down.
3 Set means triangle is being held down.
4 No idea, but it set itself while playing around. More playing around reset it.
5 Unknown / nothing.
6 Unknown / nothing.
7 Unknown / nothing.
8 Set means select is being held down.
9 Set means start is being held down.
10 Unknown / nothing.
11 Unknown / nothing.
12 Set means the PS button is being held down.
0x02 D-pad status information:
0x00 UP being held down.
0x01 UP+RIGHT being held down.
0x02 RIGHT being held down.
0x03 DOWN+RIGHT being held down.
0x04 DOWN being held down.
0x05 DOWN+LEFT being held down.
0x06 LEFT being held down.
0x07 UP+LEFT being held down.
0x0F Nothing pressed.
0x03 Unknown, HID report desriptor indicates X, Y, Z, and Rz and range 0x00-0xFF.
I can't get these to ever change from 80 80 80 80. 0x07 Position data:
0 Unknown / nothing.
1 Unknown / nothing.
2 Unknown / nothing.
3 Unknown / nothing.
4 0x40 when using the pen, 0x80 when using the finger and something crazy when pinching/stretching.
5 0x00 normally, seems to be the distance between two fingers when pinching/stretching.
6 Starts at 0x74 and goes up to 0xFF depending on how hard the pen is held down, 0x60 when not pressed.
7 Unknown / nothing.
8 Minimum X grid that something is being pressed in (0-7, see below). 0x0F if not pressed.
9 Minimum Y grid that something is being pressed in (0-4, see below). 0x0F if not pressed.
10 X offset from top-left corner of current grid of press point, or 0xFF for not pressed.
11 Y offset from top-left corner of current grid of press point, or 0xFF for not pressed.
0x13 Accelerometer data, four 16-bit little endian values -- all 0x0200 when not sync'd:
0x00-0x01 X axis value; 0x200 at rest, increases to ~0x215 when tilting left vertically, decreases to ~0x1EA when tilting right vertically.
0x02-0x03 Y axis value; 0x200 at rest, decreases to ~0x01E6 when tilted fully forward, increases to ~0x215 when tilted fully backward.
0x04-0x05 Z axis value; around 0x01EC at rest, increases to 0x200 when tilted fully forward, backward, left, or right, increases to ~0x217 when fully upside down.
0x06-0x07 Unknown, never seems to change from 0x200.
The tablet is broken up into an 8x5 grid of 256x256 each. As the tablet's resolution is 1920x1080 (which doesn't divide evenly), the last row and column are slightly smaller:
I make absolutely no guarantees about the completeness or accuracy of this, but hopefully it helps you out a little.
Here's a little video of it.
Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!
if there's any sensitivity at all in the device (press down on the tablet harder for a bigger brush size) I imagine this would be a decent replacement for some bamboo/wacom tablets... but I don't see that information here