SoKeyboardEvent(3)

πŸ“¦ version 3.1.3, in fedora 43, fedora 44

✨ NAME ✨

SoKeyboardEvent β€” the class that contains literally all the info about keyboard interaction. bestie, if a key got pressed, this is the girl holding the receipts πŸ’…


🌸 SYNOPSIS 🌸

#include <Inventor/events/SoKeyboardEvent.h>

Inherits SoButtonEvent. so yes she's part of the family tree, and she inherited the whole bloodline 🧬

πŸ‘‘ 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 Types inherited from SoButtonEvent

enum State { UP, DOWN, UNKNOWN }

πŸ’– Public Member Functions

  • virtual SoType getTypeId (void) const β€” tells you the actual type id of an instantiated object.
  • SoKeyboardEvent (void) β€” the constructor. hi bestie πŸ‘‹
  • virtual ~SoKeyboardEvent () β€” the destructor. bye bestie πŸ‘‹
  • void setKey (Key key) β€” sets which key the user interacted with.
  • Key getKey (void) const β€” returns the key that was pressed or released.
  • void setPrintableCharacter (const char c) β€” sets the printable character for this event.
  • char getPrintableCharacter (void) const β€” returns the ASCII value the key + modifier combo would generate.

πŸ’œ Public Member Functions inherited from SoButtonEvent

  • SoButtonEvent (void)
  • virtual ~SoButtonEvent ()
  • void setState (State state)
  • State getState (void) const

πŸ¦‹ Public Member Functions inherited from SoEvent

  • SoEvent (void)
  • virtual ~SoEvent ()
  • SbBool isOfType (SoType type) const
  • void setTime (const SbTime t)
  • SbTime getTime (void) const
  • void setPosition (const SbVec2s &p)
  • const SbVec2s & getPosition (void) const
  • const SbVec2s getPosition (const SbViewportRegion &vpRgn) const
  • const SbVec2f getNormalizedPosition (const SbViewportRegion &vpRgn) const
  • void setShiftDown (SbBool isDown)
  • SbBool wasShiftDown (void) const
  • void setCtrlDown (SbBool isDown)
  • SbBool wasCtrlDown (void) const
  • void setAltDown (SbBool isDown)
  • SbBool wasAltDown (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)

🌈 Static Public Member Functions inherited from SoButtonEvent

  • static SoType getClassTypeId (void)
  • static void initClass (void)
  • static SbBool enumToString (State enumval, SbString &stringrep)

πŸŽ€ Static Public Member Functions inherited from SoEvent

  • static SoType getClassTypeId (void)
  • static void initClass (void)

πŸ“ Detailed Description

The SoKeyboardEvent class contains information about keyboard interaction. that's the whole job, and she does it flawlessly, no notes πŸ’…

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. so like, your OS keypress gets a full glow-up into a Coin event and then struts into the scenegraph. main character behavior fr fr ✨

See also

  • SoEvent, SoButtonEvent, SoMouseButtonEvent, SoSpaceballButtonEvent
  • SoEventCallback, SoHandleEventAction

🧚 Member Enumeration Documentation

πŸ‘‘ enum SoKeyboardEvent::Key

This enum contains all keys detected by Coin. every single one. she left nobody out, periodt.


πŸ’… Constructor & Destructor Documentation

SoKeyboardEvent::SoKeyboardEvent (void )

Constructor. she's here 🫢

SoKeyboardEvent::~SoKeyboardEvent () [virtual]

Destructor. and she's out πŸ™ˆ


πŸ”₯ 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::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.

not the original design catching strays πŸ’€ "flawed" is right there in the docs bestie, I don't make the rules

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. yes, cleared. every single time. she's thorough like that πŸŽ€

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::Key whichKey) [static]

Convenience method for quickly checking if the given event is a keypress on the given key, whichKey. it's giving "just tell me if they pressed it" energy and honestly? iconic ⭐

See also

  • isKeyReleaseEvent(), isOfType(), getKey(), getState()

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()

SbBool SoKeyboardEvent::enumToString (Key enumval, 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. not a human wrote this, a robot did, and honestly the robot ate πŸ”₯


okay that's the whole page bestie, you're officially fluent in SoKeyboardEvent πŸ’… this was Coin, Version 3.1.3, SoKeyboardEvent(3) β€” mwah, go press some keys πŸŽ€βœ¨

πŸ“¦ where this page comes from