diff options
Diffstat (limited to 'tmk_core/common/report.h')
| -rw-r--r-- | tmk_core/common/report.h | 67 |
1 files changed, 64 insertions, 3 deletions
diff --git a/tmk_core/common/report.h b/tmk_core/common/report.h index 2a9dad881..ecd5da89a 100644 --- a/tmk_core/common/report.h +++ b/tmk_core/common/report.h | |||
| @@ -167,11 +167,72 @@ typedef struct { | |||
| 167 | } __attribute__((packed)) report_mouse_t; | 167 | } __attribute__((packed)) report_mouse_t; |
| 168 | 168 | ||
| 169 | /* keycode to system usage */ | 169 | /* keycode to system usage */ |
| 170 | #define KEYCODE2SYSTEM(key) (key == KC_SYSTEM_POWER ? SYSTEM_POWER_DOWN : (key == KC_SYSTEM_SLEEP ? SYSTEM_SLEEP : (key == KC_SYSTEM_WAKE ? SYSTEM_WAKE_UP : 0))) | 170 | static inline uint16_t KEYCODE2SYSTEM(uint8_t key) { |
| 171 | switch (key) { | ||
| 172 | case KC_SYSTEM_POWER: | ||
| 173 | return SYSTEM_POWER_DOWN; | ||
| 174 | case KC_SYSTEM_SLEEP: | ||
| 175 | return SYSTEM_SLEEP; | ||
| 176 | case KC_SYSTEM_WAKE: | ||
| 177 | return SYSTEM_WAKE_UP; | ||
| 178 | default: | ||
| 179 | return 0; | ||
| 180 | } | ||
| 181 | } | ||
| 171 | 182 | ||
| 172 | /* keycode to consumer usage */ | 183 | /* keycode to consumer usage */ |
| 173 | #define KEYCODE2CONSUMER(key) \ | 184 | static inline uint16_t KEYCODE2CONSUMER(uint8_t key) { |
| 174 | (key == KC_AUDIO_MUTE ? AUDIO_MUTE : (key == KC_AUDIO_VOL_UP ? AUDIO_VOL_UP : (key == KC_AUDIO_VOL_DOWN ? AUDIO_VOL_DOWN : (key == KC_MEDIA_NEXT_TRACK ? TRANSPORT_NEXT_TRACK : (key == KC_MEDIA_PREV_TRACK ? TRANSPORT_PREV_TRACK : (key == KC_MEDIA_FAST_FORWARD ? TRANSPORT_FAST_FORWARD : (key == KC_MEDIA_REWIND ? TRANSPORT_REWIND : (key == KC_MEDIA_STOP ? TRANSPORT_STOP : (key == KC_MEDIA_EJECT ? TRANSPORT_STOP_EJECT : (key == KC_MEDIA_PLAY_PAUSE ? TRANSPORT_PLAY_PAUSE : (key == KC_MEDIA_SELECT ? AL_CC_CONFIG : (key == KC_MAIL ? AL_EMAIL : (key == KC_CALCULATOR ? AL_CALCULATOR : (key == KC_MY_COMPUTER ? AL_LOCAL_BROWSER : (key == KC_WWW_SEARCH ? AC_SEARCH : (key == KC_WWW_HOME ? AC_HOME : (key == KC_WWW_BACK ? AC_BACK : (key == KC_WWW_FORWARD ? AC_FORWARD : (key == KC_WWW_STOP ? AC_STOP : (key == KC_WWW_REFRESH ? AC_REFRESH : (key == KC_BRIGHTNESS_UP ? BRIGHTNESS_UP : (key == KC_BRIGHTNESS_DOWN ? BRIGHTNESS_DOWN : (key == KC_WWW_FAVORITES ? AC_BOOKMARKS : 0))))))))))))))))))))))) | 185 | switch (key) { |
| 186 | case KC_AUDIO_MUTE: | ||
| 187 | return AUDIO_MUTE; | ||
| 188 | case KC_AUDIO_VOL_UP: | ||
| 189 | return AUDIO_VOL_UP; | ||
| 190 | case KC_AUDIO_VOL_DOWN: | ||
| 191 | return AUDIO_VOL_DOWN; | ||
| 192 | case KC_MEDIA_NEXT_TRACK: | ||
| 193 | return TRANSPORT_NEXT_TRACK; | ||
| 194 | case KC_MEDIA_PREV_TRACK: | ||
| 195 | return TRANSPORT_PREV_TRACK; | ||
| 196 | case KC_MEDIA_FAST_FORWARD: | ||
| 197 | return TRANSPORT_FAST_FORWARD; | ||
| 198 | case KC_MEDIA_REWIND: | ||
| 199 | return TRANSPORT_REWIND; | ||
| 200 | case KC_MEDIA_STOP: | ||
| 201 | return TRANSPORT_STOP; | ||
| 202 | case KC_MEDIA_EJECT: | ||
| 203 | return TRANSPORT_STOP_EJECT; | ||
| 204 | case KC_MEDIA_PLAY_PAUSE: | ||
| 205 | return TRANSPORT_PLAY_PAUSE; | ||
| 206 | case KC_MEDIA_SELECT: | ||
| 207 | return AL_CC_CONFIG; | ||
| 208 | case KC_MAIL: | ||
| 209 | return AL_EMAIL; | ||
| 210 | case KC_CALCULATOR: | ||
| 211 | return AL_CALCULATOR; | ||
| 212 | case KC_MY_COMPUTER: | ||
| 213 | return AL_LOCAL_BROWSER; | ||
| 214 | case KC_WWW_SEARCH: | ||
| 215 | return AC_SEARCH; | ||
| 216 | case KC_WWW_HOME: | ||
| 217 | return AC_HOME; | ||
| 218 | case KC_WWW_BACK: | ||
| 219 | return AC_BACK; | ||
| 220 | case KC_WWW_FORWARD: | ||
| 221 | return AC_FORWARD; | ||
| 222 | case KC_WWW_STOP: | ||
| 223 | return AC_STOP; | ||
| 224 | case KC_WWW_REFRESH: | ||
| 225 | return AC_REFRESH; | ||
| 226 | case KC_BRIGHTNESS_UP: | ||
| 227 | return BRIGHTNESS_UP; | ||
| 228 | case KC_BRIGHTNESS_DOWN: | ||
| 229 | return BRIGHTNESS_DOWN; | ||
| 230 | case KC_WWW_FAVORITES: | ||
| 231 | return AC_BOOKMARKS; | ||
| 232 | default: | ||
| 233 | return 0; | ||
| 234 | } | ||
| 235 | } | ||
| 175 | 236 | ||
| 176 | uint8_t has_anykey(report_keyboard_t* keyboard_report); | 237 | uint8_t has_anykey(report_keyboard_t* keyboard_report); |
| 177 | uint8_t get_first_key(report_keyboard_t* keyboard_report); | 238 | uint8_t get_first_key(report_keyboard_t* keyboard_report); |
