So I have this incredibly old and stupidly cheap AIPTEK tablet (like a Wacom, only Chinese and cheap) that is so outdated it practically has almost no existence online. Why did I bring this item across the atlantic? I have no answer, but it’s here anyways and I can’t seem to bring myself to trash it. Of course no drivers are available for it so I wrote a tiny simple driver using the great libHID library from Brandon Fosdick. It was painless, and my old tablet was saved.
After poking around for a libUSB solution, which almost worked out, I found libHID. It is very very simple, but also lacks a couple features I would be happier if they existed (like API callbacks to replace polling). Mind, this is written for MacOS with CoreGraphics API, but it’s very easy to rewrite the mouse() and to() functions using WinAPI (just calls from: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646970(v=vs.85).aspx).
Some stuff is yet unresolved (like pressure reading), but here’s the gist of it:
I used a simple CMake build, after downloading libHID and putting in the source directory
cmake_minimum_required (VERSION 2.6) project (AIPTEKDriver) file(GLOB _SOURCES *.cpp *.c *.vert *.frag *.cu) file(GLOB _HEADERS *.h) find_library(COREGRAPHICS_LIB CoreGraphics) add_subdirectory(bfoz-libhid-dfe65ff) include_directories("bfoz-libhid-dfe65ff/include") add_executable(AIPTEKDriver ${_SOURCES} ${_HEADERS} ) target_link_libraries(AIPTEKDriver libHID ${COREGRAPHICS_LIB} )