.TH "SoKeyboardEvent" 3 "Thu May 29 2014" "Version 4.0.0a" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME SoKeyboardEvent \- .PP The \fBSoKeyboardEvent\fP class contains information about keyboard interaction\&. .PP 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\&. .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits \fBSoButtonEvent\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "enum \fBKey\fP { \fBANY\fP = 0, \fBUNDEFINED\fP = 1, \fBLEFT_SHIFT\fP = 0xffe1, \fBRIGHT_SHIFT\fP, \fBLEFT_CONTROL\fP, \fBRIGHT_CONTROL\fP, \fBLEFT_ALT\fP = 0xffe9, \fBRIGHT_ALT\fP, \fBNUMBER_0\fP = 0x0030, \fBNUMBER_1\fP, \fBNUMBER_2\fP, \fBNUMBER_3\fP, \fBNUMBER_4\fP, \fBNUMBER_5\fP, \fBNUMBER_6\fP, \fBNUMBER_7\fP, \fBNUMBER_8\fP, \fBNUMBER_9\fP, \fBA\fP = 0x0061, \fBB\fP, \fBC\fP, \fBD\fP, \fBE\fP, \fBF\fP, \fBG\fP, \fBH\fP, \fBI\fP, \fBJ\fP, \fBK\fP, \fBL\fP, \fBM\fP, \fBN\fP, \fBO\fP, \fBP\fP, \fBQ\fP, \fBR\fP, \fBS\fP, \fBT\fP, \fBU\fP, \fBV\fP, \fBW\fP, \fBX\fP, \fBY\fP, \fBZ\fP, \fBHOME\fP = 0xff50, \fBLEFT_ARROW\fP, \fBUP_ARROW\fP, \fBRIGHT_ARROW\fP, \fBDOWN_ARROW\fP, \fBPAGE_UP\fP, \fBPAGE_DOWN\fP, \fBEND\fP, \fBPRIOR\fP = 0xff55, \fBNEXT\fP, \fBPAD_ENTER\fP = 0xff8d, \fBPAD_F1\fP = 0xff91, \fBPAD_F2\fP, \fBPAD_F3\fP, \fBPAD_F4\fP, \fBPAD_0\fP = 0xff9e, \fBPAD_1\fP = 0xff9c, \fBPAD_2\fP = 0xff99, \fBPAD_3\fP = 0xff9b, \fBPAD_4\fP = 0xff96, \fBPAD_5\fP = 0xff9d, \fBPAD_6\fP = 0xff98, \fBPAD_7\fP = 0xff95, \fBPAD_8\fP = 0xff97, \fBPAD_9\fP = 0xff9a, \fBPAD_ADD\fP = 0xffab, \fBPAD_SUBTRACT\fP = 0xffad, \fBPAD_MULTIPLY\fP = 0xffaa, \fBPAD_DIVIDE\fP = 0xffaf, \fBPAD_SPACE\fP = 0xff8d, \fBPAD_TAB\fP = 0xff89, \fBPAD_INSERT\fP = 0xff9e, \fBPAD_DELETE\fP = 0xff9f, \fBPAD_PERIOD\fP = 0xff9f, \fBF1\fP = 0xffbe, \fBF2\fP, \fBF3\fP, \fBF4\fP, \fBF5\fP, \fBF6\fP, \fBF7\fP, \fBF8\fP, \fBF9\fP, \fBF10\fP, \fBF11\fP, \fBF12\fP, \fBBACKSPACE\fP = 0xff08, \fBTAB\fP = 0xff09, \fBRETURN\fP = 0xff0d, \fBENTER\fP = 0xff0d, \fBPAUSE\fP = 0xff13, \fBSCROLL_LOCK\fP = 0xff14, \fBESCAPE\fP = 0xff1b, \fBDELETE\fP = 0xffff, \fBKEY_DELETE\fP = DELETE, \fBPRINT\fP = 0xff61, \fBINSERT\fP = 0xff63, \fBNUM_LOCK\fP = 0xff7f, \fBCAPS_LOCK\fP = 0xffe5, \fBSHIFT_LOCK\fP = 0xffe6, \fBSPACE\fP = 0x0020, \fBAPOSTROPHE\fP = 0x0027, \fBCOMMA\fP = 0x002c, \fBMINUS\fP = 0x002d, \fBPERIOD\fP = 0x002e, \fBSLASH\fP = 0x002f, \fBSEMICOLON\fP = 0x003b, \fBEQUAL\fP = 0x003d, \fBBRACKETLEFT\fP = 0x005b, \fBBACKSLASH\fP = 0x005c, \fBBRACKETRIGHT\fP = 0x005d, \fBGRAVE\fP = 0x0060 }" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const " .br .ti -1c .RI "\fBSoKeyboardEvent\fP (void)" .br .ti -1c .RI "virtual \fB~SoKeyboardEvent\fP ()" .br .ti -1c .RI "void \fBsetKey\fP (\fBKey\fP key)" .br .ti -1c .RI "\fBKey\fP \fBgetKey\fP (void) const " .br .ti -1c .RI "void \fBsetPrintableCharacter\fP (const char c)" .br .ti -1c .RI "char \fBgetPrintableCharacter\fP (void) const " .br .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static SbBool \fBisKeyPressEvent\fP (const \fBSoEvent\fP *e, \fBKey\fP whichKey)" .br .ti -1c .RI "static SbBool \fBisKeyReleaseEvent\fP (const \fBSoEvent\fP *e, \fBKey\fP whichKey)" .br .ti -1c .RI "static SbBool \fBenumToString\fP (\fBKey\fP enumval, \fBSbString\fP &stringrep)" .br .in -1c .SH "Detailed Description" .PP The \fBSoKeyboardEvent\fP class contains information about keyboard interaction\&. .PP 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\&. .PP \fBSee also:\fP .RS 4 \fBSoEvent\fP, \fBSoButtonEvent\fP, \fBSoMouseButtonEvent\fP, \fBSoSpaceballButtonEvent\fP .PP \fBSoEventCallback\fP, \fBSoHandleEventAction\fP .RE .PP .SH "Member Enumeration Documentation" .PP .SS "enum \fBSoKeyboardEvent::Key\fP" This enum contains all keys detected by Coin\&. .SH "Constructor & Destructor Documentation" .PP .SS "SoKeyboardEvent::SoKeyboardEvent (void)" Constructor\&. .SS "SoKeyboardEvent::~SoKeyboardEvent ()\fC [virtual]\fP" Destructor\&. .SH "Member Function Documentation" .PP .SS "\fBSoType\fP SoKeyboardEvent::getTypeId (void) const\fC [virtual]\fP" Returns the actual type id of an instantiated object\&. .PP Reimplemented from \fBSoButtonEvent\fP\&. .SS "void SoKeyboardEvent::initClass (void)\fC [static]\fP" Initialize the type information data\&. .SS "void SoKeyboardEvent::setKey (\fBSoKeyboardEvent::Key\fPkeyarg)" Set the value of the key which the user interacted with\&. .PP This method is used from the window specific device classes when translating events to the generic Coin library\&. .PP \fBSee also:\fP .RS 4 \fBgetKey()\fP .RE .PP .SS "\fBSoKeyboardEvent::Key\fP SoKeyboardEvent::getKey (void) const" Returns the value of the key which was pressed or released\&. .PP 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 \fBgetPrintableCharacter()\fP to find which key is pressed/released, at least for printable non-alphanumerical characters\&. .PP \fBSee also:\fP .RS 4 \fBgetPrintableCharacter()\fP, \fBgetState()\fP .PP \fBwasShiftDown()\fP, \fBwasCtrlDown()\fP, \fBwasAltDown()\fP, \fBgetPosition()\fP, \fBgetTime()\fP .RE .PP .SS "void SoKeyboardEvent::setPrintableCharacter (const charc)" Sets the printable character for this keyboard event\&. If this method is not called when creating an event, \fBgetPrintableCharacter()\fP will convert the \fBSoKeyboardEvent::Key\fP 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\&. .PP This printable character is cleared each time \fBsetKey()\fP is called\&. .PP This method is an extension versus the Open Inventor API\&. .PP \fBSee also:\fP .RS 4 \fBgetPrintableCharacter()\fP .RE .PP .SS "char SoKeyboardEvent::getPrintableCharacter (void) const" Return ASCII value which would be generated by the key and modifier combination\&. .PP NB! If \fBsetPrintableCharacter()\fP 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\&. .PP \fBSee also:\fP .RS 4 \fBgetKey()\fP, \fBwasShiftDown()\fP, \fBwasCtrlDown()\fP, \fBwasAltDown()\fP, \fBsetPrintableCharacter()\fP .RE .PP .SS "SbBool SoKeyboardEvent::isKeyPressEvent (const \fBSoEvent\fP *e, \fBSoKeyboardEvent::Key\fPwhichKey)\fC [static]\fP" Convenience method for quickly checking if the given event is a keypress on the given key, \fCwhichKey\fP\&. .PP \fBSee also:\fP .RS 4 \fBisKeyReleaseEvent()\fP, \fBisOfType()\fP, \fBgetKey()\fP, \fBgetState()\fP .RE .PP .SS "SbBool SoKeyboardEvent::isKeyReleaseEvent (const \fBSoEvent\fP *e, \fBSoKeyboardEvent::Key\fPwhichKey)\fC [static]\fP" Convenience method for quickly checking if the given event is a key release of the given key, \fCwhichKey\fP\&. .PP \fBSee also:\fP .RS 4 \fBisKeyPressEvent()\fP, \fBisOfType()\fP, \fBgetKey()\fP, \fBgetState()\fP .RE .PP .SS "SbBool SoKeyboardEvent::enumToString (\fBKey\fPenumval, \fBSbString\fP &stringrep)\fC [static]\fP" Converts from an enum value of type \fBSoKeyboardEvent::State\fP to a string containing the enum symbol\&. .PP This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2\&.1 API\&. .PP \fBSince:\fP .RS 4 Coin 3\&.0 .RE .PP .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.