3 /* Mike's Layout for JD45 with backlight LEDs acting as layer indicator
6 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
8 TAB, Q, W, E, R, T, Y, U, I, O, P, MINS, BSLS,
9 FN1, A, S, D, F, G, H, J, K, L, QUOT, ENT,
10 FN0, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT,
11 NO, LCTL, LALT, LGUI, SPC, BSPC, APP, FN2, ESC, NO ),
13 GRV, TRNS, UP, TRNS, 7, 8, 9, 0, MINS, EQL, PSCR, LBRC, RBRC,
14 TRNS, LEFT, DOWN, RGHT, 4, 5, 6, INS, HOME, PGUP, SCLN, TRNS,
15 TRNS, TRNS, TRNS, TRNS, 1, 2, 3, DEL, END, PGDN, TRNS, TRNS,
16 TRNS, TRNS, TRNS, SPC, TRNS, DEL, TRNS, FN3, TRNS, TRNS ),
18 TRNS, TRNS, VOLU, TRNS, F7, F8, F9, F10, F11, F12, PSCR, FN3, FN4,
19 TRNS, MPRV, VOLD, MNXT, F4, F5, F6, J, K, L, SCLN, TRNS,
20 TRNS, TRNS, TRNS, TRNS, F1, F2, F3, MUTE, MPRV, MNXT, MSTP, TRNS,
21 TRNS, TRNS, TRNS, LGUI, TRNS, TRNS, TRNS, TRNS, PAUS, TRNS )
24 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
25 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
26 TRNS, TRNS, TRNS, TRNS, TRNS, BTLD, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS,
27 TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS )*/
35 const uint16_t PROGMEM fn_actions[] = {
36 [0] = ACTION_MODS_TAP_TOGGLE(MOD_LSFT),
37 // [1] = ACTION_LAYER_TAP_TOGGLE(1),
38 [1] = ACTION_MACRO(M_LAYER1),
39 [2] = ACTION_LAYER_TAP_TOGGLE(2),
40 [3] = ACTION_BACKLIGHT_STEP(),
41 [4] = ACTION_BACKLIGHT_TOGGLE()
44 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
46 // MACRODOWN only works in this function
49 // need to add a timer for doubletap: https://github.com/jackhumbert/qmk_firmware/wiki#timer-functionality
50 // action_function_tap may also handle this...
51 if (record->event.pressed)
53 breathing_period_set(3);
59 breathing_period_set(1);
60 breathing_self_disable();
65 if (record->event.pressed)
67 breathing_period_set(2);
73 breathing_period_set(1);
74 breathing_self_disable();