-static uint16_t key2system(uint8_t key)
-{
- uint16_t usage = 0;
- switch (key) {
- case KC_SYSTEM_POWER:
- usage = SYSTEM_POWER_DOWN;
- break;
- case KC_SYSTEM_SLEEP:
- usage = SYSTEM_SLEEP;
- break;
- case KC_SYSTEM_WAKE:
- usage = SYSTEM_WAKE_UP;
- break;
- }
- return usage;
-}
-
-static uint16_t key2consumer(uint8_t key)
-{
- uint16_t usage = 0;
- switch (key) {
- case KC_AUDIO_MUTE:
- usage = AUDIO_MUTE;
- break;
- case KC_AUDIO_VOL_UP:
- usage = AUDIO_VOL_UP;
- break;
- case KC_AUDIO_VOL_DOWN:
- usage = AUDIO_VOL_DOWN;
- break;
- case KC_MEDIA_NEXT_TRACK:
- usage = TRANSPORT_NEXT_TRACK;
- break;
- case KC_MEDIA_PREV_TRACK:
- usage = TRANSPORT_PREV_TRACK;
- break;
- case KC_MEDIA_STOP:
- usage = TRANSPORT_STOP;
- break;
- case KC_MEDIA_PLAY_PAUSE:
- usage = TRANSPORT_PLAY_PAUSE;
- break;
- case KC_MEDIA_SELECT:
- usage = AL_CC_CONFIG;
- break;
- case KC_MAIL:
- usage = AL_EMAIL;
- break;
- case KC_CALCULATOR:
- usage = AL_CALCULATOR;
- break;
- case KC_MY_COMPUTER:
- usage = AL_LOCAL_BROWSER;
- break;
- case KC_WWW_SEARCH:
- usage = AC_SEARCH;
- break;
- case KC_WWW_HOME:
- usage = AC_HOME;
- break;
- case KC_WWW_BACK:
- usage = AC_BACK;
- break;
- case KC_WWW_FORWARD:
- usage = AC_FORWARD;
- break;
- case KC_WWW_STOP:
- usage = AC_STOP;
- break;
- case KC_WWW_REFRESH:
- usage = AC_REFRESH;
- break;
- case KC_WWW_FAVORITES:
- usage = AC_BOOKMARKS;
- break;
- }
- return usage;
-}
+/* keycode to system usage */
+#define KEYCODE2SYSTEM(key) \
+ (key == KC_SYSTEM_POWER ? SYSTEM_POWER_DOWN : \
+ (key == KC_SYSTEM_SLEEP ? SYSTEM_SLEEP : \
+ (key == KC_SYSTEM_WAKE ? SYSTEM_WAKE_UP : 0)))
+
+/* keycode to consumer usage */
+#define KEYCODE2CONSUMER(key) \
+ (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_WWW_FAVORITES ? AC_BOOKMARKS : 0)))))))))))))))))))))