core: Add mousekey support to ACTION_KEY() #675
ACT_MOUSEKEY can be removed but kept for backward compatibility.
Mousekeys work with ACTION_KEY(), ACTION_MODS_KEY(), ACTION_MODS_TAP_KEY() now.
But not completely with ACTION_LAYER_TAP_KEY(),
layer_param_bit_op { OP_TAP_TOGGLE, OP_ON_OFF, OP_OFF_ON, OP_SET_CLEAR }
overlaps with mousekeys KC_MS_* paritally(F0-F3).
This commit is contained in:
parent
b2f1c807f1
commit
002537b8ea
4 changed files with 45 additions and 34 deletions
|
|
@ -454,6 +454,12 @@ void register_code(uint8_t code)
|
|||
wait_ms(50);
|
||||
bootloader_jump();
|
||||
}
|
||||
#ifdef MOUSEKEY_ENABLE
|
||||
else if IS_MOUSEKEY(code) {
|
||||
mousekey_on(code);
|
||||
mousekey_send();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void unregister_code(uint8_t code)
|
||||
|
|
@ -503,6 +509,12 @@ void unregister_code(uint8_t code)
|
|||
else if IS_CONSUMER(code) {
|
||||
host_consumer_send(0);
|
||||
}
|
||||
#ifdef MOUSEKEY_ENABLE
|
||||
else if IS_MOUSEKEY(code) {
|
||||
mousekey_off(code);
|
||||
mousekey_send();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void type_code(uint8_t code)
|
||||
|
|
|
|||
|
|
@ -229,7 +229,6 @@ enum usage_pages {
|
|||
};
|
||||
#define ACTION_USAGE_SYSTEM(id) ACTION(ACT_USAGE, PAGE_SYSTEM<<10 | (id))
|
||||
#define ACTION_USAGE_CONSUMER(id) ACTION(ACT_USAGE, PAGE_CONSUMER<<10 | (id))
|
||||
#define ACTION_MOUSEKEY(key) ACTION(ACT_MOUSEKEY, key)
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -287,22 +287,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define AC_BRIGHTNESS_DEC ACTION_USAGE_CONSUMER(BRIGHTNESS_DECREMENT)
|
||||
|
||||
/* Mousekey */
|
||||
#define AC_MS_UP ACTION_MOUSEKEY(KC_MS_UP)
|
||||
#define AC_MS_DOWN ACTION_MOUSEKEY(KC_MS_DOWN)
|
||||
#define AC_MS_LEFT ACTION_MOUSEKEY(KC_MS_LEFT)
|
||||
#define AC_MS_RIGHT ACTION_MOUSEKEY(KC_MS_RIGHT)
|
||||
#define AC_MS_BTN1 ACTION_MOUSEKEY(KC_MS_BTN1)
|
||||
#define AC_MS_BTN2 ACTION_MOUSEKEY(KC_MS_BTN2)
|
||||
#define AC_MS_BTN3 ACTION_MOUSEKEY(KC_MS_BTN3)
|
||||
#define AC_MS_BTN4 ACTION_MOUSEKEY(KC_MS_BTN4)
|
||||
#define AC_MS_BTN5 ACTION_MOUSEKEY(KC_MS_BTN5)
|
||||
#define AC_MS_WH_UP ACTION_MOUSEKEY(KC_MS_WH_UP)
|
||||
#define AC_MS_WH_DOWN ACTION_MOUSEKEY(KC_MS_WH_DOWN)
|
||||
#define AC_MS_WH_LEFT ACTION_MOUSEKEY(KC_MS_WH_LEFT)
|
||||
#define AC_MS_WH_RIGHT ACTION_MOUSEKEY(KC_MS_WH_RIGHT)
|
||||
#define AC_MS_ACCEL0 ACTION_MOUSEKEY(KC_MS_ACCEL0)
|
||||
#define AC_MS_ACCEL1 ACTION_MOUSEKEY(KC_MS_ACCEL1)
|
||||
#define AC_MS_ACCEL2 ACTION_MOUSEKEY(KC_MS_ACCEL2)
|
||||
#define AC_MS_UP ACTION_KEY(KC_MS_UP)
|
||||
#define AC_MS_DOWN ACTION_KEY(KC_MS_DOWN)
|
||||
#define AC_MS_LEFT ACTION_KEY(KC_MS_LEFT)
|
||||
#define AC_MS_RIGHT ACTION_KEY(KC_MS_RIGHT)
|
||||
#define AC_MS_BTN1 ACTION_KEY(KC_MS_BTN1)
|
||||
#define AC_MS_BTN2 ACTION_KEY(KC_MS_BTN2)
|
||||
#define AC_MS_BTN3 ACTION_KEY(KC_MS_BTN3)
|
||||
#define AC_MS_BTN4 ACTION_KEY(KC_MS_BTN4)
|
||||
#define AC_MS_BTN5 ACTION_KEY(KC_MS_BTN5)
|
||||
#define AC_MS_WH_UP ACTION_KEY(KC_MS_WH_UP)
|
||||
#define AC_MS_WH_DOWN ACTION_KEY(KC_MS_WH_DOWN)
|
||||
#define AC_MS_WH_LEFT ACTION_KEY(KC_MS_WH_LEFT)
|
||||
#define AC_MS_WH_RIGHT ACTION_KEY(KC_MS_WH_RIGHT)
|
||||
#define AC_MS_ACCEL0 ACTION_KEY(KC_MS_ACCEL0)
|
||||
#define AC_MS_ACCEL1 ACTION_KEY(KC_MS_ACCEL1)
|
||||
#define AC_MS_ACCEL2 ACTION_KEY(KC_MS_ACCEL2)
|
||||
|
||||
/* Command */
|
||||
#define AC_BOOTLOADER ACTION_COMMAND(COMMAND_BOOTLOADER, 0)
|
||||
|
|
@ -388,22 +388,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define AC_AGIN ACTION_KEY(KC_AGAIN)
|
||||
#define AC_PSTE ACTION_KEY(KC_PASTE)
|
||||
/* Mousekey */
|
||||
#define AC_MS_U ACTION_MOUSEKEY(KC_MS_UP)
|
||||
#define AC_MS_D ACTION_MOUSEKEY(KC_MS_DOWN)
|
||||
#define AC_MS_L ACTION_MOUSEKEY(KC_MS_LEFT)
|
||||
#define AC_MS_R ACTION_MOUSEKEY(KC_MS_RIGHT)
|
||||
#define AC_BTN1 ACTION_MOUSEKEY(KC_MS_BTN1)
|
||||
#define AC_BTN2 ACTION_MOUSEKEY(KC_MS_BTN2)
|
||||
#define AC_BTN3 ACTION_MOUSEKEY(KC_MS_BTN3)
|
||||
#define AC_BTN4 ACTION_MOUSEKEY(KC_MS_BTN4)
|
||||
#define AC_BTN5 ACTION_MOUSEKEY(KC_MS_BTN5)
|
||||
#define AC_WH_U ACTION_MOUSEKEY(KC_MS_WH_UP)
|
||||
#define AC_WH_D ACTION_MOUSEKEY(KC_MS_WH_DOWN)
|
||||
#define AC_WH_L ACTION_MOUSEKEY(KC_MS_WH_LEFT)
|
||||
#define AC_WH_R ACTION_MOUSEKEY(KC_MS_WH_RIGHT)
|
||||
#define AC_ACL0 ACTION_MOUSEKEY(KC_MS_ACCEL0)
|
||||
#define AC_ACL1 ACTION_MOUSEKEY(KC_MS_ACCEL1)
|
||||
#define AC_ACL2 ACTION_MOUSEKEY(KC_MS_ACCEL2)
|
||||
#define AC_MS_U ACTION_KEY(KC_MS_UP)
|
||||
#define AC_MS_D ACTION_KEY(KC_MS_DOWN)
|
||||
#define AC_MS_L ACTION_KEY(KC_MS_LEFT)
|
||||
#define AC_MS_R ACTION_KEY(KC_MS_RIGHT)
|
||||
#define AC_BTN1 ACTION_KEY(KC_MS_BTN1)
|
||||
#define AC_BTN2 ACTION_KEY(KC_MS_BTN2)
|
||||
#define AC_BTN3 ACTION_KEY(KC_MS_BTN3)
|
||||
#define AC_BTN4 ACTION_KEY(KC_MS_BTN4)
|
||||
#define AC_BTN5 ACTION_KEY(KC_MS_BTN5)
|
||||
#define AC_WH_U ACTION_KEY(KC_MS_WH_UP)
|
||||
#define AC_WH_D ACTION_KEY(KC_MS_WH_DOWN)
|
||||
#define AC_WH_L ACTION_KEY(KC_MS_WH_LEFT)
|
||||
#define AC_WH_R ACTION_KEY(KC_MS_WH_RIGHT)
|
||||
#define AC_ACL0 ACTION_KEY(KC_MS_ACCEL0)
|
||||
#define AC_ACL1 ACTION_KEY(KC_MS_ACCEL1)
|
||||
#define AC_ACL2 ACTION_KEY(KC_MS_ACCEL2)
|
||||
/* Sytem Control */
|
||||
#define AC_PWR ACTION_USAGE_SYSTEM(SYSTEM_POWER_DOWN)
|
||||
#define AC_SLEP ACTION_USAGE_SYSTEM(SYSTEM_SLEEP)
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ static action_t keycode_to_action(uint8_t keycode)
|
|||
return (action_t)ACTION_USAGE_CONSUMER(KEYCODE2CONSUMER(keycode));
|
||||
break;
|
||||
case KC_MS_UP ... KC_MS_ACCEL2:
|
||||
return (action_t)ACTION_MOUSEKEY(keycode);
|
||||
return (action_t)ACTION_KEY(keycode);
|
||||
break;
|
||||
case KC_TRNS:
|
||||
return (action_t)ACTION_TRANSPARENT;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue