55#ifndef _SO_KEYBOARD_EVENT_
56#define _SO_KEYBOARD_EVENT_
64#define SO_KEY_PRESS_EVENT(EVENT,KEY) \
65 (SoKeyboardEvent::isKeyPressEvent(EVENT,SoKeyboardEvent::KEY))
67#define SO_KEY_RELEASE_EVENT(EVENT,KEY) \
68 (SoKeyboardEvent::isKeyReleaseEvent(EVENT,SoKeyboardEvent::KEY))
100 RIGHT_SHIFT = 0xffe2,
101 LEFT_CONTROL = 0xffe3,
102 RIGHT_CONTROL = 0xffe4,
156 RIGHT_ARROW = 0xff53,
185 PAD_SUBTRACT = 0xffad,
186 PAD_MULTIPLY = 0xffaa,
218 SCROLL_LOCK = 0xff14,
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
#define SO_EVENT_HEADER()
*** note: many of the macros use the "do { ... } while(0)" *** hack to define multiline blocks as a s...
Base class for all events.
Keyboard key press and release events.
void setKey(SoKeyboardEvent::Key whichKey)
set/get which key generated the event (e.g. SoKeyboardEvent::A)
virtual ~SoKeyboardEvent()
bool isAutoRepeat() const
get auto-repeat flag (see notes for setIsAutoRepeat); MEVIS Inventor only
SoKeyboardEvent::Key getKey() const
static bool isKeyPressEvent(const SoEvent *e, SoKeyboardEvent::Key whichKey)
convenience routines to see if an SoEvent is a press or release of the passed keyboard key
static bool isKeyReleaseEvent(const SoEvent *e, SoKeyboardEvent::Key whichKey)
char getPrintableCharacter() const
Convenience routine that returns the character representing the key, if it's printable.
void setIsAutoRepeat(bool b)
set auto-repeat flag; isAutoRepeat should be set for every auto-generated release/press pair,...
SoKeyboardEvent()
Constructor.