Provided by: libcoin80-doc_3.1.4~abc9f50-4ubuntu2_all bug

NAME

       SoKeyboardEvent -

       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.

SYNOPSIS

       #include <Inventor/events/SoKeyboardEvent.h>

       Inherits SoButtonEvent.

   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 (Key key)
       Key getKey (void) const
       void setPrintableCharacter (const char c)
       char getPrintableCharacter (void) const

   Static Public Member Functions
       static SoType getClassTypeId (void)
       static void initClass (void)
       static SbBool isKeyPressEvent (const SoEvent *e, Key whichKey)
       static SbBool isKeyReleaseEvent (const SoEvent *e, Key whichKey)
       static SbBool enumToString (Key enumval, SbString &stringrep)

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

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::getTypeId (void) const [virtual]
       Returns the actual type id of an instantiated object.

       Reimplemented from SoButtonEvent.

   void SoKeyboardEvent::initClass (void) [static]
       Initialize the type information data.

   void SoKeyboardEvent::setKey (SoKeyboardEvent::Keykeyarg)
       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 charc)
       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()

   SbBool SoKeyboardEvent::isKeyPressEvent (const SoEvent *e, SoKeyboardEvent::KeywhichKey)
       [static]
       Convenience method for quickly checking if the given event is a keypress on the given key,
       whichKey.

       See Also:
           isKeyReleaseEvent(), isOfType(), getKey(), getState()

   SbBool SoKeyboardEvent::isKeyReleaseEvent (const SoEvent *e, SoKeyboardEvent::KeywhichKey)
       [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()

   SbBool SoKeyboardEvent::enumToString (Keyenumval, SbString &stringrep) [static]
       Converts from an enum value of type SoKeyboardEvent::State to a string containing the enum
       symbol.

       This function is an extension for Coin, and it is not available in the original SGI Open
       Inventor v2.1 API.

       Since:
           Coin 3.0

Author

       Generated automatically by Doxygen for Coin from the source code.