comparison libcore/core/key.h @ 121:789b23e01f52

misc: reorganize hierarchy, closes #2490
author David Demelier <markand@malikania.fr>
date Mon, 05 Oct 2020 13:25:06 +0200
parents src/core/key.h@6203e1ac9b18
children
comparison
equal deleted inserted replaced
120:b3429b26d60d 121:789b23e01f52
1 /*
2 * key.h -- keyboard definitions
3 *
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
5 *
6 * Permission to use, copy, modify, and/or distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19 #ifndef MOLKO_KEY_H
20 #define MOLKO_KEY_H
21
22 /**
23 * \file key.h
24 * \brief Keyboard definitions.
25 * \ingroup input
26 */
27
28 /**
29 * \brief Key codes.
30 */
31 enum key {
32 KEY_UNKNOWN,
33 KEY_ENTER,
34 KEY_ESCAPE,
35 KEY_BACKSPACE,
36 KEY_TAB,
37 KEY_SPACE,
38 KEY_EXCLAIM,
39 KEY_DOUBLE_QUOTE,
40 KEY_HASH,
41 KEY_PERCENT,
42 KEY_DOLLAR,
43 KEY_AMPERSAND,
44 KEY_QUOTE,
45 KEY_LEFT_PAREN,
46 KEY_RIGHT_PAREN,
47 KEY_ASTERISK,
48 KEY_PLUS,
49 KEY_COMMA,
50 KEY_MINUS,
51 KEY_PERIOD,
52 KEY_SLASH,
53 KEY_0,
54 KEY_1,
55 KEY_2,
56 KEY_3,
57 KEY_4,
58 KEY_5,
59 KEY_6,
60 KEY_7,
61 KEY_8,
62 KEY_9,
63 KEY_COLON,
64 KEY_SEMICOLON,
65 KEY_LESS,
66 KEY_EQUALS,
67 KEY_GREATER,
68 KEY_QUESTION,
69 KEY_AT,
70 KEY_LEFT_BRACKET,
71 KEY_BACKSLASH,
72 KEY_RIGHT_BRACKET,
73 KEY_CARET,
74 KEY_UNDERSCORE,
75 KEY_BACKQUOTE,
76 KEY_a,
77 KEY_b,
78 KEY_c,
79 KEY_d,
80 KEY_e,
81 KEY_f,
82 KEY_g,
83 KEY_h,
84 KEY_i,
85 KEY_j,
86 KEY_k,
87 KEY_l,
88 KEY_m,
89 KEY_n,
90 KEY_o,
91 KEY_p,
92 KEY_q,
93 KEY_r,
94 KEY_s,
95 KEY_t,
96 KEY_u,
97 KEY_v,
98 KEY_w,
99 KEY_x,
100 KEY_y,
101 KEY_z,
102 KEY_CAPSLOCK,
103 KEY_F1,
104 KEY_F2,
105 KEY_F3,
106 KEY_F4,
107 KEY_F5,
108 KEY_F6,
109 KEY_F7,
110 KEY_F8,
111 KEY_F9,
112 KEY_F10,
113 KEY_F11,
114 KEY_F12,
115 KEY_F13,
116 KEY_F14,
117 KEY_F15,
118 KEY_F16,
119 KEY_F17,
120 KEY_F18,
121 KEY_F19,
122 KEY_F20,
123 KEY_F21,
124 KEY_F22,
125 KEY_F23,
126 KEY_F24,
127 KEY_PRINTSCREEN,
128 KEY_SCROLLLOCK,
129 KEY_PAUSE,
130 KEY_INSERT,
131 KEY_HOME,
132 KEY_PAGEUP,
133 KEY_DELETE,
134 KEY_END,
135 KEY_PAGEDOWN,
136 KEY_RIGHT,
137 KEY_LEFT,
138 KEY_DOWN,
139 KEY_UP,
140 KEY_NUMLOCKCLEAR,
141 KEY_KP_DIVIDE,
142 KEY_KP_MULTIPLY,
143 KEY_KP_MINUS,
144 KEY_KP_PLUS,
145 KEY_KP_ENTER,
146 KEY_KP_00,
147 KEY_KP_000,
148 KEY_KP_1,
149 KEY_KP_2,
150 KEY_KP_3,
151 KEY_KP_4,
152 KEY_KP_5,
153 KEY_KP_6,
154 KEY_KP_7,
155 KEY_KP_8,
156 KEY_KP_9,
157 KEY_KP_0,
158 KEY_KP_PERIOD,
159 KEY_KP_COMMA,
160 KEY_MENU,
161 KEY_MUTE,
162 KEY_VOLUME_UP,
163 KEY_VOLUME_DOWN,
164 KEY_LCTRL,
165 KEY_LSHIFT,
166 KEY_LALT,
167 KEY_LSUPER,
168 KEY_RCTRL,
169 KEY_RSHIFT,
170 KEY_RALT,
171 KEY_RSUPER,
172 };
173
174 /**
175 * \brief Keybord modifiers.
176 *
177 * This enumeration is usually stored as OR'ed flags as several modifiers can
178 * be pressed at a time.
179 */
180 enum keymod {
181 KEYMOD_LSHIFT = 1 << 0, /*!< Left shift */
182 KEYMOD_LCTRL = 1 << 1, /*!< Left control */
183 KEYMOD_LALT = 1 << 2, /*!< Left alt */
184 KEYMOD_LSUPER = 1 << 3, /*!< Left super (logo) */
185 KEYMOD_RSHIFT = 1 << 4, /*!< Right shift */
186 KEYMOD_RCTRL = 1 << 5, /*!< Right control */
187 KEYMOD_RALT = 1 << 6, /*!< Right alt */
188 KEYMOD_RSUPER = 1 << 7 /*!< Right super (logo) */
189 };
190
191 #endif /* !MOLKO_KEY_H */