/** @author: Dmitrij Sojma @institution: CTU in Prague @date: 17.5.2020 */ #ifndef VIVE_EVENTS_H #define VIVE_EVENTS_H #include #include namespace ViveEvents { enum EventType { MENU_PRESSED, MENU_RELEASED, TRACKPAD_TOUCH, TRACKPAD_TOUCH_START, TRACKPAD_TOUCH_END, TRACKPAD_PRESSED, TRACKPAD_RELEASED, TRACKPAD_UP, TRACKPAD_DOWN, TRACKPAD_LEFT, TRACKPAD_RIGHT, SYSTEM_PRESSED, SYSTEM_RELEASED, TRIGGER, TRIGGER_PRESSED, TRIGGER_RELEASED, GRIP_PRESSED, GRIP_RELEASED, HAPTIC, TRACKER_PRESSED, TRACKER_RELEASED, ERROR, NUM_EVENTS }; vive_events::EventStamped createEventMsg(EventType eventType, uint8_t length=0, double data[]=NULL){ static uint32_t eventSeq = 0; vive_events::EventStamped eventMsg = {}; eventMsg.header.seq = eventSeq++; eventMsg.event_type = (uint8_t)eventType; if(length){ std::vector msgData; for (uint8_t i=0; i