1 #include QMK_KEYBOARD_H
16 #include "dynamic_macro.h"
18 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
21 * ,-----------------------------------------------------------------------------------.
22 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
23 * |------+------+------+------+------+-------------+------+------+------+------+------|
24 * |Esc/Fn| A | S | D | F | G | H | J | K | L | ; | Del |
25 * |------+------+------+------+------+------|------+------+------+------+------+------|
26 * | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
27 * |------+------+------+------+------+------+------+------+------+------+------+------|
28 * | Ctrl | GUI | Alt | \| |Lower |Sp/Num|Space |Raise |AltGr | Left | Down |Right |
29 * `-----------------------------------------------------------------------------------'
31 [_BASE] = LAYOUT_ortho_4x12(
32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
33 LT(_FN, KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_DEL,
34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
35 KC_LCTL, KC_LGUI, KC_LALT, KC_NUBS, MO(_LOWER), LT(_NUM, KC_SPC), KC_SPC, MO(_RAISE), KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
39 * Function keys, navigation
40 * ,-----------------------------------------------------------------------------------.
41 * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
42 * |------+------+------+------+------+-------------+------+------+------+------+------|
43 * | | | | | | | | | | | | Ins |
44 * |------+------+------+------+------+------|------+------+------+------+------+------|
45 * | |CapsLk| |PrtSc |ScrLk |Pause | | | | | PgUp | |
46 * |------+------+------+------+------+------+------+------+------+------+------+------|
47 * | | | | | | | | | Menu | Home | PgDn | End |
48 * `-----------------------------------------------------------------------------------'
50 [_LOWER] = LAYOUT_ortho_4x12(
51 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
52 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
53 _______, KC_CAPS, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, KC_PGUP, _______,
54 _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, KC_HOME, KC_PGDN, KC_END
58 * National characters, special characters
59 * ,-----------------------------------------------------------------------------------.
60 * | +1 | ě2 | š3 | č4 | ř5 | ž6 | ý7 | á8 | í9 | é0 | ´ | ˇ |
61 * |------+------+------+------+------+-------------+------+------+------+------+------|
62 * | ;° | | | | | | ( | ) | § | ! | ú | / |
63 * |------+------+------+------+------+------|------+------+------+------+------+------|
64 * | | | | | | | % | = | ¨ | ' | - | _ |
65 * |------+------+------+------+------+------+------+------+------+------+------+------|
66 * | | | | | | | | | | | | |
67 * `-----------------------------------------------------------------------------------'
69 [_RAISE] = LAYOUT_ortho_4x12(
70 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, LSFT(KC_EQL),
71 KC_GRV, _______, _______, _______, _______, _______, LSFT(KC_RBRC), KC_RBRC, KC_QUOT, LSFT(KC_QUOT), KC_LBRC, LSFT(KC_LBRC),
72 _______, _______, _______, _______, _______, _______, LSFT(KC_MINS), KC_MINS, KC_BSLS, LSFT(KC_BSLS), KC_SLSH, LSFT(KC_SLSH),
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
76 /* Numbers layer - numpad (3)
77 * ,-----------------------------------------------------------------------------------.
78 * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | |
79 * |------+------+------+------+------+-------------+------+------+------+------+------|
80 * | | | | | | | | 4 | 5 | 6 | / | |
81 * |------+------+------+------+------+------|------+------+------+------+------+------|
82 * | |NumLk | | | | | | 1 | 2 | 3 | * | |
83 * |------+------+------+------+------+------+------+------+------+------+------+------|
84 * | | | | | | | | . | 0 | + | - | |
85 * `-----------------------------------------------------------------------------------'
87 [_NUM] = LAYOUT_ortho_4x12(
88 _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, _______,
89 _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PSLS, _______,
90 _______, KC_NLCK, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PAST, _______,
91 _______, _______, _______, _______, _______, _______, _______, KC_DOT, KC_KP_0, KC_PPLS, KC_PMNS, _______
95 * Backlighting, keyboard controls, etc.
96 * m_ - music, r_ - RGB + backlight, f_ - macro
97 * ,-----------------------------------------------------------------------------------.
98 * | | r_BL | |Sleep | | | |f_Rec1|f_Pla1|f_Stop| |m_Vol+|
99 * |------+------+------+------+------+-------------+------+------+------+------+------|
100 * | |r_VLK |r_Mod+|r_Hue+|r_Sat+|r_Bri+| |f_Rec2|f_Pla2| | |m_Vol-|
101 * |------+------+------+------+------+------|------+------+------+------+------+------|
102 * | |r_TOG |r_Mod-|r_Hue-|r_Sat-|r_Bri-| | | | |m_Stop|m_Mute|
103 * |------+------+------+------+------+------+------+------+------+------+------+------|
104 * | Reset| | | | |C+A+D |C+A+I | | |m_Prev|m_Paus|m_Next|
105 * `-----------------------------------------------------------------------------------'
107 [_FN] = LAYOUT_ortho_4x12(
108 _______, BL_STEP, _______, KC_SLEP, _______, _______, _______, DYN_REC_START1, DYN_MACRO_PLAY1, DYN_REC_STOP, _______, KC_VOLU,
109 _______, VLK_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, DYN_REC_START2, DYN_MACRO_PLAY2, _______, _______, KC_VOLD,
110 _______, RGB_TOG, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MSTP, KC_MUTE,
111 RESET, _______, _______, _______, _______, LCA(KC_DEL), LCA(KC_INS), _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
116 void matrix_init_user(void) {
120 void matrix_scan_user(void) {
124 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
125 if (!process_record_dynamic_macro(keycode, record)) {
131 void led_set_user(uint8_t usb_led) {