Loading...
Searching...
No Matches
Keyboard.h
Go to the documentation of this file.
1
2//
3// SFML - Simple and Fast Multimedia Library
4// Copyright (C) 2007-2024 Laurent Gomila (laurent@sfml-dev.org)
5//
6// This software is provided 'as-is', without any express or implied warranty.
7// In no event will the authors be held liable for any damages arising from the use of this software.
8//
9// Permission is granted to anyone to use this software for any purpose,
10// including commercial applications, and to alter it and redistribute it freely,
11// subject to the following restrictions:
12//
13// 1. The origin of this software must not be misrepresented;
14// you must not claim that you wrote the original software.
15// If you use this software in a product, an acknowledgment
16// in the product documentation would be appreciated but is not required.
17//
18// 2. Altered source versions must be plainly marked as such,
19// and must not be misrepresented as being the original software.
20//
21// 3. This notice may not be removed or altered from any source distribution.
22//
24
25#ifndef SFML_KEYBOARD_H
26#define SFML_KEYBOARD_H
27
29// Headers
31#include <SFML/Window/Export.h>
32
33
42typedef enum
43{
146
148
149 // Deprecated values:
150
159
160
169typedef enum
170{
217 // For US keyboards mapped to key 29 (Microsoft Keyboard Scan Code Specification)
218 // For Non-US keyboards mapped to key 42 (Microsoft Keyboard Scan Code Specification)
219 // Typical language mappings: Belg:£µ` FrCa:<>} Dan:*' Dutch:`´ Fren:µ* Ger:'# Ital:§ù LatAm:[}` Nor:*@ Span:ç} Swed:*' Swiss:$£} UK:~# Brazil:}]
283 // For US keyboards doesn't exist
284 // For Non-US keyboards mapped to key 45 (Microsoft Keyboard Scan Code Specification)
285 // Typical language mappings: Belg:<> FrCa:«°» Dan:<> Dutch:]|[ Fren:<> Ger:<|> Ital:<> LatAm:<> Nor:<> Span:<> Swed:<|> Swiss:<> UK:\| Brazil: \|.
324
327
328
340
352
367
382
408
422
423#endif // SFML_KEYBOARD_H
int sfBool
Definition Config.h:153
sfScancode
Scancodes.
Definition Keyboard.h:170
@ sfScanLaunchMediaSelect
Keyboard Launch Media Select key.
Definition Keyboard.h:323
@ sfScanVolumeDown
Keyboard Volume Down key.
Definition Keyboard.h:300
@ sfScanF3
Keyboard F3 key.
Definition Keyboard.h:229
@ sfScanApostrophe
Keyboard ' and " key.
Definition Keyboard.h:222
@ sfScanO
Keyboard o and O key.
Definition Keyboard.h:186
@ sfScanLControl
Keyboard Left Control key.
Definition Keyboard.h:305
@ sfScanMenu
Keyboard Menu key.
Definition Keyboard.h:291
@ sfScanF
Keyboard f and F key.
Definition Keyboard.h:177
@ sfScanLShift
Keyboard Left Shift key.
Definition Keyboard.h:306
@ sfScanF16
Keyboard F16 key.
Definition Keyboard.h:242
@ sfScanSelect
Keyboard Select key.
Definition Keyboard.h:292
@ sfScanB
Keyboard b and B key.
Definition Keyboard.h:173
@ sfScanW
Keyboard w and W key.
Definition Keyboard.h:194
@ sfScanLaunchApplication2
Keyboard Launch Application 2 key.
Definition Keyboard.h:321
@ sfScanNumpad5
Keypad 5 key.
Definition Keyboard.h:277
@ sfScanF19
Keyboard F19 key.
Definition Keyboard.h:245
@ sfScanY
Keyboard y and Y key.
Definition Keyboard.h:196
@ sfScanX
Keyboard x and X key.
Definition Keyboard.h:195
@ sfScanF9
Keyboard F9 key.
Definition Keyboard.h:235
@ sfScanF2
Keyboard F2 key.
Definition Keyboard.h:228
@ sfScanNumpadMinus
Keypad - key.
Definition Keyboard.h:268
@ sfScanPause
Keyboard Pause key.
Definition Keyboard.h:254
@ sfScanNum6
Keyboard 6 and ^ key.
Definition Keyboard.h:203
@ sfScanS
Keyboard s and S key.
Definition Keyboard.h:190
@ sfScanR
Keyboard r and R key.
Definition Keyboard.h:189
@ sfScanUndo
Keyboard Undo key.
Definition Keyboard.h:294
@ sfScanE
Keyboard e and E key.
Definition Keyboard.h:176
@ sfScanNum2
Keyboard 2 and @ key.
Definition Keyboard.h:199
@ sfScanF17
Keyboard F17 key.
Definition Keyboard.h:243
@ sfScanRBracket
Keyboard ] and } key.
Definition Keyboard.h:216
@ sfScanPeriod
Keyboard . and > key.
Definition Keyboard.h:225
@ sfScanHyphen
Keyboard - and _ key.
Definition Keyboard.h:213
@ sfScanNum0
Keyboard 0 and ) key.
Definition Keyboard.h:207
@ sfScanF8
Keyboard F8 key.
Definition Keyboard.h:234
@ sfScanExecute
Keyboard Execute key.
Definition Keyboard.h:288
@ sfScanSlash
Keyboard / and ? key.
Definition Keyboard.h:226
@ sfScanF1
Keyboard F1 key.
Definition Keyboard.h:227
@ sfScanU
Keyboard u and U key.
Definition Keyboard.h:192
@ sfScanNumpadDecimal
Keypad . and Delete key.
Definition Keyboard.h:272
@ sfScanVolumeUp
Keyboard Volume Up key.
Definition Keyboard.h:299
@ sfScanN
Keyboard n and N key.
Definition Keyboard.h:185
@ sfScanFavorites
Keyboard Favorites key.
Definition Keyboard.h:318
@ sfScanTab
Keyboard Tab key.
Definition Keyboard.h:211
@ sfScanF10
Keyboard F10 key.
Definition Keyboard.h:236
@ sfScanPrintScreen
Keyboard Print Screen key.
Definition Keyboard.h:252
@ sfScanRShift
Keyboard Right Shift key.
Definition Keyboard.h:310
@ sfScanNum7
Keyboard 7 and & key.
Definition Keyboard.h:204
@ sfScanDelete
Keyboard Delete Forward key.
Definition Keyboard.h:258
@ sfScanZ
Keyboard z and Z key.
Definition Keyboard.h:197
@ sfScanCut
Keyboard Cut key.
Definition Keyboard.h:295
@ sfScanNumpad8
Keypad 8 and Up Arrow key.
Definition Keyboard.h:280
@ sfScanF18
Keyboard F18 key.
Definition Keyboard.h:244
@ sfScanEscape
Keyboard Escape key.
Definition Keyboard.h:209
@ sfScanF23
Keyboard F23 key.
Definition Keyboard.h:249
@ sfScanHelp
Keyboard Help key.
Definition Keyboard.h:290
@ sfScanLaunchMail
Keyboard Launch Mail key.
Definition Keyboard.h:322
@ sfScanNumpad7
Keypad 7 and Home key.
Definition Keyboard.h:279
@ sfScanLBracket
Keyboard [ and { key.
Definition Keyboard.h:215
@ sfScanNumpadDivide
Keypad / key.
Definition Keyboard.h:266
@ sfScanC
Keyboard c and C key.
Definition Keyboard.h:174
@ sfScanNumpadEnter
Keypad Enter/Return key.
Definition Keyboard.h:271
@ sfScanL
Keyboard l and L key.
Definition Keyboard.h:183
@ sfScanSpace
Keyboard Space key.
Definition Keyboard.h:212
@ sfScanRControl
Keyboard Right Control key.
Definition Keyboard.h:309
@ sfScanF13
Keyboard F13 key.
Definition Keyboard.h:239
@ sfScanF11
Keyboard F11 key.
Definition Keyboard.h:237
@ sfScanPageDown
Keyboard Page Down key.
Definition Keyboard.h:260
@ sfScanNum3
Keyboard 3 and # key.
Definition Keyboard.h:200
@ sfScanPageUp
Keyboard Page Up key.
Definition Keyboard.h:257
@ sfScanK
Keyboard k and K key.
Definition Keyboard.h:182
@ sfScanNumpadMultiply
Keypad * key.
Definition Keyboard.h:267
@ sfScanA
Keyboard a and A key.
Definition Keyboard.h:172
@ sfScanStop
Keyboard Stop key.
Definition Keyboard.h:316
@ sfScanNumpad3
Keypad 3 and Page Down key.
Definition Keyboard.h:275
@ sfScanMediaPlayPause
Keyboard Media Play Pause key.
Definition Keyboard.h:301
@ sfScanBackslash
Keyboard \ and | key OR various keys for Non-US keyboards.
Definition Keyboard.h:220
@ sfScanRSystem
Keyboard Right System key.
Definition Keyboard.h:312
@ sfScanNum1
Keyboard 1 and ! key.
Definition Keyboard.h:198
@ sfScanModeChange
Keyboard Mode Change key.
Definition Keyboard.h:289
@ sfScanRefresh
Keyboard Refresh key.
Definition Keyboard.h:315
@ sfScanEqual
Keyboard = and +.
Definition Keyboard.h:214
@ sfScanF24
Keyboard F24 key.
Definition Keyboard.h:250
@ sfScanScrollLock
Keyboard Scroll Lock key.
Definition Keyboard.h:253
@ sfScanBackspace
Keyboard Backspace key.
Definition Keyboard.h:210
@ sfScanM
Keyboard m and M key.
Definition Keyboard.h:184
@ sfScanUp
Keyboard Up Arrow key.
Definition Keyboard.h:264
@ sfScanMediaPreviousTrack
Keyboard Media Previous Track key.
Definition Keyboard.h:304
@ sfScanBack
Keyboard Back key.
Definition Keyboard.h:313
@ sfScanNum9
Keyboard 9 and ) key.
Definition Keyboard.h:206
@ sfScanNumpad6
Keypad 6 and Right Arrow key.
Definition Keyboard.h:278
@ sfScanCapsLock
Keyboard Caps Lock key.
Definition Keyboard.h:251
@ sfScanNumLock
Keypad Num Lock and Clear key.
Definition Keyboard.h:265
@ sfScanPaste
Keyboard Paste key.
Definition Keyboard.h:297
@ sfScanNumpad0
Keypad 0 and Insert key.
Definition Keyboard.h:282
@ sfScanGrave
Keyboard ` and ~ key.
Definition Keyboard.h:223
@ sfScanI
Keyboard i and I key.
Definition Keyboard.h:180
@ sfScanNum8
Keyboard 8 and * key.
Definition Keyboard.h:205
@ sfScanF15
Keyboard F15 key.
Definition Keyboard.h:241
@ sfScanMediaStop
Keyboard Media Stop key.
Definition Keyboard.h:302
@ sfScanComma
Keyboard , and < key.
Definition Keyboard.h:224
@ sfScanF4
Keyboard F4 key.
Definition Keyboard.h:230
@ sfScanP
Keyboard p and P key.
Definition Keyboard.h:187
@ sfScanRight
Keyboard Right Arrow key.
Definition Keyboard.h:261
@ sfScanF7
Keyboard F7 key.
Definition Keyboard.h:233
@ sfScanNumpad2
Keypad 2 and Down Arrow key.
Definition Keyboard.h:274
@ sfScanT
Keyboard t and T key.
Definition Keyboard.h:191
@ sfScanHome
Keyboard Home key.
Definition Keyboard.h:256
@ sfScanSemicolon
Keyboard ; and : key.
Definition Keyboard.h:221
@ sfScanLSystem
Keyboard Left System key.
Definition Keyboard.h:308
@ sfScanH
Keyboard h and H key.
Definition Keyboard.h:179
@ sfScanVolumeMute
Keyboard Volume Mute key.
Definition Keyboard.h:298
@ sfScanF6
Keyboard F6 key.
Definition Keyboard.h:232
@ sfScanForward
Keyboard Forward key.
Definition Keyboard.h:314
@ sfScanMediaNextTrack
Keyboard Media Next Track key.
Definition Keyboard.h:303
@ sfScanQ
Keyboard q and Q key.
Definition Keyboard.h:188
@ sfScanF20
Keyboard F20 key.
Definition Keyboard.h:246
@ sfScanNumpad1
Keypad 1 and End key.
Definition Keyboard.h:273
@ sfScanV
Keyboard v and V key.
Definition Keyboard.h:193
@ sfScanF14
Keyboard F14 key.
Definition Keyboard.h:240
@ sfScanInsert
Keyboard Insert key.
Definition Keyboard.h:255
@ sfScanF5
Keyboard F5 key.
Definition Keyboard.h:231
@ sfScanRAlt
Keyboard Right Alt key.
Definition Keyboard.h:311
@ sfScanRedo
Keyboard Redo key.
Definition Keyboard.h:293
@ sfScanCopy
Keyboard Copy key.
Definition Keyboard.h:296
@ sfScanD
Keyboard d and D key.
Definition Keyboard.h:175
@ sfScanDown
Keyboard Down Arrow key.
Definition Keyboard.h:263
@ sfScanNumpad9
Keypad 9 and Page Up key.
Definition Keyboard.h:281
@ sfScanLeft
Keyboard Left Arrow key.
Definition Keyboard.h:262
@ sfScancodeCount
Keep last – the total number of scancodes.
Definition Keyboard.h:325
@ sfScanJ
Keyboard j and J key.
Definition Keyboard.h:181
@ sfScanF12
Keyboard F12 key.
Definition Keyboard.h:238
@ sfScanApplication
Keyboard Application key.
Definition Keyboard.h:287
@ sfScanNumpadPlus
Keypad + key.
Definition Keyboard.h:269
@ sfScanNum4
Keyboard 4 and $ key.
Definition Keyboard.h:201
@ sfScanLAlt
Keyboard Left Alt key.
Definition Keyboard.h:307
@ sfScanG
Keyboard g and G key.
Definition Keyboard.h:178
@ sfScanUnknown
Represents any scancode not present in this enum.
Definition Keyboard.h:171
@ sfScanEnd
Keyboard End key.
Definition Keyboard.h:259
@ sfScanHomePage
Keyboard Home Page key.
Definition Keyboard.h:319
@ sfScanNum5
Keyboard 5 and % key.
Definition Keyboard.h:202
@ sfScanF22
Keyboard F22 key.
Definition Keyboard.h:248
@ sfScanEnter
Keyboard Enter/Return key.
Definition Keyboard.h:208
@ sfScanNonUsBackslash
Keyboard Non-US \ and | key.
Definition Keyboard.h:286
@ sfScanNumpad4
Keypad 4 and Left Arrow key.
Definition Keyboard.h:276
@ sfScanSearch
Keyboard Search key.
Definition Keyboard.h:317
@ sfScanNumpadEqual
keypad = key
Definition Keyboard.h:270
@ sfScanF21
Keyboard F21 key.
Definition Keyboard.h:247
@ sfScanLaunchApplication1
Keyboard Launch Application 1 key.
Definition Keyboard.h:320
const char * sfKeyboard_getDescription(sfScancode code)
Provide a string representation for a given scancode.
sfBool sfKeyboard_isKeyPressed(sfKeyCode key)
Check if a key is pressed.
sfBool sfKeyboard_isScancodePressed(sfScancode code)
Check if a key is pressed.
sfKeyCode
Key codes.
Definition Keyboard.h:43
@ sfKeyG
The G key.
Definition Keyboard.h:51
@ sfKeyUnknown
Unhandled key.
Definition Keyboard.h:44
@ sfKeyPageUp
The Page up key.
Definition Keyboard.h:106
@ sfKeyQuote
Definition Keyboard.h:157
@ sfKeyF11
The F11 key.
Definition Keyboard.h:140
@ sfKeyO
The O key.
Definition Keyboard.h:59
@ sfKeySemicolon
The ; key.
Definition Keyboard.h:93
@ sfKeyNum3
The 3 key.
Definition Keyboard.h:74
@ sfKeyNum9
The 9 key.
Definition Keyboard.h:80
@ sfKeyN
The N key.
Definition Keyboard.h:58
@ sfKeySubtract
The - key (minus, usually from numpad)
Definition Keyboard.h:113
@ sfKeyNum1
The 1 key.
Definition Keyboard.h:72
@ sfKeyV
The V key.
Definition Keyboard.h:66
@ sfKeyBackspace
The Backspace key.
Definition Keyboard.h:104
@ sfKeyDivide
The / key.
Definition Keyboard.h:115
@ sfKeyL
The L key.
Definition Keyboard.h:56
@ sfKeyDown
Down arrow.
Definition Keyboard.h:119
@ sfKeyNum5
The 5 key.
Definition Keyboard.h:76
@ sfKeyNum6
The 6 key.
Definition Keyboard.h:77
@ sfKeyRShift
The right Shift key.
Definition Keyboard.h:87
@ sfKeyF7
The F7 key.
Definition Keyboard.h:136
@ sfKeyLShift
The left Shift key.
Definition Keyboard.h:83
@ sfKeyY
The Y key.
Definition Keyboard.h:69
@ sfKeyNumpad0
The numpad 0 key.
Definition Keyboard.h:120
@ sfKeyF8
The F8 key.
Definition Keyboard.h:137
@ sfKeyNumpad4
The numpad 4 key.
Definition Keyboard.h:124
@ sfKeyF2
The F2 key.
Definition Keyboard.h:131
@ sfKeyEnd
The End key.
Definition Keyboard.h:108
@ sfKeyNumpad7
The numpad 7 key.
Definition Keyboard.h:127
@ sfKeySemiColon
Definition Keyboard.h:155
@ sfKeySlash
The / key.
Definition Keyboard.h:97
@ sfKeyD
The D key.
Definition Keyboard.h:48
@ sfKeyF
The F key.
Definition Keyboard.h:50
@ sfKeyU
The U key.
Definition Keyboard.h:65
@ sfKeyAdd
The + key.
Definition Keyboard.h:112
@ sfKeyDelete
The Delete key.
Definition Keyboard.h:111
@ sfKeyHyphen
The - key (hyphen)
Definition Keyboard.h:101
@ sfKeyT
The T key.
Definition Keyboard.h:64
@ sfKeyLSystem
The left OS specific key: window (Windows and Linux), apple (macOS), ...
Definition Keyboard.h:85
@ sfKeyGrave
The ` key.
Definition Keyboard.h:99
@ sfKeyReturn
Definition Keyboard.h:156
@ sfKeyNumpad6
The numpad 6 key.
Definition Keyboard.h:126
@ sfKeyNumpad3
The numpad 3 key.
Definition Keyboard.h:123
@ sfKeyK
The K key.
Definition Keyboard.h:55
@ sfKeyNumpad8
The numpad 8 key.
Definition Keyboard.h:128
@ sfKeyLControl
The left Control key.
Definition Keyboard.h:82
@ sfKeyF5
The F5 key.
Definition Keyboard.h:134
@ sfKeyHome
The Home key.
Definition Keyboard.h:109
@ sfKeyRBracket
The ] key.
Definition Keyboard.h:92
@ sfKeyF10
The F10 key.
Definition Keyboard.h:139
@ sfKeyF4
The F4 key.
Definition Keyboard.h:133
@ sfKeyJ
The J key.
Definition Keyboard.h:54
@ sfKeyC
The C key.
Definition Keyboard.h:47
@ sfKeyRSystem
The right OS specific key: window (Windows and Linux), apple (macOS), ...
Definition Keyboard.h:89
@ sfKeyTab
The Tabulation key.
Definition Keyboard.h:105
@ sfKeyE
The E key.
Definition Keyboard.h:49
@ sfKeyW
The W key.
Definition Keyboard.h:67
@ sfKeyComma
The , key.
Definition Keyboard.h:94
@ sfKeyF15
The F15 key.
Definition Keyboard.h:144
@ sfKeyUp
Up arrow.
Definition Keyboard.h:118
@ sfKeyPeriod
The . key.
Definition Keyboard.h:95
@ sfKeyBackSlash
Definition Keyboard.h:154
@ sfKeyF6
The F6 key.
Definition Keyboard.h:135
@ sfKeyQ
The Q key.
Definition Keyboard.h:61
@ sfKeyMultiply
The * key.
Definition Keyboard.h:114
@ sfKeyI
The I key.
Definition Keyboard.h:53
@ sfKeyPause
The Pause key.
Definition Keyboard.h:145
@ sfKeyTilde
Definition Keyboard.h:151
@ sfKeyNumpad1
The numpad 1 key.
Definition Keyboard.h:121
@ sfKeyEnter
The Enter/Return key.
Definition Keyboard.h:103
@ sfKeyNumpad9
The numpad 9 key.
Definition Keyboard.h:129
@ sfKeyS
The S key.
Definition Keyboard.h:63
@ sfKeyDash
Definition Keyboard.h:152
@ sfKeyCount
Keep last – the total number of keyboard keys.
Definition Keyboard.h:147
@ sfKeyP
The P key.
Definition Keyboard.h:60
@ sfKeyB
The B key.
Definition Keyboard.h:46
@ sfKeyF14
The F14 key.
Definition Keyboard.h:143
@ sfKeyNumpad5
The numpad 5 key.
Definition Keyboard.h:125
@ sfKeyNum0
The 0 key.
Definition Keyboard.h:71
@ sfKeyF1
The F1 key.
Definition Keyboard.h:130
@ sfKeyLBracket
The [ key.
Definition Keyboard.h:91
@ sfKeyX
The X key.
Definition Keyboard.h:68
@ sfKeyLAlt
The left Alt key.
Definition Keyboard.h:84
@ sfKeyNum2
The 2 key.
Definition Keyboard.h:73
@ sfKeyRight
Right arrow.
Definition Keyboard.h:117
@ sfKeyRAlt
The right Alt key.
Definition Keyboard.h:88
@ sfKeyZ
The Z key.
Definition Keyboard.h:70
@ sfKeyMenu
The Menu key.
Definition Keyboard.h:90
@ sfKeyF12
The F12 key.
Definition Keyboard.h:141
@ sfKeyR
The R key.
Definition Keyboard.h:62
@ sfKeyNum4
The 4 key.
Definition Keyboard.h:75
@ sfKeyEqual
The = key.
Definition Keyboard.h:100
@ sfKeyNumpad2
The numpad 2 key.
Definition Keyboard.h:122
@ sfKeyM
The M key.
Definition Keyboard.h:57
@ sfKeyBack
Definition Keyboard.h:153
@ sfKeyEscape
The Escape key.
Definition Keyboard.h:81
@ sfKeyLeft
Left arrow.
Definition Keyboard.h:116
@ sfKeyApostrophe
The ' key.
Definition Keyboard.h:96
@ sfKeyNum8
The 8 key.
Definition Keyboard.h:79
@ sfKeyNum7
The 7 key.
Definition Keyboard.h:78
@ sfKeyRControl
The right Control key.
Definition Keyboard.h:86
@ sfKeyF3
The F3 key.
Definition Keyboard.h:132
@ sfKeyInsert
The Insert key.
Definition Keyboard.h:110
@ sfKeyPageDown
The Page down key.
Definition Keyboard.h:107
@ sfKeyBackslash
The \ key.
Definition Keyboard.h:98
@ sfKeyA
The A key.
Definition Keyboard.h:45
@ sfKeyH
The H key.
Definition Keyboard.h:52
@ sfKeyF9
The F8 key.
Definition Keyboard.h:138
@ sfKeyF13
The F13 key.
Definition Keyboard.h:142
@ sfKeySpace
The Space key.
Definition Keyboard.h:102
sfKeyCode sfKeyboard_localize(sfScancode code)
Localize a physical key to a logical one.
sfScancode sfKeyboard_delocalize(sfKeyCode key)
Identify the physical key corresponding to a logical one.
void sfKeyboard_setVirtualKeyboardVisible(sfBool visible)
Show or hide the virtual keyboard.
#define CSFML_WINDOW_API