Hey Tufty, this is quite an old thread now, but hey, all new information is great, maybe it'll help someone out.
It's info I've gleaned from some (mac-specific, but still generally valid in this respect) wacom docs whilst in the process of decrypting the ADB intuos tablets. Chapter and verse from wacom :
• Device ID
A new feature to the Intuos series is Device ID. A chip with a unique number is inside every device so every device can be uniquely identified. With Device ID you can assign a specific tool to a specific device or use it to "sign" a document. You can restrict access to document layers to particular devices and have settings follow a device to other machines.
The ID code from the device is in two sections. It is the combination of the two that is guaranteed unique. One section, the highSN, is actually a code unique to each device type. The other section, the lowSN, is a unique 32 bit number within a device type. lowSN may be repeated between device types, but not within a type.
The highSN is a coded bit field. Some bits have special meaning to the hardware, but are not of interest to a developer. What is of interest is:
There are 12 bits total.
The upper 4 bits, and a couple bits in the lower four, identify the device. The middle 4 bits are used to differentiate between electrically similar, but physically different devices, such as a general stylus with a different color. So to figure out a specific device type you mask with 0x0F06. For example maybe 0x0812 is a stylus that is black, 0x0802 is the standard stylus included in the box, and 0x0832 may be a stylus with no side switches.
The currently supported type are:
General stylus: (highSN&0x0F06)==0x0802 Airbrush: (highSN&0x0F06)==0x0902
4D Mouse: (highSN&0x0F06)==0x0004
5 button puck: (highSN&0x0F06)==0x0006
To create the unique ID just concatenate highSN (without masking with 0x0F06) and lowSN to make a 48 bit (you will probably use 64 bit) serial number.
Remembering Tool Settings
￼A really simple but useful feature you can add to your application is the ability to remember settings for each of a user’s
tools. For instance, a user may have three Intuos styli and would like to set one to the paint brush, another to pencil, and the third to the clone tool. Then as the user puts one pen down and starts to use one of the other pens, your application could recognize this and automatically switch to the correct tool predefined for that pen.
The secret to this feature is the combined use of the uniqeID of the proximity event and the deviceID of the proximity and pointer events. Keep a list all known devices and the settings for each device. Then as you get proximity events, check to see if you already have a device with that uniqueID in the list. If so, then switch to the settings for that device and update the deviceID. If not, then add that device to the list. While you receive pointer events with the same deviceID, you know the user is still using the same tool. On the rare occasion that you start getting pointer events with a different deviceID without first getting a proximity event, simply ask the tablet driver to resend the last proximity event (a.cm). You should also save this list in your preference file so that the next time the user runs your application, the settings for each tool will be remembered.
You may be tempted to bypass the uniqueID and just use the deviceID. However, Wacom will not guarantee that the deviceID for a tool will remain the same. The uniqueID is guaranteed to remain the same for a transducer at all times. Even if a transducer with a uniqueID of 425 on one computer is used on another computer, it will report its uniqueID as 425 on the other computer.