X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=common%2Fkeymap.h;h=4c3019a364c2dfad5b6194409bf1bacfb71c3a64;hb=eb90ed6238426db9367e294abfaefb5de07564f5;hp=f992be18e8f112705fc644129714636b8211a813;hpb=411de9cc22e927313a5a768f3bf41f2f99bca126;p=max%2Ftmk_keyboard.git diff --git a/common/keymap.h b/common/keymap.h index f992be18..4c3019a3 100644 --- a/common/keymap.h +++ b/common/keymap.h @@ -22,18 +22,50 @@ along with this program. If not, see . #include #include "action.h" + +#ifdef BOOTMAGIC_ENABLE +/* NOTE: Not portable. Bit field order depends on implementation */ +typedef union { + uint8_t raw; + struct { + bool swap_control_capslock:1; + bool capslock_to_control:1; + bool swap_lalt_lgui:1; + bool swap_ralt_rgui:1; + bool no_gui:1; + bool swap_grave_esc:1; + bool swap_backslash_backspace:1; + bool nkro:1; + }; +} keymap_config_t; +keymap_config_t keymap_config; +#endif + + +/* translates key to keycode */ +uint8_t keymap_key_to_keycode(uint8_t layer, key_t key); + +/* translates Fn keycode to action */ +action_t keymap_fn_to_action(uint8_t keycode); + + + +#ifdef USE_LEGACY_KEYMAP /* - * legacy keymap interface: keycode + * Legacy keymap + * Consider using new keymap API above instead. */ +/* keycode of key */ +__attribute__ ((deprecated)) uint8_t keymap_get_keycode(uint8_t layer, uint8_t row, uint8_t col); + /* layer to move during press Fn key */ +__attribute__ ((deprecated)) uint8_t keymap_fn_layer(uint8_t fn_bits); + /* keycode to send when release Fn key without using */ +__attribute__ ((deprecated)) uint8_t keymap_fn_keycode(uint8_t fn_bits); - -/* - * new keymap interface: action - */ -action_t keymap_get_action(uint8_t layer, uint8_t row, uint8_t col); +#endif #endif