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
orZ
.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