«

»

Dec 13

Simple HID driver to save an old AIPTEK HyperPen tablet trashing

rect3948So 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}
	)
Share
  • Siana

    I'm curiously poking the whole tablet mess while shopping for a more modern tablet for myself; it seems like this package could fit?

    https://code.google.com/p/hyperpen-for-apple/

    Though thank you for your post, it's enlightening to see simple code which understands the hardware.

  • http://www.morethantechnical.com Roy

    @Siana I say if you're serious about using a tablet for work - get a Wacom, but if you already have a cheap one - don't throw it away yet... this driver may very well be the answer to reviving it.