Browse Source

changed signature of keymap_fn_layer() in keymap_skel.h.

FIX: name of mousekey macros usb_keycodes.h.
tags/v1.9
tmk 13 years ago
parent
commit
3e56e80c7d
4 changed files with 13 additions and 15 deletions
  1. 7
    9
      key_process.c
  2. 1
    1
      keymap_skel.h
  3. 1
    1
      layer.c
  4. 4
    4
      usb_keycodes.h

+ 7
- 9
key_process.c View File

for (int col = 0; col < matrix_cols(); col++) { for (int col = 0; col < matrix_cols(); col++) {
if (!matrix_is_on(row, col)) continue; if (!matrix_is_on(row, col)) continue;


// TODO: clean code
uint8_t code = layer_get_keycode(row, col); uint8_t code = layer_get_keycode(row, col);
if (code == KB_NO) { if (code == KB_NO) {
// do nothing // do nothing
usb_keyboard_add_mod(code); usb_keyboard_add_mod(code);
} else if (IS_FN(code)) { } else if (IS_FN(code)) {
fn_bits |= FN_BIT(code); fn_bits |= FN_BIT(code);
} else if (IS_MOUSE(code)) {
}
#ifdef MOUSEKEY_ENABLE #ifdef MOUSEKEY_ENABLE
else if (IS_MOUSEKEY(code)) {
mousekey_decode(code); mousekey_decode(code);
#endif
} }
#endif
#ifdef USB_EXTRA_ENABLE #ifdef USB_EXTRA_ENABLE
// audio control & system control // audio control & system control
else if (code == KB_MUTE) { else if (code == KB_MUTE) {
_delay_ms(1000); _delay_ms(1000);
} }
#endif #endif

// normal keys
else {
// normal key
else if (IS_KEY(code)) {
usb_keyboard_add_key(code); usb_keyboard_add_key(code);
} else {
debug("ignore keycode: "); debug_hex(code); debug("\n");
} }
} }
} }
} }


#ifdef MOUSEKEY_ENABLE #ifdef MOUSEKEY_ENABLE
// mouse keys
mousekey_usb_send(); mousekey_usb_send();
#endif #endif


#ifdef PS2_MOUSE_ENABLE #ifdef PS2_MOUSE_ENABLE
// ps2 mouse
if (ps2_mouse_read() == 0) if (ps2_mouse_read() == 0)
ps2_mouse_usb_send(); ps2_mouse_usb_send();
#endif #endif

+ 1
- 1
keymap_skel.h View File

uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col); uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col);


/* layer to move during press Fn key */ /* 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 */ /* keycode to send when release Fn key without using */
uint8_t keymap_fn_keycode(uint8_t fn_bits); uint8_t keymap_fn_keycode(uint8_t fn_bits);

+ 1
- 1
layer.c View File

{ {
uint8_t code = keymap_get_keycode(current_layer, row, col); uint8_t code = keymap_get_keycode(current_layer, row, col);
// normal key or mouse key // normal key or mouse key
if ((IS_KEY(code) || IS_MOUSE(code))) {
if ((IS_KEY(code) || IS_MOUSEKEY(code))) {
layer_used = true; layer_used = true;
} }
return code; return code;

+ 4
- 4
usb_keycodes.h View File

#define IS_KEY(code) (KB_A <= (code) && (code) <= KP_HEXADECIMAL) #define IS_KEY(code) (KB_A <= (code) && (code) <= KP_HEXADECIMAL)
#define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI) #define IS_MOD(code) (KB_LCTRL <= (code) && (code) <= KB_RGUI)
#define IS_FN(code) (FN_0 <= (code) && (code) <= FN_7) #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 MOD_BIT(code) (1<<((code) & 0x07))
#define FN_BIT(code) (1<<((code) - FN_0)) #define FN_BIT(code) (1<<((code) - FN_0))

Loading…
Cancel
Save