Keyboard.hpp
1 //
3 // SFML - Simple and Fast Multimedia Library
4 // Copyright (C) 2007-2018 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_HPP
26 #define SFML_KEYBOARD_HPP
27 
29 // Headers
31 #include <SFML/Window/Export.hpp>
32 
33 
34 namespace sf
35 {
40 class SFML_WINDOW_API Keyboard
41 {
42 public:
43 
48  enum Key
49  {
50  Unknown = -1,
51  A = 0,
52  B,
53  C,
54  D,
55  E,
56  F,
57  G,
58  H,
59  I,
60  J,
61  K,
62  L,
63  M,
64  N,
65  O,
66  P,
67  Q,
68  R,
69  S,
70  T,
71  U,
72  V,
73  W,
74  X,
75  Y,
76  Z,
77  Num0,
78  Num1,
79  Num2,
80  Num3,
81  Num4,
82  Num5,
83  Num6,
84  Num7,
85  Num8,
86  Num9,
90  LAlt,
94  RAlt,
96  Menu,
111  Tab,
114  End,
118  Add,
124  Up,
136  F1,
137  F2,
138  F3,
139  F4,
140  F5,
141  F6,
142  F7,
143  F8,
144  F9,
145  F10,
146  F11,
147  F12,
148  F13,
149  F14,
150  F15,
152 
154 
155  // Deprecated values:
156 
157  Dash = Hyphen,
158  BackSpace = Backspace,
159  BackSlash = Backslash,
160  SemiColon = Semicolon,
161  Return = Enter
162  };
163 
172  static bool isKeyPressed(Key key);
173 
187  static void setVirtualKeyboardVisible(bool visible);
188 };
189 
190 } // namespace sf
191 
192 
193 #endif // SFML_KEYBOARD_HPP
194 
195 
Give access to the real-time state of the keyboard.
Definition: Keyboard.hpp:41
static bool isKeyPressed(Key key)
Check if a key is pressed.
Key
Key codes.
Definition: Keyboard.hpp:49
@ LAlt
The left Alt key.
Definition: Keyboard.hpp:90
@ X
The X key.
Definition: Keyboard.hpp:74
@ F5
The F5 key.
Definition: Keyboard.hpp:140
@ Numpad1
The numpad 1 key.
Definition: Keyboard.hpp:127
@ F7
The F7 key.
Definition: Keyboard.hpp:142
@ C
The C key.
Definition: Keyboard.hpp:53
@ E
The E key.
Definition: Keyboard.hpp:55
@ Multiply
The * key.
Definition: Keyboard.hpp:120
@ Add
The + key.
Definition: Keyboard.hpp:118
@ T
The T key.
Definition: Keyboard.hpp:70
@ Num5
The 5 key.
Definition: Keyboard.hpp:82
@ F3
The F3 key.
Definition: Keyboard.hpp:138
@ Tab
The Tabulation key.
Definition: Keyboard.hpp:111
@ PageDown
The Page down key.
Definition: Keyboard.hpp:113
@ RAlt
The right Alt key.
Definition: Keyboard.hpp:94
@ W
The W key.
Definition: Keyboard.hpp:73
@ K
The K key.
Definition: Keyboard.hpp:61
@ Numpad8
The numpad 8 key.
Definition: Keyboard.hpp:134
@ LShift
The left Shift key.
Definition: Keyboard.hpp:89
@ RControl
The right Control key.
Definition: Keyboard.hpp:92
@ Q
The Q key.
Definition: Keyboard.hpp:67
@ Right
Right arrow.
Definition: Keyboard.hpp:123
@ Num2
The 2 key.
Definition: Keyboard.hpp:79
@ Down
Down arrow.
Definition: Keyboard.hpp:125
@ Numpad9
The numpad 9 key.
Definition: Keyboard.hpp:135
@ F9
The F9 key.
Definition: Keyboard.hpp:144
@ Numpad7
The numpad 7 key.
Definition: Keyboard.hpp:133
@ End
The End key.
Definition: Keyboard.hpp:114
@ Menu
The Menu key.
Definition: Keyboard.hpp:96
@ Z
The Z key.
Definition: Keyboard.hpp:76
@ Num1
The 1 key.
Definition: Keyboard.hpp:78
@ RBracket
The ] key.
Definition: Keyboard.hpp:98
@ Enter
The Enter/Return keys.
Definition: Keyboard.hpp:109
@ Hyphen
The - key (hyphen)
Definition: Keyboard.hpp:107
@ RShift
The right Shift key.
Definition: Keyboard.hpp:93
@ Y
The Y key.
Definition: Keyboard.hpp:75
@ L
The L key.
Definition: Keyboard.hpp:62
@ Num4
The 4 key.
Definition: Keyboard.hpp:81
@ Insert
The Insert key.
Definition: Keyboard.hpp:116
@ Escape
The Escape key.
Definition: Keyboard.hpp:87
@ Numpad4
The numpad 4 key.
Definition: Keyboard.hpp:130
@ Subtract
The - key (minus, usually from numpad)
Definition: Keyboard.hpp:119
@ F2
The F2 key.
Definition: Keyboard.hpp:137
@ Space
The Space key.
Definition: Keyboard.hpp:108
@ F4
The F4 key.
Definition: Keyboard.hpp:139
@ LSystem
The left OS specific key: window (Windows and Linux), apple (MacOS X), ...
Definition: Keyboard.hpp:91
@ Slash
The / key.
Definition: Keyboard.hpp:103
@ O
The O key.
Definition: Keyboard.hpp:65
@ F15
The F15 key.
Definition: Keyboard.hpp:150
@ Numpad2
The numpad 2 key.
Definition: Keyboard.hpp:128
@ Numpad5
The numpad 5 key.
Definition: Keyboard.hpp:131
@ Num7
The 7 key.
Definition: Keyboard.hpp:84
@ Tilde
The ~ key.
Definition: Keyboard.hpp:105
@ KeyCount
Keep last – the total number of keyboard keys.
Definition: Keyboard.hpp:153
@ J
The J key.
Definition: Keyboard.hpp:60
@ Pause
The Pause key.
Definition: Keyboard.hpp:151
@ M
The M key.
Definition: Keyboard.hpp:63
@ F14
The F14 key.
Definition: Keyboard.hpp:149
@ Num9
The 9 key.
Definition: Keyboard.hpp:86
@ F13
The F13 key.
Definition: Keyboard.hpp:148
@ PageUp
The Page up key.
Definition: Keyboard.hpp:112
@ Backspace
The Backspace key.
Definition: Keyboard.hpp:110
@ P
The P key.
Definition: Keyboard.hpp:66
@ Numpad6
The numpad 6 key.
Definition: Keyboard.hpp:132
@ G
The G key.
Definition: Keyboard.hpp:57
@ U
The U key.
Definition: Keyboard.hpp:71
@ Semicolon
The ; key.
Definition: Keyboard.hpp:99
@ Numpad3
The numpad 3 key.
Definition: Keyboard.hpp:129
@ N
The N key.
Definition: Keyboard.hpp:64
@ Delete
The Delete key.
Definition: Keyboard.hpp:117
@ Comma
The , key.
Definition: Keyboard.hpp:100
@ F
The F key.
Definition: Keyboard.hpp:56
@ I
The I key.
Definition: Keyboard.hpp:59
@ RSystem
The right OS specific key: window (Windows and Linux), apple (MacOS X), ...
Definition: Keyboard.hpp:95
@ Left
Left arrow.
Definition: Keyboard.hpp:122
@ Up
Up arrow.
Definition: Keyboard.hpp:124
@ Period
The . key.
Definition: Keyboard.hpp:101
@ F6
The F6 key.
Definition: Keyboard.hpp:141
@ S
The S key.
Definition: Keyboard.hpp:69
@ B
The B key.
Definition: Keyboard.hpp:52
@ LControl
The left Control key.
Definition: Keyboard.hpp:88
@ Num8
The 8 key.
Definition: Keyboard.hpp:85
@ Backslash
The \ key.
Definition: Keyboard.hpp:104
@ R
The R key.
Definition: Keyboard.hpp:68
@ F8
The F8 key.
Definition: Keyboard.hpp:143
@ H
The H key.
Definition: Keyboard.hpp:58
@ Equal
The = key.
Definition: Keyboard.hpp:106
@ F1
The F1 key.
Definition: Keyboard.hpp:136
@ D
The D key.
Definition: Keyboard.hpp:54
@ F10
The F10 key.
Definition: Keyboard.hpp:145
@ V
The V key.
Definition: Keyboard.hpp:72
@ Num3
The 3 key.
Definition: Keyboard.hpp:80
@ Num0
The 0 key.
Definition: Keyboard.hpp:77
@ Quote
The ' key.
Definition: Keyboard.hpp:102
@ Numpad0
The numpad 0 key.
Definition: Keyboard.hpp:126
@ Home
The Home key.
Definition: Keyboard.hpp:115
@ Num6
The 6 key.
Definition: Keyboard.hpp:83
@ F11
The F11 key.
Definition: Keyboard.hpp:146
@ F12
The F12 key.
Definition: Keyboard.hpp:147
@ Divide
The / key.
Definition: Keyboard.hpp:121
@ LBracket
The [ key.
Definition: Keyboard.hpp:97
static void setVirtualKeyboardVisible(bool visible)
Show or hide the virtual keyboard.