#include "backlight.h" #include "action_layer.h" #define FUNCTION_ENABLE_LAYER1 1 #define FUNCTION_ENABLE_LAYER2 2 #define FUNCTION_DISABLE_LAYER1 11 #define FUNCTION_DISABLE_LAYER2 12 static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty */ KEYMAP(\ ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, \ FN4, GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, \ FN3, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, DEL, END, PGDN, \ FN2, CLCK,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NUHS, ENT, FN5, FN6, FN7, \ FN1, LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, \ FN0, LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT ), /* 1: media keys */ KEYMAP(\ TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,SLEP, \ FN14,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,MUTE,VOLD,VOLU,TRNS, TRNS,TRNS,TRNS, \ FN13,TRNS,TRNS,UP ,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,MSTP,MPLY,MPRV,MNXT, TRNS,TRNS,TRNS, \ FN12,TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, ENT, TRNS,TRNS,TRNS, \ NO, TRNS,TRNS,TRNS,TRNS,CALC,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS, \ FN10,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS), /* 2: mouse keys */ KEYMAP(\ TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,SLEP, \ FN24,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,MUTE,VOLD,VOLU,TRNS, TRNS,TRNS,TRNS, \ FN23,TRNS,BTN1,MS_U,BTN2,TRNS,TRNS,TRNS,TRNS,TRNS,MSTP,MPLY,MPRV,MNXT, TRNS,TRNS,TRNS, \ FN22,TRNS,MS_L,MS_D,MS_R,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, ENT, TRNS,TRNS,TRNS, \ NO, TRNS,TRNS,TRNS,TRNS,CALC,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS, \ FN20,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS) }; static const uint16_t PROGMEM fn_actions[] = { [0] = ACTION_LAYER_MOMENTARY(1), [1] = ACTION_FUNCTION(FUNCTION_ENABLE_LAYER1), [10] = ACTION_FUNCTION(FUNCTION_DISABLE_LAYER1), [2] = ACTION_FUNCTION(FUNCTION_ENABLE_LAYER2), [20] = ACTION_FUNCTION(FUNCTION_DISABLE_LAYER2), }; void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { switch(id) { case FUNCTION_ENABLE_LAYER1: layer_on(1); backlight_enable_home(); backlight_enable_fn(); break; case FUNCTION_DISABLE_LAYER1: layer_off(1); backlight_disable_home(); backlight_disable_fn(); break; case FUNCTION_ENABLE_LAYER2: layer_on(2); backlight_enable_home(); backlight_enable_fn(); break; case FUNCTION_DISABLE_LAYER2: layer_off(2); backlight_disable_home(); backlight_disable_fn(); break; } }