diff options
Diffstat (limited to 'keyboards/keebio/iris/keymaps/dbroqua/keymap.c')
-rw-r--r-- | keyboards/keebio/iris/keymaps/dbroqua/keymap.c | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/keyboards/keebio/iris/keymaps/dbroqua/keymap.c b/keyboards/keebio/iris/keymaps/dbroqua/keymap.c new file mode 100644 index 000000000..fe19696e1 --- /dev/null +++ b/keyboards/keebio/iris/keymaps/dbroqua/keymap.c | |||
@@ -0,0 +1,124 @@ | |||
1 | |||
2 | #include QMK_KEYBOARD_H | ||
3 | |||
4 | extern keymap_config_t keymap_config; | ||
5 | |||
6 | #define _QWERTY 0 | ||
7 | #define _LOWER 1 | ||
8 | #define _RAISE 2 | ||
9 | |||
10 | enum custom_keycodes { | ||
11 | QWERTY = SAFE_RANGE, | ||
12 | LOWER, | ||
13 | RAISE, | ||
14 | }; | ||
15 | |||
16 | #define KC_ KC_TRNS | ||
17 | |||
18 | #define KC_LOWR LOWER | ||
19 | #define KC_RASE RAISE | ||
20 | #define KC_RST RESET | ||
21 | #define KC_DBUG DEBUG | ||
22 | |||
23 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
24 | |||
25 | [_QWERTY] = LAYOUT_kc( | ||
26 | /* | ||
27 | * ,-----+-----+-----+-----+-----+-----+ ,-----+-----+-----+-----+-----+-----+ | ||
28 | * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | | ||
29 | * |-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+ | ||
30 | * | TAB | Q | W | E | R | T | | Y | U | I | O | P | BSPC| | ||
31 | * +-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+ | ||
32 | * | LCTL| A | S | D | F | G | | H | J | K | L | ; | ' | | ||
33 | * +-----+-----+-----+-----+-----+-----+-----. ,-----+-----+-----+-----+-----+-----+-----+ | ||
34 | * | LSFT| Z | X | C | V | B | / \ | N | M | , | . | / | RSFT| | ||
35 | * +-----+-----+-----+--+--+-----+-----+ SPC/ \ ENT+-----+-----+--+--+-----+-----+-----+ | ||
36 | * \ LGUI| LOWR| / \ | RASE| LALT/ | ||
37 | * `-----+-----+-----' `-----+-----+----' | ||
38 | */ | ||
39 | ESC , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , GRV, | ||
40 | TAB , Q , W , E , R , T , Y , U , I , O , P ,BSPC, | ||
41 | LCTL, A , S , D , F , G , H , J , K , L ,SCLN,QUOT, | ||
42 | LSFT, Z , X , C , V , B , , , N , M ,COMM,DOT ,SLSH,RSFT, | ||
43 | LGUI,LOWR, SPC , ENT ,RASE,LALT | ||
44 | ), | ||
45 | |||
46 | [_LOWER] = LAYOUT_kc( | ||
47 | /* | ||
48 | * ,-----+-----+-----+-----+-----+-----+ ,-----+-----+-----+-----+-----+-----+ | ||
49 | * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BSPC| | ||
50 | * |-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+ | ||
51 | * | RST | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | | ||
52 | * +-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+ | ||
53 | * | DEL | | LEFT| RGHT| UP | [ | | ] | 4 | 5 | 6 | + | | | | ||
54 | * +-----+-----+-----+-----+-----+-----+-----. ,-----+-----+-----+-----+-----+-----+-----+ | ||
55 | * | | | | | DOWN| { | / \ | } | 1 | 2 | 3 | - | | | ||
56 | * +-----+-----+-----+--+--+-----+-----+ DEL/ \ DEL+-----+-----+--+--+-----+-----+-----+ | ||
57 | * \ | | / \ | | 0 / | ||
58 | * `-----+-----+-----' `-----+-----+----' | ||
59 | */ | ||
60 | TILD,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN,BSPC, | ||
61 | RST , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , | ||
62 | DEL , ,LEFT,RGHT, UP ,LBRC, RBRC, P4 , P5 , P6 ,PLUS,PIPE, | ||
63 | , , , ,DOWN,LCBR, , ,RCBR, P1 , P2 , P3 ,MINS, , | ||
64 | , ,DEL , DEL , , P0 | ||
65 | ), | ||
66 | |||
67 | [_RAISE] = LAYOUT_kc( | ||
68 | /* | ||
69 | * ,-----+-----+-----+-----+-----+-----+ ,-----+-----+-----+-----+-----+-----+ | ||
70 | * | F12 | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 | | ||
71 | * |-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+ | ||
72 | * | | ! | @ | # | $ | % | | ^ | & | * | ( | ) | | | ||
73 | * +-----+-----+-----+-----+-----+-----+ +-----+-----+-----+-----+-----+-----+ | ||
74 | * | | Prev| Next| Vol+| PgUp| _ | | = | Home| | | + | \ | | ||
75 | * +-----+-----+-----+-----+-----+-----+-----. ,-----+-----+-----+-----+-----+-----+-----+ | ||
76 | * | Mute| Stop| Play| Vol-| PgDn| - | / \ | + | End | | | |Debug| | ||
77 | * +-----+-----+-----+--+--+-----+-----+ / \ +-----+-----+--+--+-----+-----+-----+ | ||
78 | * \ | | / \ | | 0 / | ||
79 | * `-----+-----+-----' `-----+-----+----' | ||
80 | */ | ||
81 | F12 , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 ,F10 ,F11 , | ||
82 | ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, , | ||
83 | ,MPRV,MNXT,VOLU,PGUP,UNDS, EQL ,HOME, , , ,BSLS, | ||
84 | MUTE,MSTP,MPLY,VOLD,PGDN,MINS, , ,PLUS,END , , , ,DBUG, | ||
85 | , , , , , | ||
86 | ) | ||
87 | }; | ||
88 | |||
89 | void persistent_default_layer_set(uint16_t default_layer) { | ||
90 | eeconfig_update_default_layer(default_layer); | ||
91 | default_layer_set(default_layer); | ||
92 | } | ||
93 | |||
94 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
95 | switch (keycode) { | ||
96 | case QWERTY: | ||
97 | if (record->event.pressed) { | ||
98 | persistent_default_layer_set(1UL<<_QWERTY); | ||
99 | } | ||
100 | return false; | ||
101 | break; | ||
102 | case LOWER: | ||
103 | if (record->event.pressed) { | ||
104 | layer_on(_LOWER); | ||
105 | update_tri_layer(_LOWER, _RAISE, _QWERTY); | ||
106 | } else { | ||
107 | layer_off(_LOWER); | ||
108 | update_tri_layer(_LOWER, _RAISE, _QWERTY); | ||
109 | } | ||
110 | return false; | ||
111 | break; | ||
112 | case RAISE: | ||
113 | if (record->event.pressed) { | ||
114 | layer_on(_RAISE); | ||
115 | update_tri_layer(_LOWER, _RAISE, _QWERTY); | ||
116 | } else { | ||
117 | layer_off(_RAISE); | ||
118 | update_tri_layer(_LOWER, _RAISE, _QWERTY); | ||
119 | } | ||
120 | return false; | ||
121 | break; | ||
122 | } | ||
123 | return true; | ||
124 | } | ||