diff options
author | tmk <nobody@nowhere> | 2012-10-09 13:48:39 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2012-10-17 15:55:37 +0900 |
commit | 16ba9bda5601ebef6e4db04a5ad079af32370815 (patch) | |
tree | a93e18f16ebeb0933263dd6ed9e9e545edeaf367 /common/usb_keycodes.h | |
parent | e9af482690152f1beedbbb915791eccd2d5c22d1 (diff) | |
download | qmk_firmware-16ba9bda5601ebef6e4db04a5ad079af32370815.tar.gz qmk_firmware-16ba9bda5601ebef6e4db04a5ad079af32370815.zip |
Add consumer/system usage support.
Diffstat (limited to 'common/usb_keycodes.h')
-rw-r--r-- | common/usb_keycodes.h | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/common/usb_keycodes.h b/common/usb_keycodes.h index 61d6bf002..6a4437418 100644 --- a/common/usb_keycodes.h +++ b/common/usb_keycodes.h | |||
@@ -24,15 +24,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
24 | 24 | ||
25 | 25 | ||
26 | #define IS_ERROR(code) (KB_ROLL_OVER <= (code) && (code) <= KB_UNDEFINED) | 26 | #define IS_ERROR(code) (KB_ROLL_OVER <= (code) && (code) <= KB_UNDEFINED) |
27 | #define IS_ANY(code) (KB_A <= (code)) | 27 | #define IS_ANY(code) (KB_A <= (code) && (code) <= 0xFF) |
28 | #define IS_KEY(code) (KB_A <= (code) && (code) <= KB_EXSEL) | 28 | #define IS_KEY(code) (KB_A <= (code) && (code) <= KB_EXSEL) |
29 | #define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI) | 29 | #define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI) |
30 | |||
30 | #define IS_FN(code) (KB_FN0 <= (code) && (code) <= KB_FN7) | 31 | #define IS_FN(code) (KB_FN0 <= (code) && (code) <= KB_FN7) |
31 | #define IS_MOUSEKEY(code) (KB_MS_UP <= (code) && (code) <= KB_MS_WH_RIGHT) | 32 | #define IS_MOUSEKEY(code) (KB_MS_UP <= (code) && (code) <= KB_MS_WH_RIGHT) |
32 | #define IS_MOUSEKEY_MOVE(code) (KB_MS_UP <= (code) && (code) <= KB_MS_RIGHT) | 33 | #define IS_MOUSEKEY_MOVE(code) (KB_MS_UP <= (code) && (code) <= KB_MS_RIGHT) |
33 | #define IS_MOUSEKEY_BUTTON(code) (KB_MS_BTN1 <= (code) && (code) <= KB_MS_BTN5) | 34 | #define IS_MOUSEKEY_BUTTON(code) (KB_MS_BTN1 <= (code) && (code) <= KB_MS_BTN5) |
34 | #define IS_MOUSEKEY_WHEEL(code) (KB_MS_WH_UP <= (code) && (code) <= KB_MS_WH_RIGHT) | 35 | #define IS_MOUSEKEY_WHEEL(code) (KB_MS_WH_UP <= (code) && (code) <= KB_MS_WH_RIGHT) |
35 | 36 | ||
37 | #define IS_SPECIAL(code) ((0xB0 <= (code) && (code) <= 0xDF) || (0xE8 <= (code) && (code) <= 0xFF)) | ||
38 | #define IS_CONSUMER(code) (KB_MUTE <= (code) && (code) <= KB_WFAV) | ||
39 | #define IS_SYSTEM(code) (KB_POWER <= (code) && (code) <= KB_WAKE) | ||
40 | |||
36 | #define MOD_BIT(code) (1<<((code) & 0x07)) | 41 | #define MOD_BIT(code) (1<<((code) & 0x07)) |
37 | #define FN_BIT(code) (1<<((code) - KB_FN0)) | 42 | #define FN_BIT(code) (1<<((code) - KB_FN0)) |
38 | #define FN_INDEX(code) ((code) - KB_FN0) | 43 | #define FN_INDEX(code) ((code) - KB_FN0) |
@@ -137,14 +142,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
137 | 142 | ||
138 | 143 | ||
139 | /* Special keycode */ | 144 | /* Special keycode */ |
145 | /* NOTE: 0xA5-DF and 0xE8-FF can be used for internal special purpose */ | ||
140 | enum special_keycodes { | 146 | enum special_keycodes { |
141 | /* System Control */ | 147 | /* System Control */ |
142 | KB_SYSTEM_POWER = 0xB0, | 148 | KB_SYSTEM_POWER = 0xA5, |
143 | KB_SYSTEM_SLEEP, | 149 | KB_SYSTEM_SLEEP, |
144 | KB_SYSTEM_WAKE, | 150 | KB_SYSTEM_WAKE, /* 0xA7 */ |
151 | /* 0xA8-AF */ | ||
145 | 152 | ||
146 | /* Consumer Page */ | 153 | /* Consumer Page */ |
147 | KB_AUDIO_MUTE, | 154 | KB_AUDIO_MUTE = 0xB0, |
148 | KB_AUDIO_VOL_UP, | 155 | KB_AUDIO_VOL_UP, |
149 | KB_AUDIO_VOL_DOWN, | 156 | KB_AUDIO_VOL_DOWN, |
150 | KB_MEDIA_NEXT_TRACK, | 157 | KB_MEDIA_NEXT_TRACK, |
@@ -157,13 +164,14 @@ enum special_keycodes { | |||
157 | KB_MY_COMPUTER, | 164 | KB_MY_COMPUTER, |
158 | KB_WWW_SEARCH, | 165 | KB_WWW_SEARCH, |
159 | KB_WWW_HOME, | 166 | KB_WWW_HOME, |
160 | KB_WWW_BACK, /* 0xC0 */ | 167 | KB_WWW_BACK, |
161 | KB_WWW_FORWARD, | 168 | KB_WWW_FORWARD, |
162 | KB_WWW_STOP, | 169 | KB_WWW_STOP, |
163 | KB_WWW_REFRESH, | 170 | KB_WWW_REFRESH, /* 0xC0 */ |
164 | KB_WWW_FAVORITES, | 171 | KB_WWW_FAVORITES, /* 0xC1 */ |
172 | /* 0xC2-DF vacant for future use */ | ||
165 | 173 | ||
166 | /* reserve 0xE0-E7 for Modifiers */ | 174 | /* 0xE0-E7 for Modifiers. DO NOT USE. */ |
167 | 175 | ||
168 | /* Layer Switching */ | 176 | /* Layer Switching */ |
169 | KB_FN0 = 0xE8, | 177 | KB_FN0 = 0xE8, |
@@ -173,7 +181,7 @@ enum special_keycodes { | |||
173 | KB_FN4, | 181 | KB_FN4, |
174 | KB_FN5, | 182 | KB_FN5, |
175 | KB_FN6, | 183 | KB_FN6, |
176 | KB_FN7, | 184 | KB_FN7, /* 0xEF */ |
177 | 185 | ||
178 | /* Mousekey */ | 186 | /* Mousekey */ |
179 | KB_MS_UP = 0xF0, | 187 | KB_MS_UP = 0xF0, |
@@ -189,11 +197,13 @@ enum special_keycodes { | |||
189 | KB_MS_WH_UP, | 197 | KB_MS_WH_UP, |
190 | KB_MS_WH_DOWN, | 198 | KB_MS_WH_DOWN, |
191 | KB_MS_WH_LEFT, | 199 | KB_MS_WH_LEFT, |
192 | KB_MS_WH_RIGHT, | 200 | KB_MS_WH_RIGHT, /* 0xFC */ |
201 | /* 0xFD-FF vacant for future use */ | ||
193 | }; | 202 | }; |
194 | 203 | ||
204 | /* USB HID Keyboard/Keypad Usage(0x07) */ | ||
195 | enum keycodes { | 205 | enum keycodes { |
196 | KB_NO = 0, | 206 | KB_NO = 0x00, |
197 | KB_ROLL_OVER, | 207 | KB_ROLL_OVER, |
198 | KB_POST_FAIL, | 208 | KB_POST_FAIL, |
199 | KB_UNDEFINED, | 209 | KB_UNDEFINED, |
@@ -357,9 +367,10 @@ enum keycodes { | |||
357 | KB_OPER, | 367 | KB_OPER, |
358 | KB_CLEAR_AGAIN, | 368 | KB_CLEAR_AGAIN, |
359 | KB_CRSEL, | 369 | KB_CRSEL, |
360 | KB_EXSEL, | 370 | KB_EXSEL, /* 0xA4 */ |
371 | |||
372 | /* NOTE: 0xA5-DF are used for internal special purpose */ | ||
361 | 373 | ||
362 | /* NOTE: 0xB0-DF are used as special_keycodes */ | ||
363 | #if 0 | 374 | #if 0 |
364 | KB_KP_00 = 0xB0, | 375 | KB_KP_00 = 0xB0, |
365 | KB_KP_000, | 376 | KB_KP_000, |
@@ -406,7 +417,7 @@ enum keycodes { | |||
406 | KB_KP_BINARY, | 417 | KB_KP_BINARY, |
407 | KB_KP_OCTAL, | 418 | KB_KP_OCTAL, |
408 | KB_KP_DECIMAL, | 419 | KB_KP_DECIMAL, |
409 | KB_KP_HEXADECIMAL, | 420 | KB_KP_HEXADECIMAL, /* 0xDD */ |
410 | #endif | 421 | #endif |
411 | 422 | ||
412 | /* Modifiers */ | 423 | /* Modifiers */ |
@@ -419,7 +430,7 @@ enum keycodes { | |||
419 | KB_RALT, | 430 | KB_RALT, |
420 | KB_RGUI, | 431 | KB_RGUI, |
421 | 432 | ||
422 | /* NOTE: 0xE8-FF are used as special_keycodes */ | 433 | /* NOTE: 0xE8-FF are used for internal special purpose */ |
423 | }; | 434 | }; |
424 | 435 | ||
425 | #endif /* USB_KEYCODES_H */ | 436 | #endif /* USB_KEYCODES_H */ |