UPDATE (Nov 18): This no longer works in Android 4.2. I’m looking into alternative ways to accomplish this.
As you can see, I am using my Wacom Bamboo Pen on my Nexus 7. This is the only combination I’ve tried, other Wacom tablets may or may not work on other Android tablets. I’d be interested in hearing if you can get this working on different configurations.
Currently this process takes a bit of work to set up. When I have more time to do so, I might put together an app which automates setup.
Things you must have:
1. If your tablet doesn’t allow you to plug standard USB devices into it, you must own a USB OTG adapter. One end is a micro-usb plug, and the other end is a standard USB socket. This allows you to actually plug the Wacom tablet into your Nexus 7 (or probably other tablet)
2. Your tablet must be rooted. If not, sorry, no dice. You need to be able to write to /system for this to work.
3. Be running a recent version of Android. I’m not sure exactly how recent it has to be; the tablet didn’t do anything at all for me until I was running 4.1.2 (as far as I can remember), so you may require 4.1.2 to be able to do this.
Meet all of those criteria? Cool, let’s move on to some issues specifically relating to the Nexus 7. If your tablet naturally defaults to landscape orientation, you might not hit any of these problems and the tablet might just work, no fiddling required.
Try plugging in your tablet right now. You’ll notice that the scaling is completely screwed up; in portrait mode, the width of the drawing tablet maps to the width of the android tablet. The same can be said of their respective heights. As a result, anything you draw will be squished horizontally and stretched vertically. No good.
It would seem obvious that the fix, then, is to flip the tablet on its side and use it in landscape mode. However– the screen area your drawing tablet maps *does not change* when the screen rotates, so you’re stuck only being able to write on half of the screen, and it is stretched out.
There is a fix, however — add the appropriate Input Device Configuration file to tell Android to treat the drawing tablet as a touchScreen device. This causes the drawing tablet to appropriately map to the screen, and works great, with one catch. Android won’t display a mouse cursor when you use the drawing tablet, so you’ll be drawing blind essentially. I’m currently working on an app that displays a marker where you hover your pen, though it needs some more work before I’m comfortable with releasing it.
Alright, so let’s begin. There will be terminal commands, followed by what I am doing in (parentheses).
1. Open up a terminal and type in ‘su’. (gain root access)
2. ‘mount -o rw,remount /system’ (remount /system as read/write)
3. Plug in your drawing tablet.
4. run ‘lsusb’. One of the lines should include “056a” if you’re using a Wacom tablet (other manufacturers have a different identifier. If this applies to you, unplug the tablet, lsusb again, and compare which lines are new.)
I have a line looking like: “Bus 002 Device 002: ID 056a:00d4″. In this case, 056a is the Vendor ID and 00d4 is the Device ID. Those IDs are important, and we’ll need them in the next step.
5. echo “touch.deviceType = touchScreen\ntouch.orientationAware = 0″ > /system/usr/idc/Vendor_056a_Product_00d4.idc (create a file named /system/usr/idc/Vendor_056a_Product_00d4.idc with the following two lines as its contents:
touch.deviceType = touchScreen
touch.orientationAware = 0
If your drawing tablet has different IDs, replace the IDs in the above path. Keep all capitals the same, this is case sensitive.)
6. chmod 644 /system/usr/idc/Vendor_056a_Product_00d4.idc (set appropriate permissions on the file we just made; read/write for root, read for group and everyone else. otherwise, this will not work)
7. Unplug your tablet and plug it in again. It should work. Probably.