27 #include "swe_types.h" 34 typedef SDL_keysym SDL_Keysym;
42 bool iskey(
int v)
const;
43 bool isname(
const std::string &)
const;
45 KeyName() : key(0), name(
nullptr) {}
46 KeyName(
int k,
const char* v) : key(k), name(v) {}
56 BACKSPACE = SDLK_BACKSPACE,
63 EXCLAIM = SDLK_EXCLAIM,
64 QUOTEDBL = SDLK_QUOTEDBL,
67 AMPERSAND = SDLK_AMPERSAND,
69 LEFTPAREN = SDLK_LEFTPAREN,
70 RIGHTPAREN = SDLK_RIGHTPAREN,
71 ASTERISK = SDLK_ASTERISK,
88 SEMICOLON = SDLK_SEMICOLON,
91 GREATER = SDLK_GREATER,
92 QUESTION = SDLK_QUESTION,
94 LEFTBRACKET = SDLK_LEFTBRACKET,
95 BACKSLASH = SDLK_BACKSLASH,
96 RIGHTBRACKET = SDLK_RIGHTBRACKET,
98 UNDERSCORE = SDLK_UNDERSCORE,
99 BACKQUOTE = SDLK_BACKQUOTE,
126 DELETE = SDLK_DELETE,
150 KP_PERIOD = SDLK_KP_PERIOD,
151 KP_DIVIDE = SDLK_KP_DIVIDE,
152 KP_MULTIPLY = SDLK_KP_MULTIPLY,
153 KP_MINUS = SDLK_KP_MINUS,
154 KP_PLUS = SDLK_KP_PLUS,
155 KP_ENTER = SDLK_KP_ENTER,
156 KP_EQUALS = SDLK_KP_EQUALS,
161 INSERT = SDLK_INSERT,
164 PAGEUP = SDLK_PAGEUP,
165 PAGEDOWN = SDLK_PAGEDOWN,
181 CAPSLOCK = SDLK_CAPSLOCK,
183 SCROLLOCK = SDLK_SCROLLOCK,
185 SCROLLOCK = SDLK_SCROLLLOCK,
187 RSHIFT = SDLK_RSHIFT,
188 LSHIFT = SDLK_LSHIFT,
198 PRINT = SDLK_PRINTSCREEN,
200 SYSREQ = SDLK_SYSREQ,
205 AC_BACK = 0x4000010e,
210 int toKey(
const std::string &);
211 const char* toName(
int);
214 const std::initializer_list<KeyName> & allKeys(
void);
221 KeyMod() : mod(SDL_GetModState()) {}
222 KeyMod(u16 val) : mod(val) {}
224 bool isCtrl(
void)
const {
return mod & KMOD_CTRL; }
225 bool isLeftCtrl(
void)
const {
return mod & KMOD_LCTRL; }
226 bool isRightCtrl(
void)
const {
return mod & KMOD_RCTRL; }
227 bool isShift(
void)
const {
return mod & KMOD_SHIFT; }
228 bool isLeftShift(
void)
const {
return mod & KMOD_LSHIFT; }
229 bool isRightShift(
void)
const {
return mod & KMOD_RSHIFT; }
230 bool isAlt(
void)
const {
return mod & KMOD_ALT; }
231 bool isLeftAlt(
void)
const {
return mod & KMOD_LALT; }
232 bool isRightAlt(
void)
const {
return mod & KMOD_RALT; }
235 bool isGui(
void)
const {
return mod & KMOD_GUI; }
236 bool isLGui(
void)
const {
return mod & KMOD_LGUI; }
237 bool isRGui(
void)
const {
return mod & KMOD_RGUI; }
240 bool isNum(
void)
const {
return mod & KMOD_NUM; }
241 bool isCaps(
void)
const {
return mod & KMOD_CAPS; }
242 bool isMode(
void)
const {
return mod & KMOD_MODE; }
247 KeySym(
int sym = SDLK_UNKNOWN,
int mod = SDL_GetModState()) : std::pair<KeyMod, int>(
KeyMod(mod), sym) {}
248 KeySym(
const SDL_Keysym & sdl) : std::pair<KeyMod, int>(
KeyMod(sdl.mod), sdl.sym) {}
250 const KeyMod & keymod(
void)
const 255 const int & keycode(
void)
const 260 int keychar(
void)
const;
263 int scancode(
void)
const 268 int scancode(
void)
const 270 return SDL_GetScancodeFromKey(keycode());
273 const char* keyname(
void)
const 275 return Key::toName(keycode());
278 bool isKeyCode(
int code)
const 280 return code == second;
пространство SWE.
Definition: swe_binarybuf.cpp:30
Definition: swe_inputs_keys.h:245
Definition: swe_inputs_keys.h:37
Definition: swe_inputs_keys.h:217