#include "action.h" #include "actionmap.h" #include "hook.h" #include "fc660c.h" #define AC_L3 ACTION_LAYER_MOMENTARY(3) #define AC_L4 ACTION_LAYER_MOMENTARY(4) #define AC_LS_2 ACTION_LAYER_MODS(2, MOD_LSFT) #define AC_RS_2 ACTION_LAYER_MODS(2, MOD_RSFT) #define AC_TGL1 ACTION_LAYER_TOGGLE(1) // emulates FC660C default keymap #ifdef KEYMAP_SECTION_ENABLE const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = { #else const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { #endif [0] = KMAP( ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, LS_2,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RS_2,UP, LCTL,LGUI,LALT, SPC, RALT,RCTL,L3, LEFT,DOWN,RGHT ), [1] = KMAP( GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT,UP, LCTL,LGUI,LALT, SPC, RALT,RCTL,L4, LEFT,DOWN,RGHT ), [2] = KMAP( GRV, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS ), [3] = KMAP( GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, CAPS,TGL1,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,TRNS,TRNS, TRNS, TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,TRNS, TRNS,PGUP, TRNS,TRNS,TRNS, TRNS, TRNS,APP, L3, HOME,PGDN,END ), [4] = KMAP( ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, CAPS,TGL1,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,TRNS,TRNS, TRNS, TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,TRNS, TRNS,PGUP, TRNS,TRNS,TRNS, TRNS, TRNS,APP, L4, HOME,PGDN,END ), }; void hook_layer_change(uint32_t layer_state) { // lights LED on Insert when layer 1 is enabled if (layer_state & (1L<<1)) { PORTB &= ~(1<<5); } else { PORTB |= (1<<5); } }