aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavlos Vinieratos <pvinis@gmail.com>2020-04-13 20:59:04 +0200
committerGitHub <noreply@github.com>2020-04-13 11:59:04 -0700
commitf6b40da7f854d461f30a3e525f4e36e51dac5db4 (patch)
tree84f56671b52ae7a33913e672e22300ba90a63da5
parent6fb048fdafe58897f64efa8c4b9455bbcb992110 (diff)
downloadqmk_firmware-f6b40da7f854d461f30a3e525f4e36e51dac5db4.tar.gz
qmk_firmware-f6b40da7f854d461f30a3e525f4e36e51dac5db4.zip
update pvinis keymap (#8746)
* update a bunch of stuff Better rules, better config, added encoders, lights, audio. * some fmt * more fmt
-rw-r--r--keyboards/ergodox_ez/keymaps/pvinis/keymap.c411
-rw-r--r--keyboards/keebio/iris/keymaps/pvinis/config.h36
-rw-r--r--keyboards/keebio/iris/keymaps/pvinis/keymap.c267
-rw-r--r--keyboards/keebio/iris/keymaps/pvinis/rules.mk11
-rw-r--r--users/pvinis/config.h9
-rw-r--r--users/pvinis/pvinis.c127
-rw-r--r--users/pvinis/pvinis.h228
-rw-r--r--users/pvinis/rules.mk34
8 files changed, 631 insertions, 492 deletions
diff --git a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
index dc804d632..c4b1b3b82 100644
--- a/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/pvinis/keymap.c
@@ -1,38 +1,36 @@
1// pvinis ergodox ez 1// pvinis ergodox ez
2// ,------------------------------------. ,------------------------------------. 2// ,------------------------------------. ┌────┬────┬────┬────┬────┬────┬──────┐
3// | | | | | | | | | | | | | | | | 3// | | | | | | | | │ │ │ │ │ │ │ │
4// |------+----+----+----+----+---------| |----+----+----+----+----+----+------| 4// |------+----+----+----+----+---------| ├────┼────┼────┼────┼────┼────┼──────┤
5// | | | | | | | | | | | | | | | | 5// | | | | | | | | │ │ │ │ │ │ │ │
6// |------+----+----+----x----x----| | | |----x----x----+----+----+------| 6// |------+----+----+----x----x----| | │ ├────╆━━━━╅────┼────┼────┼──────┤
7// | | | | | | |----| |----| | | | | | | 7// | | | | | | |----| ├────┤ ┃ ┃ │ │ │ │
8// |------+----+----+----x----x----| | | |----x----x----+----+----+------| 8// |------+----+----+----x----x----| | │ ├────╄━━━━╃────┼────┼────┼──────┤
9// | | | | | | | | | | | | | | | | 9// | | | | | | | | │ │ │ │ │ │ │ │
10// `------+----+----+----+----+---------' `---------+----+----+----+----+------' 10// `------+----+----+----+----+---------' └────┴────┼────┼────┼────┼────┼────┬─┘
11// | | | | | | | | | | | | 11// | | | | | | │ │ │ │ │ │
12// `------------------------' `------------------------' 12// `------------------------' └────┴────┴────┴────┴────┘
13// ,---------. ,---------. 13// ,---------. ┌────┬────┐
14// | | | | | | 14// | | | │ │ │
15// ,----+----+----| |----+----+----. 15// ,----+----+----| ├────┼────┼────┐
16// | | | | | | | | 16// | | | | │ │ │ │
17// | | |----| |----| | | 17// | | |----| ├────┤ │ │
18// | | | | | | | | 18// | | | | │ │ │ │
19// `--------------' `--------------' 19// `--------------' └────┴────┴────┘
20
21 20
22#include QMK_KEYBOARD_H 21#include QMK_KEYBOARD_H
23#include "pvinis.h" 22#include "pvinis.h"
24#include "mousekey.h" 23#include "mousekey.h"
25 24
26
27// layers 25// layers
28enum { 26enum {
29 MOUSE = 8, 27 MOUSE = 8,
30}; 28};
31 29
32// extra keys 30// extra keys
33enum { 31enum {
34 NONE = 30, 32 NONE = 30,
35 TD_LAYR, // SYSCTL and MOUSE layer switch 33 TD_LAYR, // SYSCTL and MOUSE layer switch
36}; 34};
37 35
38// application selection 36// application selection
@@ -41,158 +39,170 @@ enum {
41#define AP_XCOD ALLM(KC_X) 39#define AP_XCOD ALLM(KC_X)
42#define AP_MSGR ALLM(KC_M) 40#define AP_MSGR ALLM(KC_M)
43 41
44
45const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 42const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
46 // ,------------------------------------. ,------------------------------------. 43 // ,------------------------------------. ,------------------------------------.
47 // |4xFLSH| | | | | |Opt | | | | | | | | | 44 // |4xFLSH| | | | | |Opt | | | | | | | | |
48 // |------+----+----+----+----+---------| |----+----+----+----+----+----+------| 45 // |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
49 // | Tab | | | | | | | | | | | | | | | 46 // | Tab | | | | | | | | | | | | | | |
50 // |------+----+----+----x----x----| | | |----x----x----+----+----+------| 47 // |------+----+----+----x----x----| | | |----x----x----+----+----+------|
51 // |EscCtl| | | | | |----| |----| | | | | | Ent | 48 // |EscCtl| | | | | |----| |----| | | | | | Ent |
52 // |------+----+----+----x----x----| | | |----x----x----+----+----+------| 49 // |------+----+----+----x----x----| | | |----x----x----+----+----+------|
53 // |LShift| | | | | | | | | | | | | |RShift| 50 // |LShift| | | | | | | | | | | | | |RShift|
54 // `------+----+----+----+----+---------' `---------+----+----+----+----+------' 51 // `------+----+----+----+----+---------' `---------+----+----+----+----+------'
55 // | | | | |Cmd | | | | | | | 52 // | | | |Cmd |LOWR| |RASE|RAlt| | | |
56 // `------------------------' `------------------------' 53 // `------------------------' `------------------------'
57 // ,---------. ,---------. 54 // ,---------. ,---------.
58 // |QWER| | | | | 55 // |QWER| | | | |
59 // ,----+----+----| |----+----+----. 56 // ,----+----+----| |----+----+----.
60 // | Ba | L | | | | | | 57 // | Ba | L | | | | | |
61 // | ck |Shi |----| |----| |Spc | 58 // | ck |Shi |----| |----| |Spc |
62 // | spc| ft | | | | | | 59 // | spc| ft | | | | | |
63 // `--------------' `--------------' 60 // `--------------' `--------------'
64 [LR_BASE] = LAYOUT_ergodox_pretty_wrapper( 61 [LR_BASE] = LAYOUT_ergodox_pretty_wrapper(
65 TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, 62 // clang-format off
66 KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 63 TD_3FLS, _______, _______, _______, _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______,
67 PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT , 64 KC_TAB , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, 65 PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
69 _______, _______, _______, KC_LGUI, SYMBOL , SYSCTL , KC_RALT, _______, _______, _______, 66 KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
70 QWERTY , CARPALX, _______, _______, 67 _______, _______, _______, KC_LGUI, SYMBOL , SYSCTL , KC_RALT, _______, _______, _______,
71 _______, _______, 68 QWERTY , CARPALX, _______, _______,
72 KC_BSPC, _______, _______, _______, _______, KC_SPC 69 _______, _______,
73 ), 70 KC_BSPC, _______, _______, _______, _______, KC_SPC
71 // clang-format on
72 ),
74 73
75 // ,------------------------------------. ,------------------------------------. 74 // ,------------------------------------. ,------------------------------------.
76 // | | NUMBERS_L | | | - | NUMBERS_R | = | 75 // | | NUMBERS_L | | | - | NUMBERS_R | = |
77 // |------+----+----+----+----+---------| |----+----+----+----+----+----+------| 76 // |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
78 // | | | [ | | ] | | | 77 // | | | [ | | ] | | |
79 // |------+ | | | | +------| 78 // |------+ | | | | +------|
80 // | | QWERTY_L |----| |----| QWERTY_R | | 79 // | | QWERTY_L |----| |----| QWERTY_R | |
81 // |------+ | ( | | ) | +------| 80 // |------+ | ( | | ) | +------|
82 // | | | | | | | | 81 // | | | | | | | |
83 // `------+----+----+----+----+---------' `---------+----+----+----+----+------' 82 // `------+----+----+----+----+---------' `---------+----+----+----+----+------'
84 // | | ` | | | | | | | | ' | | 83 // | | ` | | | | | | | | ' | |
85 // `------------------------' `------------------------' 84 // `------------------------' `------------------------'
86 // ,---------. ,---------. 85 // ,---------. ,---------.
87 // | | | | | | 86 // | | | | | |
88 // ,----+----+----| |----+----+----. 87 // ,----+----+----| |----+----+----.
89 // | | | | | | | | 88 // | | | | | | | |
90 // | | |----| |----| | | 89 // | | |----| |----| | |
91 // | | | | | | | | 90 // | | | | | | | |
92 // `--------------' `--------------' 91 // `--------------' `--------------'
93 // See `users/pvinis/pvinis.h` 92 // See `users/pvinis/pvinis.h`
94 [LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper( 93 [LR_QWERTY] = LAYOUT_ergodox_pretty_wrapper(
95 _______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL , 94 // clang-format off
96 _______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______, 95 _______, ________________NUMBERS_L__________________, _______, KC_MINS, ________________NUMBERS_R__________________, KC_EQL ,
97 _______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______, 96 _______, _________________QWERTY_L1_________________, KC_LBRC, KC_RBRC, _________________QWERTY_R1_________________, _______,
98 _______, _________________QWERTY_L3_________________, KC_LPRN, KC_RPRN, _________________QWERTY_R3_________________, _______, 97 _______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______,
99 _______, KC_GRV, _______, _______, _______, _______, _______, _______, KC_QUOT , _______, 98 _______, _________________QWERTY_L3_________________, KC_LPRN, KC_RPRN, _________________QWERTY_R3_________________, _______,
100 _______, _______, _______, _______, 99 _______, KC_GRV, _______, _______, _______, _______, _______, _______, KC_QUOT , _______,
101 _______, _______, 100 _______, _______, _______, _______,
102 _______, _______, _______, _______, _______, _______ 101 _______, _______,
102 _______, _______, _______, _______, _______, _______
103 // clang-format off
103 ), 104 ),
104 105
105 // ,------------------------------------. ,------------------------------------. 106 // ,------------------------------------. ,------------------------------------.
106 // | | NUMBERS_L | | | | NUMBERS_R | | 107 // | | NUMBERS_L | | | | NUMBERS_R | |
107 // |------+----+----+----+----+---------| |----+----+----+----+----+----+------| 108 // |------+----+----+----+----+---------| |----+----+----+----+----+----+------|
108 // | | | | | | | | 109 // | | | | | | | |
109 // |------+ | | | | +------| 110 // |------+ | | | | +------|
110 // | | CARPALX_L |----| |----| CARPALX_R | | 111 // | | CARPALX_L |----| |----| CARPALX_R | |
111 // |------+ | | | | +------| 112 // |------+ | | | | +------|
112 // | | | | | | | | 113 // | | | | | | | |
113 // `------+----+----+----+----+---------' `---------+----+----+----+----+------' 114 // `------+----+----+----+----+---------' `---------+----+----+----+----+------'
114 // | | | | | | | | | | | | 115 // | | | | | | | | | | | |
115 // `------------------------' `------------------------' 116 // `------------------------' `------------------------'
116 // ,---------. ,---------. 117 // ,---------. ,---------.
117 // | | | | | | 118 // | | | | | |
118 // ,----+----+----| |----+----+----. 119 // ,----+----+----| |----+----+----.
119 // | | | | | | | | 120 // | | | | | | | |
120 // | | |----| |----| | | 121 // | | |----| |----| | |
121 // | | | | | | | | 122 // | | | | | | | |
122 // `--------------' `--------------' 123 // `--------------' `--------------'
123 // See `users/pvinis/pvinis.h` 124 // See `users/pvinis/pvinis.h`
124 [LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper( 125 [LR_CARPALX] = LAYOUT_ergodox_pretty_wrapper(
125 _______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______, 126 // clang-format off
126 _______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______, 127 _______, ________________NUMBERS_L__________________, _______, _______, ________________NUMBERS_R__________________, _______,
127 _______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______, 128 _______, ________________CARPALX_L1_________________, _______, _______, ________________CARPALX_R1_________________, _______,
128 _______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______, 129 _______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
129 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 130 _______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
130 _______, _______, _______, _______, 131 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
131 _______, _______, 132 _______, _______, _______, _______,
132 _______, _______, _______, _______, _______, _______ 133 _______, _______,
133 ), 134 _______, _______, _______, _______, _______, _______
135 // clang-format on
136 ),
134 137
135 // See `users/pvinis/pvinis.h` 138 // See `users/pvinis/pvinis.h`
136 [LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper( 139 [LR_SYMBOL] = LAYOUT_ergodox_pretty_wrapper(
137 _______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______, 140 // clang-format off
138 _______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______, 141 _______, ______________________F_L__________________, KC_F11 , KC_F12 , ______________________F_R__________________, _______,
139 _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, 142 _______, _________________SYMBOL_L1_________________, _______, _______, _________________SYMBOL_R1_________________, _______,
140 _______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______, 143 _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
141 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 144 _______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
142 _______, _______, _______, _______, 145 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
143 _______, _______, 146 _______, _______, _______, _______,
144 _______, _______, _______, _______, _______, _______ 147 _______, _______,
148 _______, _______, _______, _______, _______, _______
149 // clang-format off
145 ), 150 ),
146 151
147 // See `users/pvinis/pvinis.h` 152 // See `users/pvinis/pvinis.h`
148 [LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper( 153 [LR_SYSCTL] = LAYOUT_ergodox_pretty_wrapper(
149 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 154 // clang-format off
150 _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______, 155 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
151 _______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______, 156 _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______,
152 _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______, 157 _______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______,
153 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 158 _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______,
159 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
154 160
155 _______, _______, _______, _______, 161 _______, _______, _______, _______,
156 _______, _______, 162 _______, _______,
157 _______, _______, _______, _______, _______, _______ 163 _______, _______, _______, _______, _______, _______
158 ), 164 // clang-format on
165 ),
159 166
160 // See `users/pvinis/pvinis.h` 167 // See `users/pvinis/pvinis.h`
161 [LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper( 168 [LR_KBCTL] = LAYOUT_ergodox_pretty_wrapper(
162 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 169 // clang-format off
163 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX, 170 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
164 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R2_________________, XXXXXXX, 171 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R1_________________, XXXXXXX,
165 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX, 172 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R2_________________, XXXXXXX,
166 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 173 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
174 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
167 175
168 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 176 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
169 XXXXXXX, XXXXXXX, 177 XXXXXXX, XXXXXXX,
170 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX 178 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
171 ), 179 // clang-format on
180 ),
172 181
173/* MOUSE 182 /* MOUSE
174 * a keymap to control my system. 183 * a keymap to control my system.
175 * 184 *
176 * ,--------------------------------------------------. ,--------------------------------------------------. 185 * ,--------------------------------------------------. ,--------------------------------------------------.
177 * | ^ | | | | | | | | | | | | | | | 186 * | ^ | | | | | | | | | | | | | | |
178 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| 187 * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
179 * | | | | | | | | | | | | MsUp | | | | 188 * | | | | | | | | | | | | MsUp | | | |
180 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 189 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
181 * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | | 190 * | | | | | | |------| |------| |MsLeft| MsDn |MsRght| | |
182 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| 191 * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
183 * | | | | | | | | | | | | | | | | 192 * | | | | | | | | | | | | | | | |
184 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' 193 * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
185 * | | | | | | | | | | | | 194 * | | | | | | | | | | | |
186 * `----------------------------------' `----------------------------------' 195 * `----------------------------------' `----------------------------------'
187 * ,-------------. ,-------------. 196 * ,-------------. ,-------------.
188 * | | | | |MidClk| 197 * | | | | |MidClk|
189 * ,------|------|------| |------+------+------. 198 * ,------|------|------| |------+------+------.
190 * | | | | | |Left |Right | 199 * | | | | | |Left |Right |
191 * | | |------| |------| Click| Click| 200 * | | |------| |------| Click| Click|
192 * | | | ^ | | | | | 201 * | | | ^ | | | | |
193 * `--------------------' `--------------------' 202 * `--------------------' `--------------------'
194 */ 203 */
195 [MOUSE] = LAYOUT_ergodox_pretty( 204 [MOUSE] = LAYOUT_ergodox_pretty(
205 // clang-format off
196 KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO 206 KC_TRNS ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
197 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO 207 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
198 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO 208 ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO ,KC_NO
@@ -212,53 +222,54 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
212 ,KC_NO ,KC_NO 222 ,KC_NO ,KC_NO
213 ,KC_NO 223 ,KC_NO
214 ,KC_NO ,KC_NO ,KC_NO 224 ,KC_NO ,KC_NO ,KC_NO
215 ), 225 // clang-format on
226 ),
216}; 227};
217 228
218
219// keyboard initialization 229// keyboard initialization
220void keyboard_post_init_user_local(void) { 230void keyboard_post_init_user_keymap(void) {
221 ergodox_led_all_on(); 231 ergodox_led_all_on();
222 for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) { 232 for (int i = LED_BRIGHTNESS_HI; i > LED_BRIGHTNESS_LO; i--) {
223 ergodox_led_all_set(i); 233 ergodox_led_all_set(i);
224 wait_ms(5); 234 wait_ms(5);
225 } 235 }
226 wait_ms(1000); 236 wait_ms(1000);
227 for (int i = LED_BRIGHTNESS_LO; i > 0; i--) { 237 for (int i = LED_BRIGHTNESS_LO; i > 0; i--) {
228 ergodox_led_all_set(i); 238 ergodox_led_all_set(i);
229 wait_ms(10); 239 wait_ms(10);
230 } 240 }
231 ergodox_led_all_off(); 241 ergodox_led_all_off();
232 242
233 // restore default brightness for future use 243 // restore default brightness for future use
234 ergodox_led_all_set(LED_BRIGHTNESS_HI); 244 ergodox_led_all_set(LED_BRIGHTNESS_HI);
235} 245}
236 246
237// light up leds based on the layer 247// light up leds based on the layer
238uint32_t layer_state_set_user_local(uint32_t state) { 248uint32_t layer_state_set_user_keymap(uint32_t state) {
239 ergodox_right_led_1_off(); 249 ergodox_right_led_1_off();
240 ergodox_right_led_2_off(); 250 ergodox_right_led_2_off();
241 ergodox_right_led_3_off(); 251 ergodox_right_led_3_off();
242 switch (biton32(state)) { 252 switch (biton32(state)) {
243 case LR_SYSCTL: 253 case LR_SYSCTL:
244 ergodox_right_led_3_on(); // blue 254 ergodox_right_led_3_on(); // blue
245 break; 255 break;
246 case LR_KBCTL: 256 case LR_KBCTL:
247 ergodox_right_led_1_on(); // red 257 ergodox_right_led_1_on(); // red
248 break; 258 break;
249 case LR_SYMBOL: 259 case LR_SYMBOL:
250 ergodox_right_led_2_on(); // green 260 ergodox_right_led_2_on(); // green
251 break; 261 break;
252 default: break; 262 default:
253 } 263 break;
254 return state; 264 }
265 return state;
255} 266}
256 267
257// extra keys 268// extra keys
258// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { 269// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
259 // switch (id) { 270// switch (id) {
260 // } 271// }
261 // return MACRO_NONE; 272// return MACRO_NONE;
262// } 273// }
263 274
264// tap dances 275// tap dances
@@ -325,6 +336,6 @@ uint32_t layer_state_set_user_local(uint32_t state) {
325// } 336// }
326 337
327// qk_tap_dance_action_t tap_dance_actions[] = { 338// qk_tap_dance_action_t tap_dance_actions[] = {
328 // [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ), 339// [TD_FLSH] = ACTION_TAP_DANCE_FN_ADVANCED( flash_each_tap, flash_dance_finished, flash_dance_reset ),
329 // [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ), 340// [TD_LAYR] = ACTION_TAP_DANCE_FN_ADVANCED( NULL, layers_dance_finished, NULL ),
330// }; 341// };
diff --git a/keyboards/keebio/iris/keymaps/pvinis/config.h b/keyboards/keebio/iris/keymaps/pvinis/config.h
index b2fb43be9..9574f2a83 100644
--- a/keyboards/keebio/iris/keymaps/pvinis/config.h
+++ b/keyboards/keebio/iris/keymaps/pvinis/config.h
@@ -1,24 +1,36 @@
1#pragma once 1#pragma once
2 2
3
4#ifdef PRODUCT 3#ifdef PRODUCT
5 #undef PRODUCT 4# undef PRODUCT
6 #define PRODUCT Iris Keyboard - pvinis 5# define PRODUCT Iris Keyboard - pvinis
7#endif 6#endif
8 7
9 8// Use I2C or Serial, not both.
10// Use I2C or Serial, not both
11#define USE_SERIAL 9#define USE_SERIAL
12// #define USE_I2C 10// #define USE_I2C
13 11
14 12// Select hand configuration.
15// Select hand configuration 13// #define MASTER_LEFT
16#define MASTER_LEFT 14#define MASTER_RIGHT
17// #define MASTER_RIGHT
18// #define EE_HANDS 15// #define EE_HANDS
19 16
20 17// Choose pin to use for audio. C6 is the one iris uses.
21// choose pin to use for audio. c6 is the one iris uses.
22#ifdef AUDIO_ENABLE 18#ifdef AUDIO_ENABLE
23 #define C6_AUDIO 19# define C6_AUDIO
20# define STARTUP_SONG SONG(NO_SOUND) // No startup song.
21#endif
22
23#ifdef RGBLIGHT_ENABLE
24# undef RGBLED_NUM
25# define RGBLED_NUM 16
26#endif
27
28#ifdef ENCODER_ENABLE
29# define ENCODERS_PAD_A \
30 { F5 } // I connected the encoder to F4 and F5.
31# define ENCODERS_PAD_B \
32 { F4 }
33// #define ENCODERS_PAD_A_RIGHT { B5 }
34// #define ENCODERS_PAD_B_RIGHT { C6 }
35# define ENCODER_RESOLUTION 2
24#endif 36#endif
diff --git a/keyboards/keebio/iris/keymaps/pvinis/keymap.c b/keyboards/keebio/iris/keymaps/pvinis/keymap.c
index 2f6d5a6b4..5c61c1321 100644
--- a/keyboards/keebio/iris/keymaps/pvinis/keymap.c
+++ b/keyboards/keebio/iris/keymaps/pvinis/keymap.c
@@ -1,16 +1,16 @@
1// pvinis iris 1// pvinis iris
2// ,-----------------------------. ,-----------------------------. 2// make keebio/iris/rev2:pvinis:avrdude
3// | | | | | | | | | | | | | | 3// ,-----------------------------. ┌────┬────┬────┬────┬────┬────┐
4// |----+----+----+----+----+----| |----+----+----+----+----+----| 4// | | | | | | | │ │ │ │ │ │ │
5// | | | | | | | | | | | | | | 5// |----+----+----+----+----+----| ├────┼────┼────┼────┼────┼────┤
6// |----+----+----+----x----x----| |----x----x----+----+----+----| 6// | | | | | | | │ │ │ │ │ │ │
7// | | | | | | | | | | | | | | 7// |----+----+----+----x----x----| ├────╆━━━━╅────┼────┼────┼────┤
8// |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----| 8// | | | | | | | │ ┃ ┃ │ │ │ │
9// | | | | | | | | | | | | | | | | 9// |----+----+----+----x----x----+----. ┌────┼────╄━━━━╃────┼────┼────┼────┤
10// `-------------------+----+----+----/ \----+----+----+-------------------' 10// | | | | | | | | │ │ │ │ │ │ │ │
11// | | | | | | | | 11// `-------------------+----+----+----/ └┬───┴┬───┴┬───┴┬───┴────┴────┴────┘
12// `----+---------' `--------------' 12// | | | | │ │ │ │
13 13// `----+---------' └────┴────┴────┘
14 14
15#include QMK_KEYBOARD_H 15#include QMK_KEYBOARD_H
16#include "pvinis.h" 16#include "pvinis.h"
@@ -19,102 +19,179 @@
19//#include "eeconfig.h" 19//#include "eeconfig.h"
20 20
21#ifdef AUDIO_ENABLE 21#ifdef AUDIO_ENABLE
22 #include "audio.h" 22# include "audio.h"
23#endif 23#endif
24 24
25#ifdef AUDIO_ENABLE 25#ifdef AUDIO_ENABLE
26 // #define STARTUP_SONG SONG(SONIC_RING) 26// #define STARTUP_SONG SONG(SONIC_RING)
27#endif 27#endif
28 28
29#ifdef AUDIO_ENABLE 29#ifdef AUDIO_ENABLE
30 float tone_sonic[][2] = SONG(IN_LIKE_FLINT); 30// float n04[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
31 float tone_1[][2] = SONG(QWERTY_SOUND); 31// float n10[][2] = SONG(STARTUP_SOUND);
32 float tone_2[][2] = SONG(OLD_SPICE); 32// float n11[][2] = SONG(GOODBYE_SOUND);
33 float tone_3[][2] = SONG(OVERWATCH_THEME); 33// float n12[][2] = SONG(PLANCK_SOUND);
34 float tone_4[][2] = SONG(QWERTY_SOUND); 34// float n19[][2] = SONG(MUSIC_ON_SOUND);
35// float n20[][2] = SONG(AUDIO_ON_SOUND);
36// float n29[][2] = SONG(CAPS_LOCK_ON_SOUND);
37// float n30[][2] = SONG(CAPS_LOCK_OFF_SOUND);
38// float n31[][2] = SONG(SCROLL_LOCK_ON_SOUND);
39// float n32[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
40// float n33[][2] = SONG(NUM_LOCK_ON_SOUND);
41// float n34[][2] = SONG(NUM_LOCK_OFF_SOUND);
42// float n40[][2] = SONG(ONE_UP_SOUND);
43// float n49[][2] = SONG(E1M1_DOOM);
44// float n53[][2] = SONG(OLD_SPICE);
45// float n56[][2] = SONG(RICK_ROLL);
46// float n57[][2] = SONG(FF_PRELUDE);
47// RGB_MODE_KNIGHT
48// float n78[][2] = SONG(KATAMARI_ROLLING_STAR);
35#endif 49#endif
36 50
37
38const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 51const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
39 52
40 // ,-----------------------------. ,-----------------------------. 53 // ,-----------------------------. ,-----------------------------.
41 // | | | | | |QWER| | | | | | | | 54 // | | | | |GAME|QWER| | | | | | | |
42 // |----+----+----+----+----+----| |----+----+----+----+----+----| 55 // |----+----+----+----+----+----| |----+----+----+----+----+----|
43 // |Tab | | | | |CARP| | | | | | |Del | 56 // |Tab | | | | |CRPL| | | | | | |Del |
44 // |----+----+----+----x----x----| |----x----x----+----+----+----| 57 // |----+----+----+----x----x----| |----x----x----+----+----+----|
45 // |EscC| | | | | | | | | | | |Ent | 58 // |EscC| | | | | | | | | | | |Ent |
46 // |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----| 59 // |----+----+----+----x----x----+----. ,----|----x----x----+----+----+----|
47 // |LSft| | | | | |Home| |End | | | | | |Rsft| 60 // |LSft| | | | | |Home| |End | | | | | |Rsft|
48 // `-------------------+----+----+----/ \----+----+----+-------------------' 61 // `-------------------+----+----+----/ \----+----+----+-------------------'
49 // |Cmd |LOWR|Bspc| |Spc |RASE|RAlt| 62 // |Cmd |LOWR|Bspc| |Spc |RASE|RAlt|
50 // `----+---------' `--------------' 63 // `----+---------' `--------------'
51 [LR_BASE] = LAYOUT_wrapper( 64 [LR_BASE] = LAYOUT_wrapper(
52 _______, _______, _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, 65 // clang-format off
53 KC_TAB , _______, _______, _______, _______, CARPALX, _______, _______, _______, _______, _______, KC_DEL , 66 KC_MUTE, _______, _______, _______, GAME1 , QWERTY , KC_1 , _______, _______, _______, _______, _______,
54 PV_ESCC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT , 67 KC_TAB , ___________________________________________, ___________________________________________, KC_DEL ,
55 KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT, 68 PV_ESCC, ___________________________________________, ___________________________________________, KC_ENT ,
56 KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT 69 KC_LSFT, ___________________________________________, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
57 ), 70 KC_LGUI, SYMBOL , KC_BSPC, KC_SPC , SYSCTL , KC_RALT
71 // clang-format on
72 ),
73
74 // ,-----------------------------. ,-----------------------------.
75 // | | NUMBERS_L | | NUMBERS_R | |
76 // |----+----+----+----+----+----| |----+----+----+----+----+----|
77 // | | | | | |
78 // |----+ | | +----|
79 // | | QWERTY_L | | QWERTY_R | |
80 // |----+ +----. ,----| +----|
81 // | | | | | | | |
82 // `-------------------+----+----+----/ \----+----+----+-------------------'
83 // | | | | | | | |
84 // `----+---------' `--------------'
85 [LR_QWERTY] = LAYOUT_wrapper(
86 // clang-format off
87 _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
88 _______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______,
89 _______, _____________MOD_QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
90 _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
91 _______, _______, _______, _______, _______, _______
92 // clang-format on
93 ),
58 94
59 // ,-----------------------------. ,-----------------------------. 95 // ,-----------------------------. ,-----------------------------.
60 // | | NUMBERS_L | | NUMBERS_R | | 96 // | | NUMBERS_L | | NUMBERS_R | |
61 // |----+----+----+----+----+----| |----+----+----+----+----+----| 97 // |----+----+----+----+----+----| |----+----+----+----+----+----|
62 // | | | | | | 98 // | | | | | |
63 // |----+ | | +----| 99 // |----+ | | +----|
64 // | | QWERTY_L | | QWERTY_R | | 100 // | | CARPALX_L | | CARPALX_R | |
65 // |----+ +----. ,----| +----| 101 // |----+ +----. ,----| +----|
66 // | | | | | | | | 102 // | | | | | | | |
67 // `-------------------+----+----+----/ \----+----+----+-------------------' 103 // `-------------------+----+----+----/ \----+----+----+-------------------'
68 // | | | | | | | | 104 // | | | | | | | |
69 // `----+---------' `--------------' 105 // `----+---------' `--------------'
70 [LR_QWERTY] = LAYOUT_wrapper( 106 [LR_CARPALX] = LAYOUT_wrapper(
71 _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______, 107 // clang-format off
72 _______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, _______, 108 _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
73 _______, _____________MOD_QWERTY_L2_________________, _____________MOD_QWERTY_R2_________________, _______, 109 _______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
74 _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______, 110 _______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
75 _______, _______, _______, _______, _______, _______ 111 _______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
76 ), 112 _______, _______, _______, _______, _______, _______
113 // clang-format on
114 ),
77 115
78 // ,-----------------------------. ,-----------------------------. 116 [LR_SYMBOL] = LAYOUT_wrapper(
79 // | | NUMBERS_L | | NUMBERS_R | | 117 // clang-format off
80 // |----+----+----+----+----+----| |----+----+----+----+----+----| 118 KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 ,
81 // | | | | | | 119 _______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______,
82 // |----+ | | +----| 120 _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______,
83 // | | CARPALX_L | | CARPALX_R | | 121 _______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______,
84 // |----+ +----. ,----| +----| 122 _______, _______, _______, _______, _______, _______
85 // | | | | | | | | 123 // clang-format on
86 // `-------------------+----+----+----/ \----+----+----+-------------------' 124 ),
87 // | | | | | | | |
88 // `----+---------' `--------------'
89 [LR_CARPALX] = LAYOUT_wrapper(
90 _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, _______,
91 _______, ________________CARPALX_L1_________________, ________________CARPALX_R1_________________, _______,
92 _______, ________________CARPALX_L2_________________, ________________CARPALX_R2_________________, _______,
93 _______, ________________CARPALX_L3_________________, _______, _______, ________________CARPALX_R3_________________, _______,
94 _______, _______, _______, _______, _______, _______
95 ),
96 125
97 [LR_SYMBOL] = LAYOUT_wrapper( 126 [LR_SYSCTL] = LAYOUT_wrapper(
98 KC_F12 , ______________________F_L__________________, ______________________F_R__________________, KC_F11 , 127 // clang-format off
99 _______, _________________SYMBOL_L1_________________, _________________SYMBOL_R1_________________, _______, 128 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
100 _______, _________________SYMBOL_L2_________________, _________________SYMBOL_R2_________________, _______, 129 _______, _________________SYSCTL_L1_________________, _________________SYSCTL_R1_________________, _______,
101 _______, _________________SYMBOL_L3_________________, _______, _______, _________________SYMBOL_R3_________________, _______, 130 _______, _________________SYSCTL_L2_________________, _________________SYSCTL_R2_________________, _______,
102 _______, _______, _______, _______, _______, _______ 131 _______, _________________SYSCTL_L3_________________, _______, _______, _________________SYSCTL_R3_________________, _______,
103 ), 132 _______, _______, _______, _______, _______, _______
133 // clang-format on
134 ),
104 135
105 [LR_SYSCTL] = LAYOUT_wrapper( 136 [LR_KBCTL] = LAYOUT_wrapper(
106 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 137 // clang-format off
107 _______, _______, _______, _______, _______, _______, _________________SYSCTL_R1_________________, _______, 138 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
108 _______, _______, _______, _______, _______, _______, _________________SYSCTL_R2_________________, _______, 139 XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX,
109 _______, _______, _______, _______, _______, _______, _______, _______, _________________SYSCTL_R3_________________, _______, 140 XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX,
110 _______, _______, _______, _______, _______, _______ 141 BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX,
111 ), 142 XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX
143 // clang-format on
144 ),
112 145
113 [LR_KBCTL] = LAYOUT_wrapper( 146 // ,-----------------------------. ,-----------------------------.
114 XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 147 // | | NUMBERS_L | | NUMBERS_R | |
115 XXXXXXX, __________________KBCTL_L1_________________, __________________KBCTL_R1_________________, XXXXXXX, 148 // |----+----+----+----+----+----| |----+----+----+----+----+----|
116 XXXXXXX, __________________KBCTL_L2_________________, __________________KBCTL_R2_________________, XXXXXXX, 149 // | | | | | |
117 BASE , __________________KBCTL_L3_________________, XXXXXXX, XXXXXXX, __________________KBCTL_R3_________________, XXXXXXX, 150 // |----+ | | +----|
118 XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, XXXXXXX 151 // |ESC | QWERTY_L | | QWERTY_R | |
119 ) 152 // |----+ +----. ,----| +----|
153 // | | | | | | | |
154 // `-------------------+----+----+----/ \----+----+----+-------------------'
155 // | |SPC | | | | | |
156 // `----+---------' `--------------'
157 [LR_GAME1] = LAYOUT_wrapper(
158 // clang-format off
159 _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_BSPC,
160 _______, _________________QWERTY_L1_________________, _________________QWERTY_R1_________________, QWERTY ,
161 KC_ESC , _________________QWERTY_L2_________________, _________________QWERTY_R2_________________, _______,
162 _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
163 _______, _______, KC_SPC , _______, _______, _______
164 // clang-format on
165 ),
166
167 [LR_GAME2] = LAYOUT_wrapper(
168 // clang-format off
169 _______, ________________NUMBERS_L__________________, ________________NUMBERS_R__________________, KC_BSPC,
170 _______, _________________QWERTY_L1_________________, KC_Y , KC_U , KC_UP , KC_O , KC_P , QWERTY ,
171 KC_ESC , _________________QWERTY_L2_________________, KC_H , KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, _______,
172 _______, _________________QWERTY_L3_________________, _______, _______, _________________QWERTY_R3_________________, _______,
173 _______, _______, KC_SPC , _______, _______, _______
174 // clang-format on
175 ),
120}; 176};
177
178#ifdef ENCODER_ENABLE
179void encoder_update_user(uint8_t index, bool clockwise) {
180 // if (index == 0) { /* First encoder */
181 if (clockwise) {
182 tap_code(KC_VOLU);
183 } else {
184 tap_code(KC_VOLD);
185 }
186 // }
187}
188#endif
189
190bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
191 switch (keycode) {
192#ifdef AUDIO_ENABLE
193// case PV_S04: if (record->event.pressed) PLAY_SONG(n04); return false; break;
194#endif
195 }
196 return true; // Process everything else normally
197}
diff --git a/keyboards/keebio/iris/keymaps/pvinis/rules.mk b/keyboards/keebio/iris/keymaps/pvinis/rules.mk
index 899312894..deeb31203 100644
--- a/keyboards/keebio/iris/keymaps/pvinis/rules.mk
+++ b/keyboards/keebio/iris/keymaps/pvinis/rules.mk
@@ -1,2 +1,9 @@
1AUDIO_ENABLE = no # off for now 1TAP_DANCE_ENABLE = yes
2RGBLIGHT_ENABLE = no # off for now 2AUDIO_ENABLE = no # piezo speaker sounds
3RGBLIGHT_ENABLE = yes # rgb leds underlight
4ENCODER_ENABLE = yes # rotary knob
5
6# Some extra stuff to make firmware smaller.
7LINK_TIME_OPTIMIZATION_ENABLE = yes
8CONSOLE_ENABLE = no
9COMMAND_ENABLE = no
diff --git a/users/pvinis/config.h b/users/pvinis/config.h
index 8e2efb40a..14ec0dc8f 100644
--- a/users/pvinis/config.h
+++ b/users/pvinis/config.h
@@ -1,10 +1,9 @@
1#pragma once 1#pragma once
2 2
3#ifdef AUDIO_ENABLE
4// #define STARTUP_SONG SONG(SONIC_RING)
5// #define DAC_SAMPLE_MAX 65535U // maybe this works for volume?
6#endif
7
8// allow rolling when keys have hold functionality 3// allow rolling when keys have hold functionality
9#define IGNORE_MOD_TAP_INTERRUPT 4#define IGNORE_MOD_TAP_INTERRUPT
10// #define TAPPING_TERM 150 5// #define TAPPING_TERM 150
6
7#if defined(MOUSE_KEYS)
8# define MOUSEKEY_WHEEL_TIME_TO_MAX 1
9#endif
diff --git a/users/pvinis/pvinis.c b/users/pvinis/pvinis.c
index e97edcb98..31c3023e8 100644
--- a/users/pvinis/pvinis.c
+++ b/users/pvinis/pvinis.c
@@ -2,88 +2,97 @@
2#include "version.h" 2#include "version.h"
3 3
4#ifdef AUDIO_ENABLE 4#ifdef AUDIO_ENABLE
5#include "audio.h" 5# include "audio.h"
6#endif // AUDIO_ENABLE
7
8
9#ifdef AUDIO_ENABLE
10// float tone_katamari_rolling_star[][2] = SONG(KATAMARI_ROLLING_STAR);
11#endif // AUDIO_ENABLE
12 6
7float song_sonic_ring[][2] = SONG(SONIC_RING);
8float song_coin_sound[][2] = SONG(COIN_SOUND);
9float song_test[][2] = SONG(QWERTY_SOUND);
10#endif
13 11
14// SYMBOL + SYSCTL = KBCTL 12// SYMBOL + SYSCTL = KBCTL
15uint32_t layer_state_set_user(uint32_t state) { 13uint32_t layer_state_set_user(uint32_t state) {
16 uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL); 14 uint32_t intermediate_state = update_tri_layer_state(state, LR_SYMBOL, LR_SYSCTL, LR_KBCTL);
17 intermediate_state = layer_state_set_user_local(intermediate_state); 15 intermediate_state = layer_state_set_user_keymap(intermediate_state);
18 return intermediate_state; 16 return intermediate_state;
19} 17}
20 18
21
22// functions for the individual keymaps to implement if they need something extra 19// functions for the individual keymaps to implement if they need something extra
23__attribute__ ((weak)) 20__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
24bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
25 return true;
26}
27 21
28 22// Handle my own keycodes.
29// handle my own keycodes
30bool process_record_user(uint16_t keycode, keyrecord_t *record) { 23bool process_record_user(uint16_t keycode, keyrecord_t *record) {
31 switch (keycode) { 24 switch (keycode) {
32 25 case PV_VRSN:
33 case PV_VRSN: 26 if (record->event.pressed) {
34 if (record->event.pressed) { 27 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION);
35 SEND_STRING(QMK_KEYBOARD "/" QMK_KEYMAP " @ " QMK_VERSION); 28 }
36 } 29 return false;
37 return false; 30
38 31 case PV_MAKE:
39 case PV_MAKE: 32 // make ergodox_ez:pvinis:teensy
40 if (!record->event.pressed) { 33 if (!record->event.pressed) {
41 SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP 34 SEND_STRING("make " QMK_KEYBOARD ":" QMK_KEYMAP
42#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU)) 35#if (defined(BOOTLOADER_DFU) || defined(BOOTLOADER_LUFA_DFU) || defined(BOOTLOADER_QMK_DFU))
43 ":dfu" 36 ":dfu"
44#elif defined(BOOTLOADER_HALFKAY) 37#elif defined(BOOTLOADER_HALFKAY)
45 ":teensy" 38 ":teensy"
46#elif defined(BOOTLOADER_CATERINA) 39#elif defined(BOOTLOADER_CATERINA)
47 ":avrdude" 40 ":avrdude"
48#endif 41#endif
49 SS_TAP(X_ENTER) 42 SS_TAP(X_ENTER));
50 ); 43 }
51 } 44 return false;
52 return false;
53 45
54 case PV_FLSH: 46 case PV_FLSH:
55 reset_keyboard(); 47 reset_keyboard();
56 return false; 48 return false;
57 49
58 case PV_KTMR: 50 case PV_SSNC:
59 if (record->event.pressed) { 51 if (record->event.pressed) {
60#ifdef AUDIO_ENABLE 52#ifdef AUDIO_ENABLE
61 // PLAY_SONG(tone_katamari_rolling_star); 53 PLAY_SONG(song_sonic_ring);
62#endif 54#endif
63 } 55 }
64 return false; 56 return false;
65 }
66 return process_record_keymap(keycode, record);
67}
68 57
58 case PV_SCIN:
59 if (record->event.pressed) {
60#ifdef AUDIO_ENABLE
61 PLAY_SONG(song_coin_sound);
62#endif
63 }
64 return false;
65
66 case PV_TEST:
67 if (record->event.pressed) {
68#ifdef AUDIO_ENABLE
69 PLAY_SONG(song_test);
70#endif
71 }
72 return false;
73 }
74 return process_record_keymap(keycode, record);
75}
69 76
70#ifdef TAP_DANCE_ENABLE 77#ifdef TAP_DANCE_ENABLE
71qk_tap_dance_action_t tap_dance_actions[] = { 78qk_tap_dance_action_t tap_dance_actions[] = {};
72}; 79#endif
73#endif // TAP_DANCE_ENABLE
74 80
81void keyboard_post_init_rgb_light(void) {
82 rgblight_sethsv(HSV_GOLD);
83 rgblight_mode(RGBLIGHT_MODE_BREATHING);
84 // rgblight_mode(RGBLIGHT_MODE_KNIGHT+1);
85}
75 86
76// init stuff 87// Init stuff.
77void keyboard_post_init_user(void) { 88void keyboard_post_init_user(void) {
78 keyboard_post_init_user_local(); 89#if defined(RGBLIGHT_ENABLE)
90 keyboard_post_init_rgb_light();
91#endif
92 keyboard_post_init_user_keymap();
79} 93}
80 94
95// Default functions.
96__attribute__((weak)) void keyboard_post_init_user_keymap(void) {}
81 97
82// default functions 98__attribute__((weak)) uint32_t layer_state_set_user_keymap(uint32_t state) { return state; }
83__attribute__ ((weak))
84void keyboard_post_init_user_local(void) {}
85
86__attribute__ ((weak))
87uint32_t layer_state_set_user_local(uint32_t state) {
88 return state;
89}
diff --git a/users/pvinis/pvinis.h b/users/pvinis/pvinis.h
index 0c75c6a66..c50033a44 100644
--- a/users/pvinis/pvinis.h
+++ b/users/pvinis/pvinis.h
@@ -2,84 +2,103 @@
2 2
3#include "quantum.h" 3#include "quantum.h"
4 4
5 5// My own keycodes.
6// my own keycodes
7enum userspace_custom_keycodes { 6enum userspace_custom_keycodes {
8 PV_ = SAFE_RANGE, 7 PV_ = SAFE_RANGE,
8
9 PV_VRSN, // Print firmware version.
10 PV_MAKE, // Print the make command of the keyboard.
11 PV_FLSH, // Reset keyboard.
9 12
10 PV_VRSN, // prints firmware version 13 PV_SSNC, // Play Sonic Ring.
11 PV_MAKE, // prints the make command of the keyboard 14 PV_SCIN, // Play Coin Sound.
12 PV_FLSH, // resets keyboard
13 PV_KTMR, // play katamari music
14 15
15 PV_SAFE_RANGE, // used for extra keycodes in the individual keymaps 16 PV_TEST, // For quick testing purposes.
17
18 PV_SAFE_RANGE, // Used for extra keycodes in individual keymaps.
16}; 19};
17 20
18enum tap_dance_indexes { 21enum tap_dance_indexes {
19 // tap dance 22 // tap dance
20 TD_FLSH, // flash keyboard (as if the physical flash key was pressed) 23 TD_FLSH, // flash keyboard (as if the physical flash key was pressed)
21}; 24};
22 25
23#define ALLM(kc) LCAG(kc) // easier name for left ctrl-alt-gui 26#define ALLM(kc) LCAG(kc) // Easier name for left ctrl-alt-gui.
24#define PV_ESCC CTL_T(KC_ESC) // esc on tap, ctrl on hold 27#define PV_ESCC CTL_T(KC_ESC) // esc on tap, ctrl on hold.
25#define PV_LOCK LCTL(LSFT(KC_PWR)) // lock computer 28#define PV_LOCK LCTL(LSFT(KC_PWR)) // Lock computer.
26#define TD_3FLS TD(TD_FLSH) // tap dance 3 times for flash 29#define TD_3FLS TD(TD_FLSH) // Tap dance 3 times for flash.
27
28 30
29// layers 31// Layers.
30enum { 32enum {
31 LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc 33 LR_BASE = 0, // used for basic keys like the surrounding ctrl, cmd, etc
32 34
33 LR_QWERTY, 35 LR_QWERTY,
34 LR_CARPALX, 36 LR_CARPALX,
37 LR_GAME1, // game layout (space on the left thumb, no modifiers, etc)
38 LR_GAME2, // game layout (space on the left thumb, no modifiers, etc, arrows)
35 39
36 LR_SYMBOL, // symbol input (!, @, #, etc) 40 LR_SYMBOL, // symbol input (!, @, #, etc)
37 LR_SYSCTL, // system control (music, volume, keyboard flash, etc) 41 LR_SYSCTL, // system control (music, volume, keyboard flash, etc)
38 LR_KBCTL, // keyboard control (version, make, flash, etc) 42 LR_KBCTL, // keyboard control (version, make, flash, etc)
39};
40 43
44};
41 45
42// layer switchers 46// Layer switchers.
43#define BASE TO(LR_BASE) 47#define BASE TO(LR_BASE)
44#define QWERTY TO(LR_QWERTY) 48#define QWERTY TO(LR_QWERTY)
45#define CARPALX TO(LR_CARPALX) 49#define CARPALX TO(LR_CARPALX)
46 50#define GAME1 TO(LR_GAME1)
47#define SYMBOL MO(LR_SYMBOL) 51#define GAME2 TO(LR_GAME2)
48#define SYSCTL MO(LR_SYSCTL) 52
49#define KBCTL MO(LR_KBCTL) 53#define SYMBOL MO(LR_SYMBOL)
50 54#define SYSCTL MO(LR_SYSCTL)
51 55#define KBCTL MO(LR_KBCTL)
52// layout parts for easy reuse between keyboard keymaps 56
53 57// Layout parts for easy reuse between keyboard keymaps.
54// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 58
55// | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | 59// Transparent.
56// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 60// ┌─────┬─────┬─────┬─────┬─────┐
57#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5 61// │ │ │ │ │ │
58#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0 62// └─────┴─────┴─────┴─────┴─────┘
59 63#define ___________________________________________ _______, _______, _______, _______, _______
60// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 64
61// | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | 65// Numbers.
62// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 66// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
63#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 67// │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │
64#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 68// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
65 69#define ________________NUMBERS_L__________________ KC_1, KC_2, KC_3, KC_4, KC_5
66// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 70#define ________________NUMBERS_R__________________ KC_6, KC_7, KC_8, KC_9, KC_0
67// | Q | W | E | R | T | | Y | U | I | O | P | 71
68// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 72// F keys.
69// | A | S | D | F | G | | H | J | K | L | ; | 73// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
70// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 74// │ F1 │ F2 │ F3 │ F4 │ F5 │ │ F6 │ F7 │ F8 │ F9 │ F10 │
71// | Z | X | C | V | B | | N | M | , | . | / | 75// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
72// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 76#define ______________________F_L__________________ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5
73#define _________________QWERTY_L1_________________ KC_Q , KC_W , KC_E , KC_R , KC_T 77#define ______________________F_R__________________ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10
74#define _________________QWERTY_L2_________________ KC_A , KC_S , KC_D , KC_F , KC_G 78
75#define _________________QWERTY_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_B 79// QWERTY.
76 80// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
77#define _________________QWERTY_R1_________________ KC_Y , KC_U , KC_I , KC_O , KC_P 81// │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │
78#define _________________QWERTY_R2_________________ KC_H , KC_J , KC_K , KC_L , KC_SCLN 82// ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤
79#define _________________QWERTY_R3_________________ KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH 83// │ A │ S │ D ┃ F ┃ G │ │ H ┃ J ┃ K │ L │ ; │
80 84// ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤
81#define _____________MOD_QWERTY_L2_________________ CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G 85// │ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │
82#define _____________MOD_QWERTY_R2_________________ KC_H , ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN) 86// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
87#define _________________QWERTY_L1_________________ KC_Q, KC_W, KC_E, KC_R, KC_T
88#define _________________QWERTY_L2_________________ KC_A, KC_S, KC_D, KC_F, KC_G
89#define _________________QWERTY_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_B
90
91#define _________________QWERTY_R1_________________ KC_Y, KC_U, KC_I, KC_O, KC_P
92#define _________________QWERTY_R2_________________ KC_H, KC_J, KC_K, KC_L, KC_SCLN
93#define _________________QWERTY_R3_________________ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
94
95// QWERTY with mods.
96// ┌───────┬───────┬───────┲━━━━━━━┱───────┐ ┌───────┲━━━━━━━┱───────┬───────┬───────┐
97// │ ctl/A │ sft/S │ cmd/D ┃ opt/F ┃ G │ │ H ┃ opt/J ┃ cmd/K │ sft/L │ ctl/; │
98// └───────┴───────┴───────┺━━━━━━━┹───────┘ └───────┺━━━━━━━┹───────┴───────┴───────┘
99// #define _____________MOD_QWERTY_L2_________________ CTL_T(KC_A), SFT_T(KC_S), GUI_T(KC_D), ALT_T(KC_F), KC_G
100#define _____________MOD_QWERTY_L2_________________ KC_A, KC_S, KC_D, ALT_T(KC_F), KC_G
101#define _____________MOD_QWERTY_R2_________________ KC_H, ALT_T(KC_J), GUI_T(KC_K), SFT_T(KC_L), CTL_T(KC_SCLN)
83 102
84// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 103// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
85// | Q | G | M | L | W | | Y | F | I | O | P | 104// | Q | G | M | L | W | | Y | F | I | O | P |
@@ -88,13 +107,13 @@ enum {
88// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 107// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
89// | Z | X | C | V | J | | K | P | , | . | / | 108// | Z | X | C | V | J | | K | P | , | . | / |
90// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 109// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
91#define ________________CARPALX_L1_________________ KC_Q , KC_G , KC_M , KC_L , KC_W 110#define ________________CARPALX_L1_________________ KC_Q, KC_G, KC_M, KC_L, KC_W
92#define ________________CARPALX_L2_________________ KC_D , KC_S , KC_T , KC_N , KC_R 111#define ________________CARPALX_L2_________________ KC_D, KC_S, KC_T, KC_N, KC_R
93#define ________________CARPALX_L3_________________ KC_Z , KC_X , KC_C , KC_V , KC_J 112#define ________________CARPALX_L3_________________ KC_Z, KC_X, KC_C, KC_V, KC_J
94 113
95#define ________________CARPALX_R1_________________ KC_Y , KC_F , KC_U , KC_B , KC_SCLN 114#define ________________CARPALX_R1_________________ KC_Y, KC_F, KC_U, KC_B, KC_SCLN
96#define ________________CARPALX_R2_________________ KC_I , KC_A , KC_E , KC_O , KC_H 115#define ________________CARPALX_R2_________________ KC_I, KC_A, KC_E, KC_O, KC_H
97#define ________________CARPALX_R3_________________ KC_K , KC_P , KC_COMM, KC_DOT , KC_SLSH 116#define ________________CARPALX_R3_________________ KC_K, KC_P, KC_COMM, KC_DOT, KC_SLSH
98 117
99// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 118// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
100// | ! | @ | { | } | _ | | \ | | ` | | | 119// | ! | @ | { | } | _ | | \ | | ` | | |
@@ -103,50 +122,51 @@ enum {
103// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 122// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
104// | % | ^ | [ | ] | + | | * | ~ | < | > | / | 123// | % | ^ | [ | ] | + | | * | ~ | < | > | / |
105// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 124// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
106#define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT , KC_LCBR, KC_RCBR, KC_UNDS 125#define _________________SYMBOL_L1_________________ KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_UNDS
107#define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR , KC_LPRN, KC_RPRN, KC_MINS 126#define _________________SYMBOL_L2_________________ KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_MINS
108#define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS 127#define _________________SYMBOL_L3_________________ KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_PLUS
109 128
110#define _________________SYMBOL_R1_________________ KC_BSLS, _______, KC_GRV , _______, _______ 129#define _________________SYMBOL_R1_________________ KC_BSLS, _______, KC_GRV, _______, _______
111#define _________________SYMBOL_R2_________________ KC_EQL , KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE 130#define _________________SYMBOL_R2_________________ KC_EQL, KC_AMPR, KC_QUOT, KC_DQUO, KC_PIPE
112#define _________________SYMBOL_R3_________________ KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH 131#define _________________SYMBOL_R3_________________ KC_ASTR, KC_TILD, KC_LABK, KC_RABK, KC_SLSH
113 132
114// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 133// System Control.
115// | | | | | | |MUTE |HOME | ^ | END | | 134// vol ↓ ctl ↓
116// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 135// ┌─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┐
117// | | | | | | |VOLUP| < | v | > | | 136// │ │ │ │ │ │ │MUTE │HOME │ ↑ │ END │LOCK │
118// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 137// ├─────┼─────┼─────╆━━━━━╅─────┤ ├─────╆━━━━━╅─────┼─────┼─────┤
119// | | | | | | |VOLDN|MPREV|MPLAY|MNEXT| | 138// │ │ │ ┃ ┃ │ │VOLUP┃ ← ┃ ↓ │ → │SLEEP│ ← arrows
120// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 139// ├─────┼─────┼─────╄━━━━━╃─────┤ ├─────╄━━━━━╃─────┼─────┼─────┤
121#define _________________SYSCTL_L1_________________ 140// │ │ │ │ │ │ │VOLDN│MPREV│MPLAY│MNEXT│ PWR │ ← music
122#define _________________SYSCTL_L2_________________ 141// └─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴─────┘
123#define _________________SYSCTL_L3_________________ 142#define _________________SYSCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, XXXXXXX
143#define _________________SYSCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_RIGHT, KC_MS_WH_UP
144#define _________________SYSCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_WH_DOWN
124 145
125// vol v ctl v 146// vol v ctl v
126#define _________________SYSCTL_R1_________________ KC_MUTE , KC_HOME , KC_UP , KC_END , PV_LOCK 147#define _________________SYSCTL_R1_________________ KC_MUTE, KC_HOME, KC_UP, KC_END, PV_LOCK
127#define _________________SYSCTL_R2_________________ KC_VOLU , KC_LEFT , KC_DOWN , KC_RGHT /* < arrows */ , KC_SLEP 148#define _________________SYSCTL_R2_________________ KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT /* < arrows */, KC_SLEP
128#define _________________SYSCTL_R3_________________ KC_VOLD , KC_MPRV , KC_MPLY , KC_MNXT /* < music */ , KC_PWR 149#define _________________SYSCTL_R3_________________ KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT /* < music */, KC_PWR
129 150
130// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 151// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
131// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| 152// |GAME |CRPLX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
132// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 153// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
133// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|VERSN|MAKE |FLASH|XXXXX| 154// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|VERSN|MAKE |FLASH|XXXXX|
134// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----, 155// ,-----+-----+-----x-----x-----, ,-----x-----x-----+-----+-----,
135// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| 156// |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX| |XXXXX|XXXXX|XXXXX|XXXXX|XXXXX|
136// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----, 157// ,-----+-----+-----+-----+-----, ,-----+-----+-----+-----+-----,
137#define __________________KBCTL_L1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX 158#define __________________KBCTL_L1_________________ PV_SSNC, PV_SCIN, PV_TEST, XXXXXXX, XXXXXXX
138#define __________________KBCTL_L2_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX 159#define __________________KBCTL_L2_________________ RGB_TOG, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX
139#define __________________KBCTL_L3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX 160#define __________________KBCTL_L3_________________ RGB_MOD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX
140
141#define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, PV_KTMR, XXXXXXX
142#define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX
143#define __________________KBCTL_R3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
144 161
145// we need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro 162#define __________________KBCTL_R1_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
146#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__) 163#define __________________KBCTL_R2_________________ XXXXXXX, PV_VRSN, PV_MAKE, PV_FLSH, XXXXXXX
147#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) 164#define __________________KBCTL_R3_________________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
148 165
166// We need wrappers in order for these definitions, because they need to be expanded before being used as arguments to the LAYOUT_xxx macro.
167#define LAYOUT_ergodox_pretty_wrapper(...) LAYOUT_ergodox_pretty(__VA_ARGS__)
168#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
149 169
150// extra stuff that might be needed 170// Extra stuff that might be needed.
151void keyboard_post_init_user_local(void); 171void keyboard_post_init_user_keymap(void);
152uint32_t layer_state_set_user_local(uint32_t state); 172uint32_t layer_state_set_user_keymap(uint32_t state);
diff --git a/users/pvinis/rules.mk b/users/pvinis/rules.mk
index da10cc743..f6f09e54d 100644
--- a/users/pvinis/rules.mk
+++ b/users/pvinis/rules.mk
@@ -1,15 +1,19 @@
1# add userspace file 1SRC += pvinis.c # add userspace file
2SRC += pvinis.c 2
3 3
4AUDIO_ENABLE = no # piezo speaker sounds 4## Use the stuff below on the keyboard keymaps, not here.
5RGBLIGHT_ENABLE = no # rgb leds underlight 5## If they are used here, they will replace the keymap's rules, since this file is eval'd later.
6TAP_DANCE_ENABLE = yes 6
7BACKLIGHT_ENABLE = no # leds under keycaps 7# TAP_DANCE_ENABLE = yes
8#MOUSEKEY_ENABLE = no 8# AUDIO_ENABLE = yes # piezo speaker sounds
9#SLEEP_LED_ENABLE = no # no led blinking while sleeping 9# RGBLIGHT_ENABLE = yes # rgb leds underlight
10#NKRO_ENABLE = yes 10# BACKLIGHT_ENABLE = no # leds under keycaps
11 11# MOUSEKEY_ENABLE = yes
12# make firmware smaller 12# LEEP_LED_ENABLE = no # no led blinking while sleeping
13LINK_TIME_OPTIMIZATION_ENABLE = yes 13# KRO_ENABLE = yes
14CONSOLE_ENABLE = no 14
15COMMAND_ENABLE = no 15## Some extra stuff to make firmware smaller.
16
17# LINK_TIME_OPTIMIZATION_ENABLE = yes
18# CONSOLE_ENABLE = no
19# COMMAND_ENABLE = no