Vojtech Pavlik wrote:
> On Wed, Feb 14, 2007 at 06:22:13PM -0500, Mazin wrote:
>   
>> I have a USB drawing tablet made by a Taiwanese company called UGEE 
>> (using UC-Logic's technology).  As of now, there are no Linux drivers 
>> for it, although it has basic functionality as a mouse.
>> I want to be able to use its pressure sensitivity feature in Linux, and 
>> I need somebody to write the driver.
>>
>> I have reverse-engineered the tablet's protocol using a USB sniffer, and 
>> I can provide information on each byte it sends.  All I need is somebody 
>> to implement it.
>>     
>  
> Go ahead and post the protocol.
OK, here goes.

The tablet sends its data in an 8-byte packet.
(Numbers in hex)

A typical packet looks like:
07 80 4f 00 4a 0b 00 00

The bytes, from left-to-right, are:
1: ? Not sure, but from my testing it's always 07
2: The button codes for when buttons are pressed (there are two buttons 
on the barrel of the pen):
    81 = Pen tip touch (translates to LMB)
    82 = Bottom side button (closest to pen tip)
    84 = Top side button (translates to RMB)
    C0 = I'm not sure, but I think it might indicate when the pen is not 
in the sensing range of the tablet.
3: X-pos small increment (from 00 to FF)
4: X-pos large increment (goes up to 0F).  Each one of these is "worth" 
256, since byte three can only count to FF.
5: Y-pos small increment (from 00-FF)
6: Y-pos large increment (goes up to 0B).  Works like the X-pos.
7: Pen pressure (goes up to FF)
8: Pressure large increment, "worth" 256.  My tablet has 512 degrees of 
pressure, so for 512, byte seven is FF and byte 8 is 01.  On my tablet 
it's either 00 or 01, but tablets with a greater pressure range may have 
higher values.

I'm not a USB expert, but I suspect that something special happens when 
the tablet is first plugged in.  For brevity's sake, I have the raw 
sniffer data from when I first plug my tablet in on a computer with the 
Windows driver installed.  You can find it at 
http://files.aztekera.com/apps/tabletinitialization.txt

If this isn't enough I can provide more data, although I might not know 
what to do with it.

As always, thanks for any support,
Mazin

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to