Keyboard

Enums

enum sfKeyCode

Key codes.

The enumerators refer to the “localized” key; i.e. depending on the layout set by the operating system, a key can be mapped to Y or Z.

Values:

enumerator sfKeyUnknown

Unhandled key.

enumerator sfKeyA

The A key.

enumerator sfKeyB

The B key.

enumerator sfKeyC

The C key.

enumerator sfKeyD

The D key.

enumerator sfKeyE

The E key.

enumerator sfKeyF

The F key.

enumerator sfKeyG

The G key.

enumerator sfKeyH

The H key.

enumerator sfKeyI

The I key.

enumerator sfKeyJ

The J key.

enumerator sfKeyK

The K key.

enumerator sfKeyL

The L key.

enumerator sfKeyM

The M key.

enumerator sfKeyN

The N key.

enumerator sfKeyO

The O key.

enumerator sfKeyP

The P key.

enumerator sfKeyQ

The Q key.

enumerator sfKeyR

The R key.

enumerator sfKeyS

The S key.

enumerator sfKeyT

The T key.

enumerator sfKeyU

The U key.

enumerator sfKeyV

The V key.

enumerator sfKeyW

The W key.

enumerator sfKeyX

The X key.

enumerator sfKeyY

The Y key.

enumerator sfKeyZ

The Z key.

enumerator sfKeyNum0

The 0 key.

enumerator sfKeyNum1

The 1 key.

enumerator sfKeyNum2

The 2 key.

enumerator sfKeyNum3

The 3 key.

enumerator sfKeyNum4

The 4 key.

enumerator sfKeyNum5

The 5 key.

enumerator sfKeyNum6

The 6 key.

enumerator sfKeyNum7

The 7 key.

enumerator sfKeyNum8

The 8 key.

enumerator sfKeyNum9

The 9 key.

enumerator sfKeyEscape

The Escape key.

enumerator sfKeyLControl

The left Control key.

enumerator sfKeyLShift

The left Shift key.

enumerator sfKeyLAlt

The left Alt key.

enumerator sfKeyLSystem

The left OS specific key: window (Windows and Linux), apple (macOS), …

enumerator sfKeyRControl

The right Control key.

enumerator sfKeyRShift

The right Shift key.

enumerator sfKeyRAlt

The right Alt key.

enumerator sfKeyRSystem

The right OS specific key: window (Windows and Linux), apple (macOS), …

enumerator sfKeyMenu

The Menu key.

enumerator sfKeyLBracket

The [ key.

enumerator sfKeyRBracket

The ] key.

enumerator sfKeySemicolon

The ; key.

enumerator sfKeyComma

The , key.

enumerator sfKeyPeriod

The . key.

enumerator sfKeyApostrophe

The ‘ key.

enumerator sfKeySlash

The / key.

enumerator sfKeyBackslash

The \ key.

enumerator sfKeyGrave

The ` key.

enumerator sfKeyEqual

The = key.

enumerator sfKeyHyphen

The - key (hyphen)

enumerator sfKeySpace

The Space key.

enumerator sfKeyEnter

The Enter/Return key.

enumerator sfKeyBackspace

The Backspace key.

enumerator sfKeyTab

The Tabulation key.

enumerator sfKeyPageUp

The Page up key.

enumerator sfKeyPageDown

The Page down key.

enumerator sfKeyEnd

The End key.

enumerator sfKeyHome

The Home key.

enumerator sfKeyInsert

The Insert key.

enumerator sfKeyDelete

The Delete key.

enumerator sfKeyAdd

The + key.

enumerator sfKeySubtract

The - key (minus, usually from numpad)

enumerator sfKeyMultiply

The * key.

enumerator sfKeyDivide

The / key.

enumerator sfKeyLeft

Left arrow.

enumerator sfKeyRight

Right arrow.

enumerator sfKeyUp

Up arrow.

enumerator sfKeyDown

Down arrow.

enumerator sfKeyNumpad0

The numpad 0 key.

enumerator sfKeyNumpad1

The numpad 1 key.

enumerator sfKeyNumpad2

The numpad 2 key.

enumerator sfKeyNumpad3

The numpad 3 key.

enumerator sfKeyNumpad4

The numpad 4 key.

enumerator sfKeyNumpad5

The numpad 5 key.

enumerator sfKeyNumpad6

The numpad 6 key.

enumerator sfKeyNumpad7

The numpad 7 key.

enumerator sfKeyNumpad8

The numpad 8 key.

enumerator sfKeyNumpad9

The numpad 9 key.

enumerator sfKeyF1

The F1 key.

enumerator sfKeyF2

The F2 key.

enumerator sfKeyF3

The F3 key.

enumerator sfKeyF4

The F4 key.

enumerator sfKeyF5

The F5 key.

enumerator sfKeyF6

The F6 key.

enumerator sfKeyF7

The F7 key.

enumerator sfKeyF8

The F8 key.

enumerator sfKeyF9

The F8 key.

enumerator sfKeyF10

The F10 key.

enumerator sfKeyF11

The F11 key.

enumerator sfKeyF12

The F12 key.

enumerator sfKeyF13

The F13 key.

enumerator sfKeyF14

The F14 key.

enumerator sfKeyF15

The F15 key.

enumerator sfKeyPause

The Pause key.

enumerator sfKeyCount

Keep last — the total number of keyboard keys.

enumerator sfKeyTilde

Deprecated:

Use Grave instead

enumerator sfKeyDash

Deprecated:

Use Hyphen instead

enumerator sfKeyBack

Deprecated:

Use Backspace instead

enumerator sfKeyBackSlash

Deprecated:

Use Backslash instead

enumerator sfKeySemiColon

Deprecated:

Use Semicolon instead

enumerator sfKeyReturn

Deprecated:

Use Enter instead

enumerator sfKeyQuote

Deprecated:

Use Apostrophe instead

enum sfScancode

Scancodes.

The enumerators are bound to a physical key and do not depend on the keyboard layout used by the operating system. Usually, the AT-101 keyboard can be used as reference for the physical position of the keys.

Values:

enumerator sfScanUnknown

Represents any scancode not present in this enum.

enumerator sfScanA

Keyboard a and A key.

enumerator sfScanB

Keyboard b and B key.

enumerator sfScanC

Keyboard c and C key.

enumerator sfScanD

Keyboard d and D key.

enumerator sfScanE

Keyboard e and E key.

enumerator sfScanF

Keyboard f and F key.

enumerator sfScanG

Keyboard g and G key.

enumerator sfScanH

Keyboard h and H key.

enumerator sfScanI

Keyboard i and I key.

enumerator sfScanJ

Keyboard j and J key.

enumerator sfScanK

Keyboard k and K key.

enumerator sfScanL

Keyboard l and L key.

enumerator sfScanM

Keyboard m and M key.

enumerator sfScanN

Keyboard n and N key.

enumerator sfScanO

Keyboard o and O key.

enumerator sfScanP

Keyboard p and P key.

enumerator sfScanQ

Keyboard q and Q key.

enumerator sfScanR

Keyboard r and R key.

enumerator sfScanS

Keyboard s and S key.

enumerator sfScanT

Keyboard t and T key.

enumerator sfScanU

Keyboard u and U key.

enumerator sfScanV

Keyboard v and V key.

enumerator sfScanW

Keyboard w and W key.

enumerator sfScanX

Keyboard x and X key.

enumerator sfScanY

Keyboard y and Y key.

enumerator sfScanZ

Keyboard z and Z key.

enumerator sfScanNum1

Keyboard 1 and ! key.

enumerator sfScanNum2

Keyboard 2 and @ key.

enumerator sfScanNum3

Keyboard 3 and # key.

enumerator sfScanNum4

Keyboard 4 and $ key.

enumerator sfScanNum5

Keyboard 5 and % key.

enumerator sfScanNum6

Keyboard 6 and ^ key.

enumerator sfScanNum7

Keyboard 7 and & key.

enumerator sfScanNum8

Keyboard 8 and * key.

enumerator sfScanNum9

Keyboard 9 and ) key.

enumerator sfScanNum0

Keyboard 0 and ) key.

enumerator sfScanEnter

Keyboard Enter/Return key.

enumerator sfScanEscape

Keyboard Escape key.

enumerator sfScanBackspace

Keyboard Backspace key.

enumerator sfScanTab

Keyboard Tab key.

enumerator sfScanSpace

Keyboard Space key.

enumerator sfScanHyphen

Keyboard - and _ key.

enumerator sfScanEqual

Keyboard = and +.

enumerator sfScanLBracket

Keyboard [ and { key.

enumerator sfScanRBracket

Keyboard ] and } key.

enumerator sfScanBackslash

Keyboard \ and | key OR various keys for Non-US keyboards.

enumerator sfScanSemicolon

Keyboard ; and : key.

enumerator sfScanApostrophe

Keyboard ‘ and “ key.

enumerator sfScanGrave

Keyboard ` and ~ key.

enumerator sfScanComma

Keyboard , and < key.

enumerator sfScanPeriod

Keyboard . and > key.

enumerator sfScanSlash

Keyboard / and ? key.

enumerator sfScanF1

Keyboard F1 key.

enumerator sfScanF2

Keyboard F2 key.

enumerator sfScanF3

Keyboard F3 key.

enumerator sfScanF4

Keyboard F4 key.

enumerator sfScanF5

Keyboard F5 key.

enumerator sfScanF6

Keyboard F6 key.

enumerator sfScanF7

Keyboard F7 key.

enumerator sfScanF8

Keyboard F8 key.

enumerator sfScanF9

Keyboard F9 key.

enumerator sfScanF10

Keyboard F10 key.

enumerator sfScanF11

Keyboard F11 key.

enumerator sfScanF12

Keyboard F12 key.

enumerator sfScanF13

Keyboard F13 key.

enumerator sfScanF14

Keyboard F14 key.

enumerator sfScanF15

Keyboard F15 key.

enumerator sfScanF16

Keyboard F16 key.

enumerator sfScanF17

Keyboard F17 key.

enumerator sfScanF18

Keyboard F18 key.

enumerator sfScanF19

Keyboard F19 key.

enumerator sfScanF20

Keyboard F20 key.

enumerator sfScanF21

Keyboard F21 key.

enumerator sfScanF22

Keyboard F22 key.

enumerator sfScanF23

Keyboard F23 key.

enumerator sfScanF24

Keyboard F24 key.

enumerator sfScanCapsLock

Keyboard Caps Lock key.

enumerator sfScanPrintScreen

Keyboard Print Screen key.

enumerator sfScanScrollLock

Keyboard Scroll Lock key.

enumerator sfScanPause

Keyboard Pause key.

enumerator sfScanInsert

Keyboard Insert key.

enumerator sfScanHome

Keyboard Home key.

enumerator sfScanPageUp

Keyboard Page Up key.

enumerator sfScanDelete

Keyboard Delete Forward key.

enumerator sfScanEnd

Keyboard End key.

enumerator sfScanPageDown

Keyboard Page Down key.

enumerator sfScanRight

Keyboard Right Arrow key.

enumerator sfScanLeft

Keyboard Left Arrow key.

enumerator sfScanDown

Keyboard Down Arrow key.

enumerator sfScanUp

Keyboard Up Arrow key.

enumerator sfScanNumLock

Keypad Num Lock and Clear key.

enumerator sfScanNumpadDivide

Keypad / key.

enumerator sfScanNumpadMultiply

Keypad * key.

enumerator sfScanNumpadMinus

Keypad - key.

enumerator sfScanNumpadPlus

Keypad + key.

enumerator sfScanNumpadEqual

keypad = key

enumerator sfScanNumpadEnter

Keypad Enter/Return key.

enumerator sfScanNumpadDecimal

Keypad . and Delete key.

enumerator sfScanNumpad1

Keypad 1 and End key.

enumerator sfScanNumpad2

Keypad 2 and Down Arrow key.

enumerator sfScanNumpad3

Keypad 3 and Page Down key.

enumerator sfScanNumpad4

Keypad 4 and Left Arrow key.

enumerator sfScanNumpad5

Keypad 5 key.

enumerator sfScanNumpad6

Keypad 6 and Right Arrow key.

enumerator sfScanNumpad7

Keypad 7 and Home key.

enumerator sfScanNumpad8

Keypad 8 and Up Arrow key.

enumerator sfScanNumpad9

Keypad 9 and Page Up key.

enumerator sfScanNumpad0

Keypad 0 and Insert key.

enumerator sfScanNonUsBackslash

Keyboard Non-US \ and | key.

enumerator sfScanApplication

Keyboard Application key.

enumerator sfScanExecute

Keyboard Execute key.

enumerator sfScanModeChange

Keyboard Mode Change key.

enumerator sfScanHelp

Keyboard Help key.

enumerator sfScanMenu

Keyboard Menu key.

enumerator sfScanSelect

Keyboard Select key.

enumerator sfScanRedo

Keyboard Redo key.

enumerator sfScanUndo

Keyboard Undo key.

enumerator sfScanCut

Keyboard Cut key.

enumerator sfScanCopy

Keyboard Copy key.

enumerator sfScanPaste

Keyboard Paste key.

enumerator sfScanVolumeMute

Keyboard Volume Mute key.

enumerator sfScanVolumeUp

Keyboard Volume Up key.

enumerator sfScanVolumeDown

Keyboard Volume Down key.

enumerator sfScanMediaPlayPause

Keyboard Media Play Pause key.

enumerator sfScanMediaStop

Keyboard Media Stop key.

enumerator sfScanMediaNextTrack

Keyboard Media Next Track key.

enumerator sfScanMediaPreviousTrack

Keyboard Media Previous Track key.

enumerator sfScanLControl

Keyboard Left Control key.

enumerator sfScanLShift

Keyboard Left Shift key.

enumerator sfScanLAlt

Keyboard Left Alt key.

enumerator sfScanLSystem

Keyboard Left System key.

enumerator sfScanRControl

Keyboard Right Control key.

enumerator sfScanRShift

Keyboard Right Shift key.

enumerator sfScanRAlt

Keyboard Right Alt key.

enumerator sfScanRSystem

Keyboard Right System key.

enumerator sfScanBack

Keyboard Back key.

enumerator sfScanForward

Keyboard Forward key.

enumerator sfScanRefresh

Keyboard Refresh key.

enumerator sfScanStop

Keyboard Stop key.

enumerator sfScanSearch

Keyboard Search key.

enumerator sfScanFavorites

Keyboard Favorites key.

enumerator sfScanHomePage

Keyboard Home Page key.

enumerator sfScanLaunchApplication1

Keyboard Launch Application 1 key.

enumerator sfScanLaunchApplication2

Keyboard Launch Application 2 key.

enumerator sfScanLaunchMail

Keyboard Launch Mail key.

enumerator sfScanLaunchMediaSelect

Keyboard Launch Media Select key.

enumerator sfScancodeCount

Keep last &#8212; the total number of scancodes.

Functions

sfBool sfKeyboard_isKeyPressed(sfKeyCode key)

Check if a key is pressed.

See also

sfKeyboard_isScancodePressed

Parameters:
  • key – Key to check

Returns:

sfTrue if the key is pressed, sfFalse otherwise

sfBool sfKeyboard_isScancodePressed(sfScancode code)

Check if a key is pressed.

See also

sfKeyboard_isKeyPressed

Parameters:
  • code – Scancode to check

Returns:

sfTrue if the physical key is pressed, sfFalse otherwise

sfKeyCode sfKeyboard_localize(sfScancode code)

Localize a physical key to a logical one.

See also

sfKeyboard_delocalize

Parameters:
  • code – Scancode to localize

Returns:

The key corresponding to the scancode under the current keyboard layout used by the operating system, or sfKeyUnknown when the scancode cannot be mapped to a Key.

sfScancode sfKeyboard_delocalize(sfKeyCode key)

Identify the physical key corresponding to a logical one.

See also

sfKeyboard_localize

Parameters:
  • key – Key to “delocalize”

Returns:

The scancode corresponding to the key under the current keyboard layout used by the operating system, or sfScanUnknown when the key cannot be mapped to a sfScancode.

const char *sfKeyboard_getDescription(sfScancode code)

Provide a string representation for a given scancode.

The returned string is a short, non-technical description of the key represented with the given scancode. Most effectively used in user interfaces, as the description for the key takes the users keyboard layout into consideration.

The current keyboard layout set by the operating system is used to interpret the scancode: for example, sfKeySemicolon is mapped to “;” for layout and to “é” for others.

The returned const char* owns the string and must be freed to avoid memory leaks.

Warning

The result is OS-dependent: for example, sfScanLSystem is “Left Meta” on Linux, “Left Windows” on Windows and “Left Command” on macOS.

Parameters:
  • code – Scancode to describe

Returns:

The localized description of the code

void sfKeyboard_setVirtualKeyboardVisible(sfBool visible)

Show or hide the virtual keyboard.

If the virtual keyboard is not available, this function does nothing.

Warning

The virtual keyboard is not supported on all systems. It will typically be implemented on mobile OSes (Android, iOS) but not on desktop OSes (Windows, Linux, …).

Parameters:
  • visible – True to show, false to hide