1#ifndef VRPN_DEV_INPUT_H
2#define VRPN_DEV_INPUT_H
39#ifdef VRPN_USE_DEV_INPUT
45 enum DEVICE_TYPE { DEVICE_KEYBOARD, DEVICE_MOUSE_RELATIVE, DEVICE_MOUSE_ABSOLUTE } d_type;
48 vrpn_DevInput(
const char* name,
vrpn_Connection* cxn,
const char *device,
const char *type,
int mouse_length );
49 virtual ~vrpn_DevInput();
56 virtual int get_report();
63 virtual void report( vrpn_uint32 class_of_service
67 struct timeval timestamp;
71 vrpn_DevInput(
const vrpn_DevInput&);
72 const vrpn_DevInput& operator=(
const vrpn_DevInput&);
76 vrpn_float64 d_absolute_min;
77 vrpn_float64 d_absolute_range;
virtual void report(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Send a report whether something has changed or not (for servers) Optionally, tell what time to stamp ...
virtual void report_changes(vrpn_uint32 class_of_service=vrpn_CONNECTION_LOW_LATENCY, const struct timeval time=vrpn_ANALOG_NOW)
Send a report only if something has changed (for servers) Optionally, tell what time to stamp the val...
virtual void mainloop()=0
Called once through each main loop iteration to handle updates. Remote object mainloop() should call ...
class VRPN_API vrpn_Connection
const vrpn_uint32 vrpn_CONNECTION_LOW_LATENCY