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 
sf::Keyboard::Enter
@ Enter
The Enter/Return keys.
Definition: Keyboard.hpp:109
sf::Keyboard::I
@ I
The I key.
Definition: Keyboard.hpp:59
sf::Keyboard::RBracket
@ RBracket
The ] key.
Definition: Keyboard.hpp:98
sf::Keyboard::End
@ End
The End key.
Definition: Keyboard.hpp:114
sf::Keyboard::Numpad0
@ Numpad0
The numpad 0 key.
Definition: Keyboard.hpp:126
sf::Keyboard::L
@ L
The L key.
Definition: Keyboard.hpp:62
sf::Keyboard::D
@ D
The D key.
Definition: Keyboard.hpp:54
sf::Keyboard::F13
@ F13
The F13 key.
Definition: Keyboard.hpp:148
sf::Keyboard::F15
@ F15
The F15 key.
Definition: Keyboard.hpp:150
sf::Keyboard::Num1
@ Num1
The 1 key.
Definition: Keyboard.hpp:78
sf::Keyboard::LControl
@ LControl
The left Control key.
Definition: Keyboard.hpp:88
sf::Keyboard::RControl
@ RControl
The right Control key.
Definition: Keyboard.hpp:92
sf::Keyboard::P
@ P
The P key.
Definition: Keyboard.hpp:66
sf::Keyboard::F5
@ F5
The F5 key.
Definition: Keyboard.hpp:140
sf::Keyboard::Numpad3
@ Numpad3
The numpad 3 key.
Definition: Keyboard.hpp:129
sf::Keyboard::Period
@ Period
The . key.
Definition: Keyboard.hpp:101
sf::Keyboard::Tab
@ Tab
The Tabulation key.
Definition: Keyboard.hpp:111
sf::Keyboard::O
@ O
The O key.
Definition: Keyboard.hpp:65
sf::Keyboard::Numpad7
@ Numpad7
The numpad 7 key.
Definition: Keyboard.hpp:133
sf::Keyboard::Numpad6
@ Numpad6
The numpad 6 key.
Definition: Keyboard.hpp:132
sf::Keyboard::Quote
@ Quote
The ' key.
Definition: Keyboard.hpp:102
sf::Keyboard::F4
@ F4
The F4 key.
Definition: Keyboard.hpp:139
sf::Keyboard::Num2
@ Num2
The 2 key.
Definition: Keyboard.hpp:79
sf::Keyboard::J
@ J
The J key.
Definition: Keyboard.hpp:60
sf::Keyboard::Backslash
@ Backslash
The \ key.
Definition: Keyboard.hpp:104
sf::Keyboard::Numpad9
@ Numpad9
The numpad 9 key.
Definition: Keyboard.hpp:135
sf::Keyboard::F2
@ F2
The F2 key.
Definition: Keyboard.hpp:137
sf::Keyboard::KeyCount
@ KeyCount
Keep last – the total number of keyboard keys.
Definition: Keyboard.hpp:153
sf::Keyboard::Numpad8
@ Numpad8
The numpad 8 key.
Definition: Keyboard.hpp:134
sf::Keyboard::F7
@ F7
The F7 key.
Definition: Keyboard.hpp:142
sf::Keyboard::Subtract
@ Subtract
The - key (minus, usually from numpad)
Definition: Keyboard.hpp:119
sf::Keyboard::Hyphen
@ Hyphen
The - key (hyphen)
Definition: Keyboard.hpp:107
sf::Keyboard::V
@ V
The V key.
Definition: Keyboard.hpp:72
sf::Keyboard::Numpad5
@ Numpad5
The numpad 5 key.
Definition: Keyboard.hpp:131
sf::Keyboard::Numpad1
@ Numpad1
The numpad 1 key.
Definition: Keyboard.hpp:127
sf::Keyboard::Delete
@ Delete
The Delete key.
Definition: Keyboard.hpp:117
sf::Keyboard::F1
@ F1
The F1 key.
Definition: Keyboard.hpp:136
sf::Keyboard::T
@ T
The T key.
Definition: Keyboard.hpp:70
sf::Keyboard::F12
@ F12
The F12 key.
Definition: Keyboard.hpp:147
sf::Keyboard::W
@ W
The W key.
Definition: Keyboard.hpp:73
sf::Keyboard::Left
@ Left
Left arrow.
Definition: Keyboard.hpp:122
sf::Keyboard::LSystem
@ LSystem
The left OS specific key: window (Windows and Linux), apple (MacOS X), ...
Definition: Keyboard.hpp:91
sf::Keyboard::PageDown
@ PageDown
The Page down key.
Definition: Keyboard.hpp:113
sf::Keyboard::Num7
@ Num7
The 7 key.
Definition: Keyboard.hpp:84
sf::Keyboard::LBracket
@ LBracket
The [ key.
Definition: Keyboard.hpp:97
sf::Keyboard::Insert
@ Insert
The Insert key.
Definition: Keyboard.hpp:116
sf::Keyboard::Num6
@ Num6
The 6 key.
Definition: Keyboard.hpp:83
sf::Keyboard::C
@ C
The C key.
Definition: Keyboard.hpp:53
sf::Keyboard::Num4
@ Num4
The 4 key.
Definition: Keyboard.hpp:81
sf::Keyboard::Y
@ Y
The Y key.
Definition: Keyboard.hpp:75
sf::Keyboard::Comma
@ Comma
The , key.
Definition: Keyboard.hpp:100
sf::Keyboard::RSystem
@ RSystem
The right OS specific key: window (Windows and Linux), apple (MacOS X), ...
Definition: Keyboard.hpp:95
sf::Keyboard::Escape
@ Escape
The Escape key.
Definition: Keyboard.hpp:87
sf::Keyboard::Key
Key
Key codes.
Definition: Keyboard.hpp:48
sf::Keyboard::E
@ E
The E key.
Definition: Keyboard.hpp:55
sf::Keyboard::N
@ N
The N key.
Definition: Keyboard.hpp:64
sf::Keyboard::U
@ U
The U key.
Definition: Keyboard.hpp:71
sf::Keyboard::Numpad4
@ Numpad4
The numpad 4 key.
Definition: Keyboard.hpp:130
sf::Keyboard::H
@ H
The H key.
Definition: Keyboard.hpp:58
sf::Keyboard::Multiply
@ Multiply
The * key.
Definition: Keyboard.hpp:120
sf::Keyboard::Tilde
@ Tilde
The ~ key.
Definition: Keyboard.hpp:105
sf::Keyboard::Menu
@ Menu
The Menu key.
Definition: Keyboard.hpp:96
sf::Keyboard::F9
@ F9
The F9 key.
Definition: Keyboard.hpp:144
sf::Keyboard::Q
@ Q
The Q key.
Definition: Keyboard.hpp:67
sf::Keyboard::F10
@ F10
The F10 key.
Definition: Keyboard.hpp:145
sf::Keyboard::LAlt
@ LAlt
The left Alt key.
Definition: Keyboard.hpp:90
sf::Keyboard::PageUp
@ PageUp
The Page up key.
Definition: Keyboard.hpp:112
sf::Keyboard::Slash
@ Slash
The / key.
Definition: Keyboard.hpp:103
sf::Keyboard::M
@ M
The M key.
Definition: Keyboard.hpp:63
sf::Keyboard::RAlt
@ RAlt
The right Alt key.
Definition: Keyboard.hpp:94
sf::Keyboard::LShift
@ LShift
The left Shift key.
Definition: Keyboard.hpp:89
sf::Keyboard::K
@ K
The K key.
Definition: Keyboard.hpp:61
sf::Keyboard
Give access to the real-time state of the keyboard.
Definition: Keyboard.hpp:40
sf::Keyboard::F11
@ F11
The F11 key.
Definition: Keyboard.hpp:146
sf::Keyboard::Add
@ Add
The + key.
Definition: Keyboard.hpp:118
sf::Keyboard::Backspace
@ Backspace
The Backspace key.
Definition: Keyboard.hpp:110
sf::Keyboard::Space
@ Space
The Space key.
Definition: Keyboard.hpp:108
sf::Keyboard::Home
@ Home
The Home key.
Definition: Keyboard.hpp:115
sf::Keyboard::Num5
@ Num5
The 5 key.
Definition: Keyboard.hpp:82
sf::Keyboard::F
@ F
The F key.
Definition: Keyboard.hpp:56
sf::Keyboard::G
@ G
The G key.
Definition: Keyboard.hpp:57
sf::Keyboard::Divide
@ Divide
The / key.
Definition: Keyboard.hpp:121
sf::Keyboard::Semicolon
@ Semicolon
The ; key.
Definition: Keyboard.hpp:99
sf::Keyboard::Pause
@ Pause
The Pause key.
Definition: Keyboard.hpp:151
sf::Keyboard::X
@ X
The X key.
Definition: Keyboard.hpp:74
sf::Keyboard::Num0
@ Num0
The 0 key.
Definition: Keyboard.hpp:77
sf::Keyboard::Right
@ Right
Right arrow.
Definition: Keyboard.hpp:123
sf::Keyboard::Up
@ Up
Up arrow.
Definition: Keyboard.hpp:124
sf::Keyboard::F6
@ F6
The F6 key.
Definition: Keyboard.hpp:141
sf::Keyboard::Num9
@ Num9
The 9 key.
Definition: Keyboard.hpp:86
sf::Keyboard::RShift
@ RShift
The right Shift key.
Definition: Keyboard.hpp:93
sf::Keyboard::Down
@ Down
Down arrow.
Definition: Keyboard.hpp:125
sf::Keyboard::Num3
@ Num3
The 3 key.
Definition: Keyboard.hpp:80
sf::Keyboard::Numpad2
@ Numpad2
The numpad 2 key.
Definition: Keyboard.hpp:128
sf::Keyboard::Num8
@ Num8
The 8 key.
Definition: Keyboard.hpp:85
sf::Keyboard::B
@ B
The B key.
Definition: Keyboard.hpp:52
sf::Keyboard::Z
@ Z
The Z key.
Definition: Keyboard.hpp:76
sf::Keyboard::F14
@ F14
The F14 key.
Definition: Keyboard.hpp:149
sf::Keyboard::F3
@ F3
The F3 key.
Definition: Keyboard.hpp:138
sf::Keyboard::Equal
@ Equal
The = key.
Definition: Keyboard.hpp:106
sf::Keyboard::S
@ S
The S key.
Definition: Keyboard.hpp:69
sf::Keyboard::F8
@ F8
The F8 key.
Definition: Keyboard.hpp:143
sf::Keyboard::R
@ R
The R key.
Definition: Keyboard.hpp:68