SoKeyboardEvent Class Reference
[Events]

Keyboard key press and release events. More...

#include <Inventor/events/SoKeyboardEvent.h>

Inheritance diagram for SoKeyboardEvent:
SoButtonEvent SoEvent SoTypedObject

List of all members.

Public Types

enum  Key {
  ANY = 0,
  LEFT_SHIFT = 0xFFE1,
  RIGHT_SHIFT = 0xFFE2,
  LEFT_CONTROL = 0xFFE3,
  RIGHT_CONTROL = 0xFFE4,
  LEFT_ALT = 0xFFE9,
  RIGHT_ALT = 0xFFEA,
  LEFT_META = 0xFFEB,
  RIGHT_META = 0xFFEC,
  NUMBER_0 = 0x030,
  NUMBER_1 = 0x031,
  NUMBER_2 = 0x032,
  NUMBER_3 = 0x033,
  NUMBER_4 = 0x034,
  NUMBER_5 = 0x035,
  NUMBER_6 = 0x036,
  NUMBER_7 = 0x037,
  NUMBER_8 = 0x038,
  NUMBER_9 = 0x039,
  A = 0x061,
  B = 0x062,
  C = 0x063,
  D = 0x064,
  E = 0x065,
  F = 0x066,
  G = 0x067,
  H = 0x068,
  I = 0x069,
  J = 0x06A,
  K = 0x06B,
  L = 0x06C,
  M = 0x06D,
  N = 0x06E,
  O = 0x06F,
  P = 0x070,
  Q = 0x071,
  R = 0x072,
  S = 0x073,
  T = 0x074,
  U = 0x075,
  V = 0x076,
  W = 0x077,
  X = 0x078,
  Y = 0x079,
  Z = 0x07A,
  HOME = 0xFF50,
  LEFT_ARROW = 0xFF51,
  UP_ARROW = 0xFF52,
  RIGHT_ARROW = 0xFF53,
  DOWN_ARROW = 0xFF54,
  PAGE_UP = 0xFF55,
  PAGE_DOWN = 0xFF56,
  PRIOR = 0xFF55,
  NEXT = 0xFF56,
  END = 0xFF57,
  PAD_ENTER = 0xFF8D,
  PAD_F1 = 0xFF91,
  PAD_F2 = 0xFF92,
  PAD_F3 = 0xFF93,
  PAD_F4 = 0xFF94,
  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 = 0xFFBF,
  F3 = 0xFFC0,
  F4 = 0xFFC1,
  F5 = 0xFFC2,
  F6 = 0xFFC3,
  F7 = 0xFFC4,
  F8 = 0xFFC5,
  F9 = 0xFFC6,
  F10 = 0xFFC7,
  F11 = 0xFFC8,
  F12 = 0xFFC9,
  BACKSPACE = 0xFF08,
  TAB = 0xFF09,
  RETURN = 0xFF0D,
  ENTER = 0xFF0D,
  PAUSE = 0xFF13,
  SCROLL_LOCK = 0xFF14,
  ESCAPE = 0xFF1B,
  KEY_DELETE = 0xFFFF,
  DELETE = 0xFFFF,
  PRINT = 0xFF61,
  INSERT = 0xFF63,
  NUM_LOCK = 0xFF7F,
  CAPS_LOCK = 0xFFE5,
  SHIFT_LOCK = 0xFFE6,
  SPACE = 0x020,
  APOSTROPHE = 0x027,
  COMMA = 0x02C,
  MINUS = 0x02D,
  PERIOD = 0x02E,
  SLASH = 0x02F,
  SEMICOLON = 0x03B,
  EQUAL = 0x03D,
  BRACKETLEFT = 0x05B,
  BACKSLASH = 0x05C,
  BRACKETRIGHT = 0x05D,
  GRAVE = 0x060,
  TWO_SUPERIOR = 0xB2,
  TILDE = 0x7E
}

Public Member Functions

virtual SoType getTypeId () const
 SoKeyboardEvent ()
void setKey (SoKeyboardEvent::Key whichKey)
SoKeyboardEvent::Key getKey () const
char getPrintableCharacter () const
void setUnicode (wchar_t unicode)
wchar_t getUnicode () const

Static Public Member Functions

static SoType getClassTypeId ()
static SbBool isKeyPressEvent (const SoEvent *e, SoKeyboardEvent::Key whichKey)
static SbBool isKeyReleaseEvent (const SoEvent *e, SoKeyboardEvent::Key whichKey)

Detailed Description

Keyboard key press and release events.

SoKeyboardEvent represents keyboard key press and release events in the Open Inventor event model.

Some convenience macros for determining if an event matches

Add an SoEventCallback node to the scene graph to handle Open Inventor events.

SEE ALSO

SoEvent, SoButtonEvent, SoLocation2Event, SoMotion3Event, SoMouseButtonEvent, SoSpaceballButtonEvent, SoHandleEventAction, SoEventCallback, SoSelection, SoInteraction, SoWinDevice


Member Enumeration Documentation

The keyboard keys.

Enumerator:
ANY 

Special constant for any key.

LEFT_SHIFT 

Left shift.

RIGHT_SHIFT 

Right shift.

LEFT_CONTROL 

Left control.

RIGHT_CONTROL 

Right control.

LEFT_ALT 

Left alt.

RIGHT_ALT 

Right alt.

LEFT_META 

Left Windows Logo key also known as Super_L.

On Mac OSX, it is mapped to the Left Control key. On Windows, it is mapped to the Left Windows key.

RIGHT_META 

Right Windows Logo key also known as Super_R.

On Mac OSX, it is mapped to the Right Control key. On Windows, it is mapped to the Right Windows key. Using Qt, this value cannot be obtained (because Qt produces the same code for left and right keys).

NUMBER_0 

0

NUMBER_1 

1

NUMBER_2 

2

NUMBER_3 

3

NUMBER_4 

4

NUMBER_5 

5

NUMBER_6 

6

NUMBER_7 

7

NUMBER_8 

8

NUMBER_9 

9

A 

A.

B 

B.

C 

C.

D 

D.

E 

E.

F 

F.

G 

G.

H 

H.

I 

I.

J 

J.

K 

K.

L 

L.

M 

M.

N 

N.

O 

O.

P 

P.

Q 

Q.

R 

R.

S 

S.

T 

T.

U 

U.

V 

V.

W 

W.

X 

X.

Y 

Y.

Z 

Z.

HOME 

Home.

LEFT_ARROW 

Left.

UP_ARROW 

Up.

RIGHT_ARROW 

Right.

DOWN_ARROW 

Down.

PAGE_UP 

Page up.

PAGE_DOWN 

Page down.

PRIOR 

Prior.

NEXT 

Next.

END 

End.

PAD_ENTER 

Pad enter.

PAD_F1 

Pad F1.

PAD_F2 

Pad F2.

PAD_F3 

Pad F3.

PAD_F4 

Pad F4.

PAD_0 

Pad 0.

PAD_1 

Pad 1.

PAD_2 

Pad 2.

PAD_3 

Pad 3.

PAD_4 

Pad 4.

PAD_5 

Pad 5.

PAD_6 

Pad 6.

PAD_7 

Pad 7.

PAD_8 

Pad 8.

PAD_9 

Pad 9.

PAD_ADD 

Pad add.

PAD_SUBTRACT 

Pad substract.

PAD_MULTIPLY 

Pad multiply.

PAD_DIVIDE 

Pad divide.

PAD_SPACE 

Pad space.

PAD_TAB 

Pad tab.

PAD_INSERT 

Pad insert.

PAD_DELETE 

Pad delete.

PAD_PERIOD 

Pad period.

F1 

F1.

F2 

F2.

F3 

F3.

F4 

F4.

F5 

F5.

F6 

F6.

F7 

F7.

F8 

F8.

F9 

F9.

F10 

F10.

F11 

F11.

F12 

F12.

BACKSPACE 

Backspace.

TAB 

Tab.

RETURN 

Return.

ENTER 

Enter.

PAUSE 

Pause.

SCROLL_LOCK 

Scroll lock.

ESCAPE 

Escape.

KEY_DELETE 

Delete.

DELETE 

SoKeyboardEvent::DELETE is deprecated Use KEY_DELETE instead of DELETE.

PRINT 

Print.

INSERT 

Insert.

NUM_LOCK 

Num lock.

CAPS_LOCK 

Caps lock.

SHIFT_LOCK 

Shift lock.

SPACE 

Space.

APOSTROPHE 

Apostrophe.

COMMA 

Comma.

MINUS 

Minus.

PERIOD 

Period.

SLASH 

Slash.

SEMICOLON 

Semicolon.

EQUAL 

Equal.

BRACKETLEFT 

Bracket left.

BACKSLASH 

Back slash.

BRACKETRIGHT 

Bracket right.

GRAVE 

Grave.

TWO_SUPERIOR 

Power of two key.

TILDE 

Tilde key.


Constructor & Destructor Documentation

SoKeyboardEvent::SoKeyboardEvent (  ) 

Constructor.


Member Function Documentation

static SoType SoKeyboardEvent::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoButtonEvent.

SoKeyboardEvent::Key SoKeyboardEvent::getKey (  )  const

Gets which key generated the event.

char SoKeyboardEvent::getPrintableCharacter (  )  const

Convenience routine that returns the character representing the key, if it's printable.

If not, this returns NULL ('\0').

virtual SoType SoKeyboardEvent::getTypeId (  )  const [virtual]

Returns the type identifier for this specific instance.

Reimplemented from SoButtonEvent.

wchar_t SoKeyboardEvent::getUnicode (  )  const

Return the unicode value of the pressed key, or 0 if setUnicode() wasn't call before.

static SbBool SoKeyboardEvent::isKeyPressEvent ( const SoEvent e,
SoKeyboardEvent::Key  whichKey 
) [static]

Returns whether the passed event is a keyboard press event of the passed key.

When SoKeyboardEvent::ANY is passed, this returns TRUE if the event represents a keyboard press of any key.

static SbBool SoKeyboardEvent::isKeyReleaseEvent ( const SoEvent e,
SoKeyboardEvent::Key  whichKey 
) [static]

Returns whether the passed event is a keyboard release event of the passed key.

When SoKeyboardEvent::ANY is passed, this returns TRUE if the event represents a keyboard release of any key.

void SoKeyboardEvent::setKey ( SoKeyboardEvent::Key  whichKey  ) 

Sets which key generated the event.

void SoKeyboardEvent::setUnicode ( wchar_t  unicode  ) 

Call this function to set the unicode value of the pressed key.

This unicode value must be computed with key and modifier presssed simultaneously.


The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 15 Mar 2023
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/