<s> import ctypes <EOL> lib = ctypes . windll . wintab32 <EOL> LONG = ctypes . c_long <EOL> BOOL = ctypes . c_int <EOL> UINT = ctypes . c_uint <EOL> WORD = ctypes . c_uint16 <EOL> DWORD = ctypes . c_uint32 <EOL> WCHAR = ctypes . c_wchar <EOL> FIX32 = DWORD <EOL> WTPKT = DWORD <EOL> LCNAMELEN = <NUM_LIT> <EOL> class AXIS ( ctypes . Structure ) : <EOL> _fields_ = ( <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , FIX32 ) <EOL> ) <EOL> def get_scale ( self ) : <EOL> return <NUM_LIT:1> / float ( self . axMax - self . axMin ) <EOL> def get_bias ( self ) : <EOL> return - self . axMin <EOL> class ORIENTATION ( ctypes . Structure ) : <EOL> _fields_ = ( <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) <EOL> ) <EOL> class ROTATION ( ctypes . Structure ) : <EOL> _fields_ = ( <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ) <EOL> class LOGCONTEXT ( ctypes . Structure ) : <EOL> _fields_ = ( <EOL> ( '<STR_LIT>' , WCHAR * LCNAMELEN ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , WTPKT ) , <EOL> ( '<STR_LIT>' , WTPKT ) , <EOL> ( '<STR_LIT>' , WTPKT ) , <EOL> ( '<STR_LIT>' , DWORD ) , <EOL> ( '<STR_LIT>' , DWORD ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , FIX32 ) , <EOL> ( '<STR_LIT>' , FIX32 ) , <EOL> ( '<STR_LIT>' , FIX32 ) , <EOL> ( '<STR_LIT>' , BOOL ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , ctypes . c_int ) , <EOL> ( '<STR_LIT>' , FIX32 ) , <EOL> ( '<STR_LIT>' , FIX32 ) , <EOL> ) <EOL> class PACKET ( ctypes . Structure ) : <EOL> _fields_ = ( <EOL> ( '<STR_LIT>' , WTPKT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , DWORD ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , LONG ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , UINT ) , <EOL> ( '<STR_LIT>' , ORIENTATION ) , <EOL> ) <EOL> PK_CONTEXT = <NUM_LIT> <EOL> PK_STATUS = <NUM_LIT> <EOL> PK_TIME = <NUM_LIT> <EOL> PK_CHANGED = <NUM_LIT> <EOL> PK_SERIAL_NUMBER = <NUM_LIT> <EOL> PK_CURSOR = <NUM_LIT> <EOL> PK_BUTTONS = <NUM_LIT> <EOL> PK_X = <NUM_LIT> <EOL> PK_Y = <NUM_LIT> <EOL> PK_Z = <NUM_LIT> <EOL> PK_NORMAL_PRESSURE = <NUM_LIT> <EOL> PK_TANGENT_PRESSURE = <NUM_LIT> <EOL> PK_ORIENTATION = <NUM_LIT> <EOL> PK_ROTATION = <NUM_LIT> <EOL> TU_NONE = <NUM_LIT:0> <EOL> TU_INCHES = <NUM_LIT:1> <EOL> TU_CENTIMETERS = <NUM_LIT:2> <EOL> TU_CIRCLE = <NUM_LIT:3> <EOL> WT_DEFBASE = <NUM_LIT> <EOL> WT_MAXOFFSET = <NUM_LIT> <EOL> WT_PACKET = <NUM_LIT:0> <EOL> WT_CTXOPEN = <NUM_LIT:1> <EOL> WT_CTXCLOSE = <NUM_LIT:2> <EOL> WT_CTXUPDATE = <NUM_LIT:3> <EOL> WT_CTXOVERLAP = <NUM_LIT:4> <EOL> WT_PROXIMITY = <NUM_LIT:5> <EOL> WT_INFOCHANGE = <NUM_LIT:6> <EOL> WT_CSRCHANGE = <NUM_LIT:7> <EOL> SBN_NONE = <NUM_LIT> <EOL> SBN_LCLICK = <NUM_LIT> <EOL> SBN_LDBLCLICK = <NUM_LIT> <EOL> SBN_LDRAG = <NUM_LIT> <EOL> SBN_RCLICK = <NUM_LIT> <EOL> SBN_RDBLCLICK = <NUM_LIT> <EOL> SBN_RDRAG = <NUM_LIT> <EOL> SBN_MCLICK = <NUM_LIT> <EOL> SBN_MDBLCLICK = <NUM_LIT> <EOL> SBN_MDRAG = <NUM_LIT> <EOL> SBN_PTCLICK = <NUM_LIT> <EOL> SBN_PTDBLCLICK = <NUM_LIT> <EOL> SBN_PTDRAG = <NUM_LIT> <EOL> SBN_PNCLICK = <NUM_LIT> <EOL> SBN_PNDBLCLICK = <NUM_LIT> <EOL> SBN_PNDRAG = <NUM_LIT> <EOL> SBN_P1CLICK = <NUM_LIT> <EOL> SBN_P1DBLCLICK = <NUM_LIT> <EOL> SBN_P1DRAG = <NUM_LIT> <EOL> SBN_P2CLICK = <NUM_LIT> <EOL> SBN_P2DBLCLICK = <NUM_LIT> <EOL> SBN_P2DRAG = <NUM_LIT> <EOL> SBN_P3CLICK = <NUM_LIT> <EOL> SBN_P3DBLCLICK = <NUM_LIT> <EOL> SBN_P3DRAG = <NUM_LIT> <EOL> HWC_INTEGRATED = <NUM_LIT> <EOL> HWC_TOUCH = <NUM_LIT> <EOL> HWC_HARDPROX = <NUM_LIT> <EOL> HWC_PHYSID_CURSORS = <NUM_LIT> <EOL> CRC_MULTIMODE = <NUM_LIT> <EOL> CRC_AGGREGATE = <NUM_LIT> <EOL> CRC_INVERT = <NUM_LIT> <EOL> WTI_INTERFACE = <NUM_LIT:1> <EOL> IFC_WINTABID = <NUM_LIT:1> <EOL> IFC_SPECVERSION = <NUM_LIT:2> <EOL> IFC_IMPLVERSION = <NUM_LIT:3> <EOL> IFC_NDEVICES = <NUM_LIT:4> <EOL> IFC_NCURSORS = <NUM_LIT:5> <EOL> IFC_NCONTEXTS = <NUM_LIT:6> <EOL> IFC_CTXOPTIONS = <NUM_LIT:7> <EOL> IFC_CTXSAVESIZE = <NUM_LIT:8> <EOL> IFC_NEXTENSIONS = <NUM_LIT:9> <EOL> IFC_NMANAGERS = <NUM_LIT:10> <EOL> IFC_MAX = <NUM_LIT:10> <EOL> WTI_STATUS = <NUM_LIT:2> <EOL> STA_CONTEXTS = <NUM_LIT:1> <EOL> STA_SYSCTXS = <NUM_LIT:2> <EOL> STA_PKTRATE = <NUM_LIT:3> <EOL> STA_PKTDATA = <NUM_LIT:4> <EOL> STA_MANAGERS = <NUM_LIT:5> <EOL> STA_SYSTEM = <NUM_LIT:6> <EOL> STA_BUTTONUSE = <NUM_LIT:7> <EOL> STA_SYSBTNUSE = <NUM_LIT:8> <EOL> STA_MAX = <NUM_LIT:8> <EOL> WTI_DEFCONTEXT = <NUM_LIT:3> <EOL> WTI_DEFSYSCTX = <NUM_LIT:4> <EOL> WTI_DDCTXS = <NUM_LIT> <EOL> WTI_DSCTXS = <NUM_LIT> <EOL> CTX_NAME = <NUM_LIT:1> <EOL> CTX_OPTIONS = <NUM_LIT:2> <EOL> CTX_STATUS = <NUM_LIT:3> <EOL> CTX_LOCKS = <NUM_LIT:4> <EOL> CTX_MSGBASE = <NUM_LIT:5> <EOL> CTX_DEVICE = <NUM_LIT:6> <EOL> CTX_PKTRATE = <NUM_LIT:7> <EOL> CTX_PKTDATA = <NUM_LIT:8> <EOL> CTX_PKTMODE = <NUM_LIT:9> <EOL> CTX_MOVEMASK = <NUM_LIT:10> <EOL> CTX_BTNDNMASK = <NUM_LIT:11> <EOL> CTX_BTNUPMASK = <NUM_LIT:12> <EOL> CTX_INORGX = <NUM_LIT> <EOL> CTX_INORGY = <NUM_LIT> <EOL> CTX_INORGZ = <NUM_LIT:15> <EOL> CTX_INEXTX = <NUM_LIT:16> <EOL> CTX_INEXTY = <NUM_LIT> <EOL> CTX_INEXTZ = <NUM_LIT> <EOL> CTX_OUTORGX = <NUM_LIT> <EOL> CTX_OUTORGY = <NUM_LIT:20> <EOL> CTX_OUTORGZ = <NUM_LIT> <EOL> CTX_OUTEXTX = <NUM_LIT> <EOL> CTX_OUTEXTY = <NUM_LIT> <EOL> CTX_OUTEXTZ = <NUM_LIT> <EOL> CTX_SENSX = <NUM_LIT> <EOL> CTX_SENSY = <NUM_LIT> <EOL> CTX_SENSZ = <NUM_LIT> <EOL> CTX_SYSMODE = <NUM_LIT> <EOL> CTX_SYSORGX = <NUM_LIT> <EOL> CTX_SYSORGY = <NUM_LIT:30> <EOL> CTX_SYSEXTX = <NUM_LIT> <EOL> CTX_SYSEXTY = <NUM_LIT:32> <EOL> CTX_SYSSENSX = <NUM_LIT> <EOL> CTX_SYSSENSY = <NUM_LIT> <EOL> CTX_MAX = <NUM_LIT> <EOL> WTI_DEVICES = <NUM_LIT:100> <EOL> DVC_NAME = <NUM_LIT:1> <EOL> DVC_HARDWARE = <NUM_LIT:2> <EOL> DVC_NCSRTYPES = <NUM_LIT:3> <EOL> DVC_FIRSTCSR = <NUM_LIT:4> <EOL> DVC_PKTRATE = <NUM_LIT:5> <EOL> DVC_PKTDATA = <NUM_LIT:6> <EOL> DVC_PKTMODE = <NUM_LIT:7> <EOL> DVC_CSRDATA = <NUM_LIT:8> <EOL> DVC_XMARGIN = <NUM_LIT:9> <EOL> DVC_YMARGIN = <NUM_LIT:10> <EOL> DVC_ZMARGIN = <NUM_LIT:11> <EOL> DVC_X = <NUM_LIT:12> <EOL> DVC_Y = <NUM_LIT> <EOL> DVC_Z = <NUM_LIT> <EOL> DVC_NPRESSURE = <NUM_LIT:15> <EOL> DVC_TPRESSURE = <NUM_LIT:16> <EOL> DVC_ORIENTATION = <NUM_LIT> <EOL> DVC_ROTATION = <NUM_LIT> <EOL> DVC_PNPID = <NUM_LIT> <EOL> DVC_MAX = <NUM_LIT> <EOL> WTI_CURSORS = <NUM_LIT:200> <EOL> CSR_NAME = <NUM_LIT:1> <EOL> CSR_ACTIVE = <NUM_LIT:2> <EOL> CSR_PKTDATA = <NUM_LIT:3> <EOL> CSR_BUTTONS = <NUM_LIT:4> <EOL> CSR_BUTTONBITS = <NUM_LIT:5> <EOL> CSR_BTNNAMES = <NUM_LIT:6> <EOL> CSR_BUTTONMAP = <NUM_LIT:7> <EOL> CSR_SYSBTNMAP = <NUM_LIT:8> <EOL> CSR_NPBUTTON = <NUM_LIT:9> <EOL> CSR_NPBTNMARKS = <NUM_LIT:10> <EOL> CSR_NPRESPONSE = <NUM_LIT:11> <EOL> CSR_TPBUTTON = <NUM_LIT:12> <EOL> CSR_TPBTNMARKS = <NUM_LIT> <EOL> CSR_TPRESPONSE = <NUM_LIT> <EOL> CSR_PHYSID = <NUM_LIT:15> <EOL> CSR_MODE = <NUM_LIT:16> <EOL> CSR_MINPKTDATA = <NUM_LIT> <EOL> CSR_MINBUTTONS = <NUM_LIT> <EOL> CSR_CAPABILITIES = <NUM_LIT> <EOL> CSR_TYPE = <NUM_LIT:20> <EOL> CSR_MAX = <NUM_LIT:20> <EOL> WTI_EXTENSIONS = <NUM_LIT> <EOL> EXT_NAME = <NUM_LIT:1> <EOL> EXT_TAG = <NUM_LIT:2> <EOL> EXT_MASK = <NUM_LIT:3> <EOL> EXT_SIZE = <NUM_LIT:4> <EOL> EXT_AXES = <NUM_LIT:5> <EOL> EXT_DEFAULT = <NUM_LIT:6> <EOL> EXT_DEFCONTEXT = <NUM_LIT:7> <EOL> EXT_DEFSYSCTX = <NUM_LIT:8> <EOL> EXT_CURSORS = <NUM_LIT:9> <EOL> EXT_MAX = <NUM_LIT> <EOL> CXO_SYSTEM = <NUM_LIT> <EOL> CXO_PEN = <NUM_LIT> <EOL> CXO_MESSAGES = <NUM_LIT> <EOL> CXO_MARGIN = <NUM_LIT> <EOL> CXO_MGNINSIDE = <NUM_LIT> <EOL> CXO_CSRMESSAGES = <NUM_LIT> <EOL> CXS_DISABLED = <NUM_LIT> <EOL> CXS_OBSCURED = <NUM_LIT> <EOL> CXS_ONTOP = <NUM_LIT> <EOL> CXL_INSIZE = <NUM_LIT> <EOL> CXL_INASPECT = <NUM_LIT> <EOL> CXL_SENSITIVITY = <NUM_LIT> <EOL> CXL_MARGIN = <NUM_LIT> <EOL> CXL_SYSOUT = <NUM_LIT> <EOL> TPS_PROXIMITY = <NUM_LIT> <EOL> TPS_QUEUE_ERR = <NUM_LIT> <EOL> TPS_MARGIN = <NUM_LIT> <EOL> TPS_GRAB = <NUM_LIT> <EOL> TPS_INVERT = <NUM_LIT> <EOL> TBN_NONE = <NUM_LIT:0> <EOL> TBN_UP = <NUM_LIT:1> <EOL> TBN_DOWN = <NUM_LIT:2> <EOL> PKEXT_ABSOLUTE = <NUM_LIT:1> <EOL> PKEXT_RELATIVE = <NUM_LIT:2> <EOL> WTX_OBT = <NUM_LIT:0> <EOL> WTX_FKEYS = <NUM_LIT:1> <EOL> WTX_TILT = <NUM_LIT:2> <EOL> WTX_CSRMASK = <NUM_LIT:3> <EOL> WTX_XBTNMASK = <NUM_LIT:4> <EOL> WTX_EXPKEYS = <NUM_LIT:5> </s>
