~mlb/gergo_replicant

ref: 7d370b42b4ba7989e99b52172df2358c4b2a207f gergo_replicant/keymap.c -rw-r--r-- 15.1 KiB
7d370b42Matías Larre Borges Prettified keyboard layout in comments 8 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/* Good on you for modifying your layout! if you don't have
 * time to read the QMK docs, a list of keycodes can be found at
 *
 * https://github.com/qmk/qmk_firmware/blob/master/docs/keycodes.md
 *
 * There's also a template for adding new layers at the bottom of this file!
 */

#include QMK_KEYBOARD_H

#define BASE 0 // default layer
#define SYMB 1 // symbols
#define NUMB 2 // numbers/motion

// Blank template at the bottom

enum customKeycodes {
	URL  = 1
};


const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
 *
 * ╭────────┬──────┬──────┬──────┬──────┬──────╮                         ╭──────┬──────┬──────┬──────┬──────┬────────╮
 * │ L1/ESC │   Q  │   W  │   E  │   R  │   T  │                         │   Y  │   U  │   I  │   O  │   P  │  \ |   │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────╮           ╭──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │Ctrl/TAB│   A  │   S  │   D  │   F  │   G  │ =    │           │ LEAD │   H  │   J  │   K  │   L  │ ;  : │  ' "   │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────┤           ├──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │ LShift │   Z  │   X  │   C  │   V  │   B  │ ` ~  │           │      │   N  │   M  │ ,  < │ . >  │ /  ? │  - _   │
 * ╰────────┴──────┴──────┴──────┴──────┴──────┴──────╯           ╰──────┴──────┴──────┴──────┴──────┴──────┴────────╯
 *                    ╭──────────╮   ╭───────╮                                 ╭──────╮   ╭─────╮
 *                    │ Super    │   │Ent/ALT│                                 │ Space│   │BKSP │
 *                    ╰──────────╯   ╰───────╯                                 ╰──────╯   ╰─────╯
 *                                        ╭───────╮                      ╭───────╮
 *                                        │ MMB   │                      │ PgDn  │
 *                                 ╭──────┼───────┤                      ├───────┼──────╮
 *                                 │ NUMB │ SYMB  │                      │ SYMB  │ NUMB │
 *                                 │ Space│ Escape│                      │ Tab   │Enter │
 *                                 │      │       │                      │       │      │
 *                                 ╰──────┴───────╯                      ╰───────┴──────╯
 */
[BASE] = LAYOUT_gergo(
LT(NUMB, KC_ESC)   , KC_Q,  KC_W,   KC_E,   KC_R, KC_T,                                                      KC_Y,   KC_U,    KC_I,    KC_O,    KC_P, KC_BSLS,
MT(MOD_LCTL, KC_TAB), KC_A,  KC_S,   KC_D,   KC_F, KC_G, KC_EQL,                                 KC_DEL,    KC_H,   KC_J,    KC_K,    KC_L, KC_SCLN, KC_QUOT,
KC_LSFT             , KC_Z,  KC_X,   KC_C,   KC_V, KC_B, KC_GRAVE, KC_BTN3,               KC_PGDN, KC_BSPC,   KC_N,   KC_M, KC_COMM,  KC_DOT, KC_SLSH, KC_MINS,
                               KC_LGUI, KC_LALT, LT(SYMB, KC_SPC), KC_LEAD,               LM(NUMB, MOD_LGUI), LT(NUMB, KC_ENT), KC_SPC, KC_BSPC
),
/* Keymap 1: Symbols layer
 *
 * ╭────────┬──────┬──────┬──────┬──────┬──────╮                         ╭──────┬──────┬──────┬──────┬──────┬────────╮
 * │        │  !   │  @   │  {   │  }   │  |   │                         │      │      │      │      │      │  \ |   │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────╮           ╭──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │        │  #   │  $   │  (   │  )   │  `   │      │           │      │   +  │  ─   │  /   │  *   │  %   │  ' "   │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────┤           ├──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │        │  %   │  ^   │  [   │  ]   │  ~   │      │           │      │   &  │  =   │  ,   │  .   │  / ? │ ─ _    │
 * ╰────────┴──────┴──────┴──────┴──────┴──────┴──────╯           ╰──────┴──────┴──────┴──────┴──────┴──────┴────────╯
 *                        ╭──────╮   ╭──────╮                                 ╭──────╮   ╭─────╮
 *                        │      │   │      │                                 │      │   │ DEL │
 *                        ╰──────╯   ╰──────╯                                 ╰──────╯   ╰─────╯
 *                                        ╭───────╮                     ╭───────╮
 *                                        │       │                     │ PgUp  │
 *                                 ╭──────┼───────┤                     ├───────┼──────╮
 *                                 │      │       │                     │       │      │
 *                                 │   ;  │   =   │                     │   =   │   ;  │
 *                                 │      │       │                     │       │      │
 *                                 ╰──────┴───────╯                     ╰───────┴──────╯
 */
[SYMB] = LAYOUT_gergo(
    KC_TRNS, KC_EXLM, KC_AT,   KC_LCBR, KC_RCBR, KC_PIPE,                                            KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSLS,
    KC_TRNS, KC_HASH, KC_DLR,  KC_LPRN, KC_RPRN, KC_GRV,  KC_TRNS,                          KC_TRNS, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT,
    KC_TRNS, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_TRNS, KC_TRNS,        KC_TRNS, KC_TRNS, KC_AMPR, KC_EQL,  KC_COMM, KC_DOT,  KC_SLSH, KC_MINS,
                                        KC_TRNS, KC_TRNS, KC_SCLN, KC_EQL,         KC_EQL,  KC_SCLN, KC_PGUP, KC_DEL
    ),
/* Keymap 2: Pad/Function layer
 *
 * ╭────────┬──────┬──────┬──────┬──────┬──────╮                         ╭──────┬──────┬──────┬──────┬──────┬────────╮
 * │        │   1  │  2   │  3   │  4   │  5   │                         │  6   │  7   │  8   │  9   │  0   │        │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────╮           ╭──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │        │  F1  │ F2   │ F3   │ F4   │ F5   │ F6   │           │      │ LEFT │ DOWN │  UP  │ RIGHT│VolDn │ VolUp  │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────┤           ├──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │        │  F7  │ F8   │ F9   │ F10  │ F11  │ F12  │           │      │ MLFT │ MDWN │ MUP  │ MRGHT│Ply/Pa│  Skip  │
 * ╰────────┴──────┴──────┴──────┴──────┴──────┴──────╯           ╰──────┴──────┴──────┴──────┴──────┴──────┴────────╯
 *                        ╭──────╮   ╭──────╮                                 ╭──────╮   ╭─────╮
 *                        │      │   │      │                                 │      │   │     │
 *                        ╰──────╯   ╰──────╯                                 ╰──────╯   ╰─────╯
 *                                        ╭───────╮                     ╭───────╮
 *                                        │       │                     │ PgUp  │
 *                                 ╭──────┼───────┤                     ├───────┼──────╮
 *                                 │      │       │                     │       │      │
 *                                 │      │       │                     │       │      │
 *                                 │      │       │                     │       │      │
 *                                 ╰──────┴───────╯                     ╰───────┴──────╯
 */
[NUMB] = LAYOUT_gergo(
    KC_TRNS, KC_1, 	  KC_2,    KC_3,    KC_4,    KC_5,                                             KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_TRNS,
    KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,                         KC_TRNS,  KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_VOLD, KC_VOLU,
    KC_TRNS, KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,  KC_F12,  KC_TRNS,     KC_TRNS, KC_TRNS,  KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_MPLY, KC_MNXT,
                                        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,     KC_TRNS,  KC_TRNS, KC_TRNS, KC_TRNS
    ),
};

/* Keymap template
 *
 * ╭────────┬──────┬──────┬──────┬──────┬──────╮                         ╭──────┬──────┬──────┬──────┬──────┬────────╮
 * │        │      │      │      │      │      │                         │      │      │      │      │      │        │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────╮           ╭──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │        │      │      │      │      │      │      │           │      │      │      │      │      │      │        │
 * ├────────┼──────┼──────┼──────┼──────┼──────┼──────┤           ├──────┼──────┼──────┼──────┼──────┼──────┼────────┤
 * │        │      │      │      │      │      │      │           │      │      │      │      │      │      │        │
 * ╰────────┴──────┴──────┴──────┴──────┴──────┴──────╯           ╰──────┴──────┴──────┴──────┴──────┴──────┴────────╯
 *                        ╭──────╮   ╭──────╮                               ╭──────╮   ╭─────╮
 *                        │      │   │      │                               │      │   │     │
 *                        ╰──────╯   ╰──────╯                               ╰──────╯   ╰─────╯
 *                                        ╭───────╮                    ╭───────╮
 *                                        │       │                    │       │
 *                                 ╭──────┼───────┤                    ├───────┼──────╮
 *                                 │      │       │                    │       │      │
 *                                 │      │       │                    │       │      │
 *                                 │      │       │                    │       │      │
 *                                 ╰──────┴───────╯                    ╰───────┴──────╯
[SYMB] = LAYOUT_gergo(
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                                             KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,                           KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
                                        KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,         KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
    )
 */

LEADER_EXTERNS();

void matrix_scan_user(void) {
  LEADER_DICTIONARY() {
    leading = false;
    leader_end();

    // LEAD + i ->  í
    SEQ_ONE_KEY(KC_I) {
        SEND_STRING(SS_LALT("e")"i");
    }
    // LEAD + a ->  à
    SEQ_ONE_KEY(KC_A) {
        SEND_STRING(SS_LALT("`")"a");
    }

    // LEAD + no -> nooooooooooooooo
    SEQ_TWO_KEYS(KC_N, KC_O) {
      SEND_STRING("http://www.nooooooooooooooo.com/");
    }
  }
}