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
YorZ.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
- 
enumerator sfKeyUnknown
 
- 
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 — the total number of scancodes.
- 
enumerator sfScanUnknown
 
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