aboutsummaryrefslogtreecommitdiff
path: root/keyboards/ein_60/keymaps/ledtest/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/ein_60/keymaps/ledtest/keymap.c')
-rw-r--r--keyboards/ein_60/keymaps/ledtest/keymap.c207
1 files changed, 207 insertions, 0 deletions
diff --git a/keyboards/ein_60/keymaps/ledtest/keymap.c b/keyboards/ein_60/keymaps/ledtest/keymap.c
new file mode 100644
index 000000000..6f903124a
--- /dev/null
+++ b/keyboards/ein_60/keymaps/ledtest/keymap.c
@@ -0,0 +1,207 @@
1/* Copyright 2021 klackygears
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18enum layer_names {
19 _QWERTY,
20 _LOWER,
21 _RAISE,
22 _ADJUST,
23 _FUNCTION,
24 };
25
26enum custom_keycodes {
27 RGBRST = SAFE_RANGE
28};
29
30const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
31
32 /* Qwerty
33 * ,-----------------------------------------. ,------. ,----------------------------------------.
34 * | Tab | Q | W | E | R | T | | Esc | |RGBRST|RGBHUI|RGBSAI|RGBVAI|RGBSPI| Bksp |
35 * |------+------+------+------+------+------| `------' |------+------+------+------+------+------|
36 * | Func | A | S | D | F | G | |RGBRMO|RGBHUD|RGBSAD|RGBVAD|RGBSPD|Enter |
37 * |------+------+------+------+------+------| |------+------+------+------+------+------|
38 * | Shift| Z | X | C | V | B | |RGBTOG| M | , | . | / | ' |
39 * |------+------+------|--------------------+ ,------. +--------------------|------+------+------|
40 * | Ctrl | ` | GUI | Alt |Lower |Space | |Space | |Space |Raise | Left | Down | Up |Right |
41 * `-----------------------------------------' `------' `-----------------------------------------'
42 */
43 [_QWERTY] = LAYOUT(
44 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_MUTE, RGBRST, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_BSPC,
45 MO(_FUNCTION), KC_A, KC_S, KC_D, KC_F, KC_G, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_ENT,
46 OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, RGB_TOG, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
47 KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, KC_CAPS, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
48 ),
49 /* Lower
50 * ,-----------------------------------------. ,------. ,-----------------------------------------.
51 * | Esc | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | Del |
52 * |------+------+------+------+------+------| `------' |------+------+------+------+------+------|
53 * | F1 | F2 | F3 | F4 | F5 | F6 | | | _ | + | { | } |Enter |
54 * |------+------+------+------+------+------| |------+------+------+------+------+------|
55 * | F7 | F8 | F9 | F10 | F11 | F12 | | | | | Mute | | | |
56 * |------+------+------|--------------------+ ,------. +--------------------|------+------+------|
57 * | | | | |Lower | Bksp | | | | Bksp |Raise | Next | Vol- | Vol+ | Play |
58 * `-----------------------------------------' `------' `-----------------------------------------'
59 */
60 [_LOWER] = LAYOUT(
61 KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
62 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
63 KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, KC_MUTE, _______, KC_PIPE,
64 _______, _______, _______, _______, _______, KC_BSPC, _______, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
65 ),
66 /* Raise
67 * ,-----------------------------------------. ,------. ,-----------------------------------------.
68 * | Esc | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Del |
69 * |------+------+------+------+------+------| `------' |------+------+------+------+------+------|
70 * | | 4 | 5 | 6 | + | F5 | | F6 | - | = | [ | ] |Enter |
71 * |------+------+------+------+------+------| |------+------+------+------+------+------|
72 * |Enter | 7 | 8 | 9 | - | F11 | | F12 |ISO # |ISO / | Mute | | \ |
73 * |------+------+------|--------------------+ ,------. +--------------------|------+------+------|
74 * | | , | 0 | . |Lower | Bksp | | | | Bksp |Raise | Next | Vol- | Vol+ | Play |
75 * `-----------------------------------------' `------' `-----------------------------------------'
76 */
77 [_RAISE] = LAYOUT(
78 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
79 _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
80 KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
81 _______, KC_COMM, KC_0, KC_DOT, _______, KC_BSPC, _______, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
82 ),
83 /* Adjust (Lower + Raise)
84 * ,-----------------------------------------. ,------. ,-----------------------------------------.
85 * | | | | | | | | | |RGBRST|RGBMOD|RGBVAI|RGBSAI|RGBHUI| |
86 * |------+------+------+------+------+------| `------' |------+------+------+------+------+------|
87 * | | | | | | | | |RGBRMO|RGBVAD|RGBSAD|RGBHUD|RGBTOG|
88 * |------+------+------+------+------+------| |------+------+------+------+------+------|
89 * | | | | | | | | | | | | |BLSTEP|
90 * |------+------+------|--------------------+ ,------. +--------------------|------+------+------|
91 * | | | | | | | | | | | | | | | RESET|
92 * `-----------------------------------------' `------' `-----------------------------------------'
93 */
94 [_ADJUST] = LAYOUT(
95 _______, _______, _______, _______, _______, _______, _______, RGBRST, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, _______,
96 _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_VAD, RGB_SAD, RGB_HUD, RGB_TOG,
97 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP,
98 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET
99 ),
100 /* Function
101 * ,-----------------------------------------. ,------. ,-----------------------------------------.
102 * | | | | | | | | | | | | Up | | | |
103 * |------+------+------+------+------+------| `------' |------+------+------+------+------+------|
104 * | | | | | | | | | Left | Down |Right | | |
105 * |------+------+------+------+------+------| |------+------+------+------+------+------|
106 * | Caps | | | | | | | | | | | | |
107 * |------+------+------|--------------------+ ,------. +--------------------|------+------+------|
108 * | | | | | | | | | | | | | | | |
109 * `-----------------------------------------' `------' `-----------------------------------------'
110 */
111 [_FUNCTION] = LAYOUT(
112 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
113 _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
114 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
115 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
116 )
117};
118
119layer_state_t layer_state_set_user(layer_state_t state) {
120 return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
121}
122
123#ifdef OLED_ENABLE
124
125
126static void render_ein60_logo(void) {
127 static const char PROGMEM ein60_logo[] = {
128 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
129 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 11,251,139,139,139,139,139,139,139,139,139,139,139, 11, 15, 0,240,240, 16,240, 0,240,240, 16,240,224,192,128, 0, 0, 0, 0,240, 16,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 11,251,139,139,139,139,139,139,139,139,139,139,139,143,128, 0, 0, 0, 0,254,255, 11,251, 11, 11, 11, 11,139,203,235,123,187,219,235,251,255, 7,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 4,253,197,197,197,197,197,197,197,197,197,197,199,192,192, 0,255,255, 0,255, 0,255,255, 0,254, 13, 27, 55,111,222,188,120,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0,255,197,197,197,197,197,197,197,197,197,197,253,253,255,131,254, 0, 0,255,255, 0,255,184,220,238,247,219,205,198,195,193,192,255,255,255,128,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
131 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 3, 3, 2, 3, 0, 3, 3, 2, 3, 0, 0, 0, 0, 0, 1, 3, 2, 2, 3, 0, 8, 28, 20, 20, 20, 20, 20, 28, 8, 0, 1, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 0, 0, 1, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
132 };
133 oled_write_raw_P(ein60_logo, sizeof(ein60_logo));
134 }
135
136static void render_status(void) {
137 // Host Keyboard Layer Status
138 oled_write_P(PSTR("Layer: "), false);
139 switch (get_highest_layer(layer_state)) {
140 case _QWERTY:
141 oled_write_P(PSTR("Default\n"), false);
142 break;
143 case _LOWER:
144 oled_write_P(PSTR("Lower\n"), false);
145 break;
146 case _RAISE:
147 oled_write_P(PSTR("Raise\n"), false);
148 break;
149 case _ADJUST:
150 oled_write_P(PSTR("Adjust\n"), false);
151 break;
152 case _FUNCTION:
153 oled_write_P(PSTR("FN\n"), false);
154 break;
155 default:
156 // Or use the write_ln shortcut over adding '\n' to the end of your string
157 oled_write_ln_P(PSTR("Undefined"), false);
158 }
159
160 // Host Keyboard LED Status
161 led_t led_state = host_keyboard_led_state();
162 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
163 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
164 oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
165
166 oled_set_cursor(1,2);
167}
168
169void oled_task_user(void) {
170
171 render_status();
172 oled_write_ln_P(PSTR(""), false);
173 render_ein60_logo();
174}
175#endif
176
177
178bool encoder_update_user(uint8_t index, bool clockwise) {
179 if (index == 0) { /* First encoder */
180 if (clockwise) {
181 tap_code(KC_VOLU);
182 } else {
183 tap_code(KC_VOLD);
184 }
185 } else if (index == 1) { /* Second encoder */
186 if (clockwise) {
187 tap_code(KC_DOWN);
188 } else {
189 tap_code(KC_UP);
190 }
191 }
192 return true;
193}
194
195bool process_record_user(uint16_t keycode, keyrecord_t *record) {
196 switch (keycode) {
197 case RGBRST:
198 #ifdef RGBLIGHT_ENABLE
199 if (record->event.pressed) {
200 eeconfig_update_rgblight_default();
201 rgblight_enable();
202 }
203 #endif
204 break;
205 }
206 return true;
207}