Warning
This page refers to an old version of SFML. Click here to switch to the latest version.
Warning
This page refers to an old version of SFML. Click here to switch to the latest version.
Give access to the real-time state of the keyboard. More...
Typedefs | |
using | Scancode = Scan |
Functions | |
bool | isKeyPressed (Key key) |
Check if a key is pressed. | |
bool | isKeyPressed (Scancode code) |
Check if a key is pressed. | |
Key | localize (Scancode code) |
Localize a physical key to a logical one. | |
Scancode | delocalize (Key key) |
Identify the physical key corresponding to a logical one. | |
String | getDescription (Scancode code) |
Provide a string representation for a given scancode. | |
void | setVirtualKeyboardVisible (bool visible) |
Show or hide the virtual keyboard. |
Variables | |
static constexpr unsigned int | KeyCount {static_cast<unsigned int>(Key::Pause) + 1} |
The total number of keyboard keys, ignoring Key::Unknown | |
static constexpr unsigned int | ScancodeCount {static_cast<unsigned int>(Scan::LaunchMediaSelect) + 1} |
The total number of scancodes, ignoring Scan::Unknown |
Give access to the real-time state of the keyboard.
sf::Keyboard provides an interface to the state of the keyboard.
This namespace allows users to query the keyboard state at any time and directly, without having to deal with a window and its events. Compared to the KeyPressed and KeyReleased events, sf::Keyboard can retrieve the state of a key at any time (you don't need to store and update a boolean on your side in order to know if a key is pressed or released), and you always get the real state of the keyboard, even if keys are pressed or released when your window is out of focus and no event is triggered.
Usage example:
using sf::Keyboard::Scancode = Scan |
Definition at line 329 of file Keyboard.hpp.
|
strong |
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.
Definition at line 51 of file Keyboard.hpp.
|
strong |
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.
Enumerator | |
---|---|
Unknown | Represents any scancode not present in this enum. |
A | Keyboard a and A key. |
B | Keyboard b and B key. |
C | Keyboard c and C key. |
D | Keyboard d and D key. |
E | Keyboard e and E key. |
F | Keyboard f and F key. |
G | Keyboard g and G key. |
H | Keyboard h and H key. |
I | Keyboard i and I key. |
J | Keyboard j and J key. |
K | Keyboard k and K key. |
L | Keyboard l and L key. |
M | Keyboard m and M key. |
N | Keyboard n and N key. |
O | Keyboard o and O key. |
P | Keyboard p and P key. |
Q | Keyboard q and Q key. |
R | Keyboard r and R key. |
S | Keyboard s and S key. |
T | Keyboard t and T key. |
U | Keyboard u and U key. |
V | Keyboard v and V key. |
W | Keyboard w and W key. |
X | Keyboard x and X key. |
Y | Keyboard y and Y key. |
Z | Keyboard z and Z key. |
Num1 | Keyboard 1 and ! key. |
Num2 | Keyboard 2 and @ key. |
Num3 | Keyboard 3 and # key. |
Num4 | Keyboard 4 and $ key. |
Num5 | Keyboard 5 and % key. |
Num6 | Keyboard 6 and ^ key. |
Num7 | Keyboard 7 and & key. |
Num8 | Keyboard 8 and * key. |
Num9 | Keyboard 9 and ) key. |
Num0 | Keyboard 0 and ) key. |
Enter | Keyboard Enter/Return key. |
Escape | Keyboard Escape key. |
Backspace | Keyboard Backspace key. |
Tab | Keyboard Tab key. |
Space | Keyboard Space key. |
Hyphen | Keyboard - and _ key. |
Equal | Keyboard = and +. |
LBracket | Keyboard [ and { key. |
RBracket | Keyboard ] and } key. |
Backslash | Keyboard \ and | key OR various keys for Non-US keyboards. |
Semicolon | Keyboard ; and : key. |
Apostrophe | Keyboard ' and " key. |
Grave | Keyboard ` and ~ key. |
Comma | Keyboard , and < key. |
Period | Keyboard . and > key. |
Slash | Keyboard / and ? key. |
F1 | Keyboard F1 key. |
F2 | Keyboard F2 key. |
F3 | Keyboard F3 key. |
F4 | Keyboard F4 key. |
F5 | Keyboard F5 key. |
F6 | Keyboard F6 key. |
F7 | Keyboard F7 key. |
F8 | Keyboard F8 key. |
F9 | Keyboard F9 key. |
F10 | Keyboard F10 key. |
F11 | Keyboard F11 key. |
F12 | Keyboard F12 key. |
F13 | Keyboard F13 key. |
F14 | Keyboard F14 key. |
F15 | Keyboard F15 key. |
F16 | Keyboard F16 key. |
F17 | Keyboard F17 key. |
F18 | Keyboard F18 key. |
F19 | Keyboard F19 key. |
F20 | Keyboard F20 key. |
F21 | Keyboard F21 key. |
F22 | Keyboard F22 key. |
F23 | Keyboard F23 key. |
F24 | Keyboard F24 key. |
CapsLock | Keyboard Caps Lock key. |
PrintScreen | Keyboard Print Screen key. |
ScrollLock | Keyboard Scroll Lock key. |
Pause | Keyboard Pause key. |
Insert | Keyboard Insert key. |
Home | Keyboard Home key. |
PageUp | Keyboard Page Up key. |
Delete | Keyboard Delete Forward key. |
End | Keyboard End key. |
PageDown | Keyboard Page Down key. |
Right | Keyboard Right Arrow key. |
Left | Keyboard Left Arrow key. |
Down | Keyboard Down Arrow key. |
Up | Keyboard Up Arrow key. |
NumLock | Keypad Num Lock and Clear key. |
NumpadDivide | Keypad / key. |
NumpadMultiply | Keypad * key. |
NumpadMinus | Keypad - key. |
NumpadPlus | Keypad + key. |
NumpadEqual | keypad = key |
NumpadEnter | Keypad Enter/Return key. |
NumpadDecimal | Keypad . and Delete key. |
Numpad1 | Keypad 1 and End key. |
Numpad2 | Keypad 2 and Down Arrow key. |
Numpad3 | Keypad 3 and Page Down key. |
Numpad4 | Keypad 4 and Left Arrow key. |
Numpad5 | Keypad 5 key. |
Numpad6 | Keypad 6 and Right Arrow key. |
Numpad7 | Keypad 7 and Home key. |
Numpad8 | Keypad 8 and Up Arrow key. |
Numpad9 | Keypad 9 and Page Up key. |
Numpad0 | Keypad 0 and Insert key. |
NonUsBackslash | Keyboard Non-US \ and | key. |
Application | Keyboard Application key. |
Execute | Keyboard Execute key. |
ModeChange | Keyboard Mode Change key. |
Help | Keyboard Help key. |
Menu | Keyboard Menu key. |
Select | Keyboard Select key. |
Redo | Keyboard Redo key. |
Undo | Keyboard Undo key. |
Cut | Keyboard Cut key. |
Copy | Keyboard Copy key. |
Paste | Keyboard Paste key. |
VolumeMute | Keyboard Volume Mute key. |
VolumeUp | Keyboard Volume Up key. |
VolumeDown | Keyboard Volume Down key. |
MediaPlayPause | Keyboard Media Play Pause key. |
MediaStop | Keyboard Media Stop key. |
MediaNextTrack | Keyboard Media Next Track key. |
MediaPreviousTrack | Keyboard Media Previous Track key. |
LControl | Keyboard Left Control key. |
LShift | Keyboard Left Shift key. |
LAlt | Keyboard Left Alt key. |
LSystem | Keyboard Left System key. |
RControl | Keyboard Right Control key. |
RShift | Keyboard Right Shift key. |
RAlt | Keyboard Right Alt key. |
RSystem | Keyboard Right System key. |
Back | Keyboard Back key. |
Forward | Keyboard Forward key. |
Refresh | Keyboard Refresh key. |
Stop | Keyboard Stop key. |
Search | Keyboard Search key. |
Favorites | Keyboard Favorites key. |
HomePage | Keyboard Home Page key. |
LaunchApplication1 | Keyboard Launch Application 1 key. |
LaunchApplication2 | Keyboard Launch Application 2 key. |
LaunchMail | Keyboard Launch Mail key. |
LaunchMediaSelect | Keyboard Launch Media Select key. |
Definition at line 172 of file Keyboard.hpp.
Identify the physical key corresponding to a logical one.
key | Key to "delocalize" |
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, sf::Keyboard::Key::Semicolon is mapped to ";" for layout and to "é" for others.
code | Scancode to check |
|
nodiscard |
Check if a key is pressed.
key | Key to check |
|
nodiscard |
Check if a key is pressed.
code | Scancode to check |
Localize a physical key to a logical one.
code | Scancode to localize |
void sf::Keyboard::setVirtualKeyboardVisible | ( | bool | visible | ) |
Show or hide the virtual keyboard.
If the virtual keyboard is not available, this function does nothing.
visible | true to show, false to hide |
|
staticconstexpr |
The total number of keyboard keys, ignoring Key::Unknown
Definition at line 162 of file Keyboard.hpp.
|
staticconstexpr |
The total number of scancodes, ignoring Scan::Unknown
Definition at line 336 of file Keyboard.hpp.