sokeyboardevent(3)

NAME

SoKeyboardEvent

SYNOPSIS

#include <Inventor/events/SoKeyboardEvent.h>
Inherits SoButtonEvent.

Detailed Description

The SoKeyboardEvent class contains information about keyboard interaction.

When the user presses any keys on the keyboard, these will be
translated from a system specific event into a Coin event and sent to
the scenegraph by using instances of this class.

See also:
SoEvent, SoButtonEvent, SoMouseButtonEvent, SoSpaceballButtonEvent
SoEventCallback, SoHandleEventAction
Public Types
enum Key { ANY = 0, UNDEFINED = 1, LEFT_SHIFT = 0xffe1, RIGHT_SHIFT,
LEFT_CONTROL, RIGHT_CONTROL, LEFT_ALT = 0xffe9, RIGHT_ALT, NUMBER_0 = 0x0030, NUMBER_1, NUMBER_2, NUMBER_3, NUMBER_4, NUMBER_5, NUMBER_6, NUMBER_7, NUMBER_8, NUMBER_9, A = 0x0061, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, HOME = 0xff50, LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW, PAGE_UP, PAGE_DOWN, END, PRIOR = 0xff55, NEXT, PAD_ENTER = 0xff8d, PAD_F1 = 0xff91, PAD_F2, PAD_F3, PAD_F4, PAD_0 = 0xff9e, PAD_1 = 0xff9c, PAD_2 = 0xff99, PAD_3 = 0xff9b, PAD_4 = 0xff96, PAD_5 = 0xff9d, PAD_6 = 0xff98, PAD_7 = 0xff95, PAD_8 = 0xff97, PAD_9 = 0xff9a, PAD_ADD = 0xffab, PAD_SUBTRACT = 0xffad, PAD_MULTIPLY = 0xffaa, PAD_DIVIDE = 0xffaf, PAD_SPACE = 0xff8d, PAD_TAB = 0xff89, PAD_INSERT = 0xff9e, PAD_DELETE = 0xff9f, PAD_PERIOD = 0xff9f, F1 = 0xffbe, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, BACKSPACE = 0xff08, TAB = 0xff09, RETURN = 0xff0d, ENTER = 0xff0d, PAUSE = 0xff13, SCROLL_LOCK = 0xff14, ESCAPE = 0xff1b, DELETE = 0xffff, KEY_DELETE = DELETE, PRINT = 0xff61, INSERT = 0xff63, NUM_LOCK = 0xff7f, CAPS_LOCK = 0xffe5, SHIFT_LOCK = 0xffe6, SPACE = 0x0020, APOSTROPHE = 0x0027, COMMA = 0x002c, MINUS = 0x002d, PERIOD = 0x002e, SLASH = 0x002f, SEMICOLON = 0x003b, EQUAL = 0x003d, BRACKETLEFT = 0x005b, BACKSLASH = 0x005c, BRACKETRIGHT = 0x005d, GRAVE = 0x0060 }
Public Member Functions
virtual SoType getTypeId (void) const
SoKeyboardEvent (void)
virtual ~SoKeyboardEvent ()
void setKey (SoKeyboardEvent::Key key) SoKeyboardEvent::Key getKey (void) const void setPrintableCharacter (const char c) char getPrintableCharacter (void) const
Static Public Member Functions
static SoType getClassTypeId (void) static SbBool isKeyPressEvent (const SoEvent *e, SoKeyboardEvent::Key
whichKey)
static SbBool isKeyReleaseEvent (const SoEvent *e, SoKeyboardEvent::Key
whichKey)
static void initClass (void)

Member Enumeration Documentation

enum SoKeyboardEvent::Key
This enum contains all keys detected by Coin.

Constructor & Destructor Documentation

SoKeyboardEvent::SoKeyboardEvent (void)
Constructor.
SoKeyboardEvent::~SoKeyboardEvent () [virtual]
Destructor.

Member Function Documentation

SoType SoKeyboardEvent::getClassTypeId (void) [static]
This static method returns the SoType object associated with objects of this class.
Reimplemented from SoButtonEvent.
Referenced by isKeyPressEvent(), and isKeyReleaseEvent().
SoType SoKeyboardEvent::getTypeId (void) const [virtual]
Returns the actual type id of an instantiated object.
Reimplemented from SoButtonEvent.
void SoKeyboardEvent::setKey (SoKeyboardEvent::Key keyarg)
Set the value of the key which the user interacted with.
This method is used from the window specific device classes when
translating events to the generic Coin library.
See also:
getKey()
SoKeyboardEvent::Key SoKeyboardEvent::getKey (void) const
Returns the value of the key which was pressed or released.
Coin adds a new key value called UNDEFINED. This is needed to support
GUI toolkits where it's not possible to find exactly which key is
pressed, and/or to support non-US keyboards. The Open Inventor design
for this class is flawed, since it assumes everybody uses a US
keyboard. We recommend using getPrintableCharacter() to find which key is pressed/released, at least for printable non-alphanumerical
characters.
See also:
getPrintableCharacter(), getState()
wasShiftDown(), wasCtrlDown(), wasAltDown(), getPosition(), getTime()
void SoKeyboardEvent::setPrintableCharacter (const char c)
Sets the printable character for this keyboard event. If this method is not called when creating an event, getPrintableCharacter() will convert the SoKeyboardEvent::Key value into a printable character. This conversion does not work on non-US keyboards, so we recommend that you set the printable character using this method instead.
This printable character is cleared each time setKey() is called.
This method is an extension versus the Open Inventor API.
See also:
getPrintableCharacter()
char SoKeyboardEvent::getPrintableCharacter (void) const
Return ASCII value which would be generated by the key and modifier
combination.
NB! If setPrintableCharacter() hasn't been called, this function does not always work as expected, particularly not on non-US keyboards. The Coin GUI toolkits (SoGtk/SoQt/SoWin/SoXt/Sc21) will set the printable
character correctly.
See also:
getKey(), wasShiftDown(), wasCtrlDown(), wasAltDown(), setPrintableCharacter()
References SoEvent::wasShiftDown().
SbBool SoKeyboardEvent::isKeyPressEvent (const SoEvent * e,
SoKeyboardEvent::Key whichKey) [static] Convenience method for quickly checking if the given event is a
keypress on the given key, whichKey.
See also:
isKeyReleaseEvent(), isOfType(), getKey(), getState()
References SoButtonEvent::DOWN, getClassTypeId(),
SoButtonEvent::getState(), and SoEvent::isOfType().
SbBool SoKeyboardEvent::isKeyReleaseEvent (const SoEvent * e,
SoKeyboardEvent::Key whichKey) [static] Convenience method for quickly checking if the given event is a key
release of the given key, whichKey.
See also:
isKeyPressEvent(), isOfType(), getKey(), getState()
References getClassTypeId(), SoButtonEvent::getState(),
SoEvent::isOfType(), and SoButtonEvent::UP.
void SoKeyboardEvent::initClass (void) [static]
Initialize the type information data.
Reimplemented from SoButtonEvent.

Author

Generated automatically by Doxygen for Coin from the source code.
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout