FIX: name of mousekey macros usb_keycodes.h.
for (int col = 0; col < matrix_cols(); col++) {
if (!matrix_is_on(row, col)) continue;
- // TODO: clean code
uint8_t code = layer_get_keycode(row, col);
if (code == KB_NO) {
// do nothing
usb_keyboard_add_mod(code);
} else if (IS_FN(code)) {
fn_bits |= FN_BIT(code);
- } else if (IS_MOUSE(code)) {
+ }
#ifdef MOUSEKEY_ENABLE
+ else if (IS_MOUSEKEY(code)) {
mousekey_decode(code);
-#endif
}
-
+#endif
#ifdef USB_EXTRA_ENABLE
// audio control & system control
else if (code == KB_MUTE) {
_delay_ms(1000);
}
#endif
-
- // normal keys
- else {
+ // normal key
+ else if (IS_KEY(code)) {
usb_keyboard_add_key(code);
+ } else {
+ debug("ignore keycode: "); debug_hex(code); debug("\n");
}
}
}
}
#ifdef MOUSEKEY_ENABLE
- // mouse keys
mousekey_usb_send();
#endif
#ifdef PS2_MOUSE_ENABLE
- // ps2 mouse
if (ps2_mouse_read() == 0)
ps2_mouse_usb_send();
#endif
uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col);
/* layer to move during press Fn key */
-int keymap_fn_layer(uint8_t fn_bits);
+uint8_t keymap_fn_layer(uint8_t fn_bits);
/* keycode to send when release Fn key without using */
uint8_t keymap_fn_keycode(uint8_t fn_bits);
{
uint8_t code = keymap_get_keycode(current_layer, row, col);
// normal key or mouse key
- if ((IS_KEY(code) || IS_MOUSE(code))) {
+ if ((IS_KEY(code) || IS_MOUSEKEY(code))) {
layer_used = true;
}
return code;
#define IS_KEY(code) (KB_A <= (code) && (code) <= KP_HEXADECIMAL)
#define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI)
#define IS_FN(code) (FN_0 <= (code) && (code) <= FN_7)
-#define IS_MOUSE(code) (MS_UP <= (code) && (code) <= MS_WH_RIGHT)
-#define IS_MOUSE_MOVE(code) (MS_UP <= (code) && (code) <= MS_RIGHT)
-#define IS_MOUSE_BUTTON(code) (MS_BTN1 <= (code) && (code) <= MS_BTN5)
-#define IS_MOUSE_WHEEL(code) (MS_WH_UP <= (code) && (code) <= MS_WH_RIGHT)
+#define IS_MOUSEKEY(code) (MS_UP <= (code) && (code) <= MS_WH_RIGHT)
+#define IS_MOUSEKEY_MOVE(code) (MS_UP <= (code) && (code) <= MS_RIGHT)
+#define IS_MOUSEKEY_BUTTON(code) (MS_BTN1 <= (code) && (code) <= MS_BTN5)
+#define IS_MOUSEKEY_WHEEL(code) (MS_WH_UP <= (code) && (code) <= MS_WH_RIGHT)
#define MOD_BIT(code) (1<<((code) & 0x07))
#define FN_BIT(code) (1<<((code) - FN_0))