From f8a5eaa3fab683f630390c7ca553810db64d15d6 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sun, 24 Jan 2016 01:39:00 -0500 Subject: debugging --- quantum/keymap_common.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'quantum/keymap_common.c') diff --git a/quantum/keymap_common.c b/quantum/keymap_common.c index 6cc7adf51f..94588ef41c 100644 --- a/quantum/keymap_common.c +++ b/quantum/keymap_common.c @@ -26,14 +26,16 @@ along with this program. If not, see . #include "backlight.h" #include "keymap_midi.h" -static action_t keycode_to_action(uint16_t keycode); +static action_t keycode_to_action(uint32_t keycode); /* converts key to action */ action_t action_for_key(uint8_t layer, keypos_t key) { // 16bit keycodes - important - uint16_t keycode = keymap_key_to_keycode(layer, key); - + uint32_t keycode = keymap_key_to_keycode(layer, key); + dprintln(); + dprintf("keycode: %16X", keycode); + dprintln(); if (keycode >= 0x0100 && keycode < 0x2000) { // Has a modifier action_t action; @@ -126,10 +128,10 @@ action_t action_for_key(uint8_t layer, keypos_t key) action.code = ACTION_LAYER_TAP_KEY((keycode >> 0x8) & 0xF, keycode & 0xFF); return action; #ifdef UNICODE_ENABLE - } else if (keycode >= 0x8000000) { + } else if (keycode >= 0x9000) { action_t action; - uint16_t unicode = keycode & ~(0x8000); - action.code = ACTION_FUNCTION_OPT(unicode & 0xFF, (unicode & 0xFF00) >> 8); + action.code = keycode; + action.custom.kind = 0x8; return action; #endif } else { @@ -224,7 +226,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) } /* translates keycode to action */ -static action_t keycode_to_action(uint16_t keycode) +static action_t keycode_to_action(uint32_t keycode) { action_t action; switch (keycode) { @@ -253,19 +255,19 @@ static action_t keycode_to_action(uint16_t keycode) /* translates key to keycode */ -uint16_t keymap_key_to_keycode(uint8_t layer, keypos_t key) +uint32_t keymap_key_to_keycode(uint8_t layer, keypos_t key) { - // Read entire word (16bits) - return pgm_read_word(&keymaps[(layer)][(key.row)][(key.col)]); + // Read dword (32bits) + return pgm_read_dword(&keymaps[(layer)][(key.row)][(key.col)]); } /* translates Fn keycode to action */ -action_t keymap_fn_to_action(uint16_t keycode) +action_t keymap_fn_to_action(uint32_t keycode) { return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) }; } -action_t keymap_func_to_action(uint16_t keycode) +action_t keymap_func_to_action(uint32_t keycode) { // For FUNC without 8bit limit return (action_t){ .code = pgm_read_word(&fn_actions[(int)keycode]) }; -- cgit v1.2.3