+1
-3
drivers/ps2/ps2_mouse.c
+1
-3
drivers/ps2/ps2_mouse.c
···
89
} else {
90
if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n");
91
/* return here to avoid updating the mouse button state */
92
-
return;
93
}
94
#else
95
if (pbuf_has_data()) {
···
97
mouse_report.x = ps2_host_recv_response();
98
mouse_report.y = ps2_host_recv_response();
99
# ifdef PS2_MOUSE_ENABLE_SCROLLING
100
-
mouse_report.v = -(ps2_host_recv_response() & PS2_MOUSE_SCROLL_MASK);
101
# endif
102
} else {
103
if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n");
104
/* return here to avoid updating the mouse button state */
105
-
return;
106
}
107
#endif
108
···
89
} else {
90
if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n");
91
/* return here to avoid updating the mouse button state */
92
}
93
#else
94
if (pbuf_has_data()) {
···
96
mouse_report.x = ps2_host_recv_response();
97
mouse_report.y = ps2_host_recv_response();
98
# ifdef PS2_MOUSE_ENABLE_SCROLLING
99
+
mouse_report.v = -(ps2_host_recv_response() & PS2_MOUSE_SCROLL_MASK);
100
# endif
101
} else {
102
if (debug_mouse) print("ps2_mouse: fail to get mouse packet\n");
103
/* return here to avoid updating the mouse button state */
104
}
105
#endif
106
+5
keyboards/corne_monke/halconf.h
+5
keyboards/corne_monke/halconf.h
+131
keyboards/corne_monke/info.json
+131
keyboards/corne_monke/info.json
···
···
1
+
{
2
+
"manufacturer": "monke",
3
+
"url": "https://github.com/foostan/crkbd",
4
+
"maintainer": "qmk",
5
+
"usb": {
6
+
"vid": "0x4653"
7
+
},
8
+
"features": {
9
+
"bootmagic": true,
10
+
"extrakey": true,
11
+
"nkro": true,
12
+
"oled": true,
13
+
"rgblight": false,
14
+
"rgb_matrix": false
15
+
},
16
+
"bootmagic": {
17
+
"matrix": [0, 1]
18
+
},
19
+
"split": {
20
+
"enabled": true,
21
+
"bootmagic": {
22
+
"matrix": [4, 1]
23
+
}
24
+
},
25
+
"layout_aliases": {
26
+
"LAYOUT": "LAYOUT_split_3x6_3"
27
+
},
28
+
"community_layouts": [ "split_3x5_3", "split_3x6_3" ],
29
+
"layouts": {
30
+
"LAYOUT_split_3x5_3": {
31
+
"layout": [
32
+
{"matrix": [0, 1], "x": 0, "y": 0.3},
33
+
{"matrix": [0, 2], "x": 1, "y": 0.1},
34
+
{"matrix": [0, 3], "x": 2, "y": 0},
35
+
{"matrix": [0, 4], "x": 3, "y": 0.1},
36
+
{"matrix": [0, 5], "x": 4, "y": 0.2},
37
+
38
+
{"matrix": [4, 5], "x": 8, "y": 0.2},
39
+
{"matrix": [4, 4], "x": 9, "y": 0.1},
40
+
{"matrix": [4, 3], "x": 10, "y": 0},
41
+
{"matrix": [4, 2], "x": 11, "y": 0.1},
42
+
{"matrix": [4, 1], "x": 12, "y": 0.3},
43
+
44
+
{"matrix": [1, 1], "x": 0, "y": 1.3},
45
+
{"matrix": [1, 2], "x": 1, "y": 1.1},
46
+
{"matrix": [1, 3], "x": 2, "y": 1},
47
+
{"matrix": [1, 4], "x": 3, "y": 1.1},
48
+
{"matrix": [1, 5], "x": 4, "y": 1.2},
49
+
50
+
{"matrix": [5, 5], "x": 8, "y": 1.2},
51
+
{"matrix": [5, 4], "x": 9, "y": 1.1},
52
+
{"matrix": [5, 3], "x": 10, "y": 1},
53
+
{"matrix": [5, 2], "x": 11, "y": 1.1},
54
+
{"matrix": [5, 1], "x": 12, "y": 1.3},
55
+
56
+
{"matrix": [2, 1], "x": 0, "y": 2.3},
57
+
{"matrix": [2, 2], "x": 1, "y": 2.1},
58
+
{"matrix": [2, 3], "x": 2, "y": 2},
59
+
{"matrix": [2, 4], "x": 3, "y": 2.1},
60
+
{"matrix": [2, 5], "x": 4, "y": 2.2},
61
+
62
+
{"matrix": [6, 5], "x": 8, "y": 2.2},
63
+
{"matrix": [6, 4], "x": 9, "y": 2.1},
64
+
{"matrix": [6, 3], "x": 10, "y": 2},
65
+
{"matrix": [6, 2], "x": 11, "y": 2.1},
66
+
{"matrix": [6, 1], "x": 12, "y": 2.3},
67
+
68
+
{"matrix": [3, 3], "x": 3, "y": 3.7},
69
+
{"matrix": [3, 4], "x": 4, "y": 3.7},
70
+
{"matrix": [3, 5], "x": 5, "y": 3.2, "h": 1.5},
71
+
72
+
{"matrix": [7, 5], "x": 7, "y": 3.2, "h": 1.5},
73
+
{"matrix": [7, 4], "x": 8, "y": 3.7},
74
+
{"matrix": [7, 3], "x": 9, "y": 3.7}
75
+
]
76
+
},
77
+
"LAYOUT_split_3x6_3": {
78
+
"layout": [
79
+
{"matrix": [0, 0], "x": 0, "y": 0.3},
80
+
{"matrix": [0, 1], "x": 1, "y": 0.3},
81
+
{"matrix": [0, 2], "x": 2, "y": 0.1},
82
+
{"matrix": [0, 3], "x": 3, "y": 0},
83
+
{"matrix": [0, 4], "x": 4, "y": 0.1},
84
+
{"matrix": [0, 5], "x": 5, "y": 0.2},
85
+
86
+
{"matrix": [4, 5], "x": 9, "y": 0.2},
87
+
{"matrix": [4, 4], "x": 10, "y": 0.1},
88
+
{"matrix": [4, 3], "x": 11, "y": 0},
89
+
{"matrix": [4, 2], "x": 12, "y": 0.1},
90
+
{"matrix": [4, 1], "x": 13, "y": 0.3},
91
+
{"matrix": [4, 0], "x": 14, "y": 0.3},
92
+
93
+
{"matrix": [1, 0], "x": 0, "y": 1.3},
94
+
{"matrix": [1, 1], "x": 1, "y": 1.3},
95
+
{"matrix": [1, 2], "x": 2, "y": 1.1},
96
+
{"matrix": [1, 3], "x": 3, "y": 1},
97
+
{"matrix": [1, 4], "x": 4, "y": 1.1},
98
+
{"matrix": [1, 5], "x": 5, "y": 1.2},
99
+
100
+
{"matrix": [5, 5], "x": 9, "y": 1.2},
101
+
{"matrix": [5, 4], "x": 10, "y": 1.1},
102
+
{"matrix": [5, 3], "x": 11, "y": 1},
103
+
{"matrix": [5, 2], "x": 12, "y": 1.1},
104
+
{"matrix": [5, 1], "x": 13, "y": 1.3},
105
+
{"matrix": [5, 0], "x": 14, "y": 1.3},
106
+
107
+
{"matrix": [2, 0], "x": 0, "y": 2.3},
108
+
{"matrix": [2, 1], "x": 1, "y": 2.3},
109
+
{"matrix": [2, 2], "x": 2, "y": 2.1},
110
+
{"matrix": [2, 3], "x": 3, "y": 2},
111
+
{"matrix": [2, 4], "x": 4, "y": 2.1},
112
+
{"matrix": [2, 5], "x": 5, "y": 2.2},
113
+
114
+
{"matrix": [6, 5], "x": 9, "y": 2.2},
115
+
{"matrix": [6, 4], "x": 10, "y": 2.1},
116
+
{"matrix": [6, 3], "x": 11, "y": 2},
117
+
{"matrix": [6, 2], "x": 12, "y": 2.1},
118
+
{"matrix": [6, 1], "x": 13, "y": 2.3},
119
+
{"matrix": [6, 0], "x": 14, "y": 2.3},
120
+
121
+
{"matrix": [3, 3], "x": 4, "y": 3.7},
122
+
{"matrix": [3, 4], "x": 5, "y": 3.7},
123
+
{"matrix": [3, 5], "x": 6, "y": 3.2, "h": 1.5},
124
+
125
+
{"matrix": [7, 5], "x": 8, "y": 3.2, "h": 1.5},
126
+
{"matrix": [7, 4], "x": 9, "y": 3.7},
127
+
{"matrix": [7, 3], "x": 10, "y": 3.7}
128
+
]
129
+
}
130
+
}
131
+
}
+35
keyboards/corne_monke/keymaps/monker/config.h
+35
keyboards/corne_monke/keymaps/monker/config.h
···
···
1
+
/*
2
+
This is the c configuration file for the keymap
3
+
4
+
Copyright 2012 Jun Wako <wakojun@gmail.com>
5
+
Copyright 2015 Jack Humbert
6
+
7
+
This program is free software: you can redistribute it and/or modify
8
+
it under the terms of the GNU General Public License as published by
9
+
the Free Software Foundation, either version 2 of the License, or
10
+
(at your option) any later version.
11
+
12
+
This program is distributed in the hope that it will be useful,
13
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+
GNU General Public License for more details.
16
+
17
+
You should have received a copy of the GNU General Public License
18
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+
*/
20
+
21
+
#pragma once
22
+
23
+
#define EE_HANDS
24
+
#define NKRO_DEFAULT_ON 1
25
+
26
+
#define SPLIT_LAYER_STATE_ENABLE
27
+
#define SPLIT_LED_STATE_ENABLE
28
+
#define SPLIT_WPM_ENABLE
29
+
30
+
#ifdef OLED_ENABLE
31
+
#define OLED_FONT_H "lib/glcdfont_monke.c"
32
+
#else
33
+
#define PS2_PIO_USE_PIO1
34
+
#define PS2_MOUSE_ROTATE 270
35
+
#endif
+319
keyboards/corne_monke/keymaps/monker/keymap.c
+319
keyboards/corne_monke/keymaps/monker/keymap.c
···
···
1
+
#include "action_layer.h"
2
+
#include "quantum.h"
3
+
#include QMK_KEYBOARD_H
4
+
#include "os_detection.h"
5
+
#include "raw_hid.h"
6
+
7
+
#include <stdio.h>
8
+
9
+
#define L_N 1
10
+
#define L_DHM 2
11
+
12
+
enum custom_keycodes {
13
+
DF_NORMAL = SAFE_RANGE,
14
+
DF_DHM
15
+
};
16
+
17
+
enum tapdance_keys {
18
+
TD_CAPS,
19
+
TD_ESC
20
+
};
21
+
22
+
enum layers {
23
+
NORMAL,
24
+
DHM,
25
+
NUMBERS,
26
+
MOUSE,
27
+
F_ROW
28
+
};
29
+
30
+
static uint16_t auto_buttons_timer;
31
+
extern int tp_buttons;
32
+
33
+
void tap_dance_esc(tap_dance_state_t *state, void *user_data) {
34
+
switch (state->count) {
35
+
case 1:
36
+
tap_code(KC_TAB);
37
+
break;
38
+
case 2:
39
+
tap_code(KC_ESC);
40
+
break;
41
+
case 3:
42
+
switch (detected_host_os()) {
43
+
case OS_IOS:
44
+
case OS_MACOS:
45
+
SEND_STRING(SS_LCTL(SS_LGUI("q")));
46
+
break;
47
+
default:
48
+
SEND_STRING(SS_LGUI(SS_LALT("u")));
49
+
break;
50
+
}
51
+
break;
52
+
}
53
+
}
54
+
55
+
void tap_dance_caps(tap_dance_state_t *state, void *user_data) {
56
+
switch (state->count) {
57
+
case 1:
58
+
tap_code(KC_LALT);
59
+
break;
60
+
case 2:
61
+
tap_code(KC_CAPS);
62
+
break;
63
+
case 3:
64
+
if (default_layer_state == L_DHM) {
65
+
set_single_persistent_default_layer(NORMAL);
66
+
} else {
67
+
set_single_persistent_default_layer(DHM);
68
+
}
69
+
break;
70
+
}
71
+
}
72
+
73
+
tap_dance_action_t tap_dance_actions[] = {
74
+
[TD_CAPS] = ACTION_TAP_DANCE_FN(tap_dance_caps),
75
+
[TD_ESC] = ACTION_TAP_DANCE_FN(tap_dance_esc)
76
+
};
77
+
78
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
79
+
[NORMAL] = LAYOUT_split_3x6_3(
80
+
//,-----------------------------------------------------. ,-----------------------------------------------------.
81
+
TD(TD_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, XXXXXXX,
82
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
83
+
TD(TD_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
84
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
85
+
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX,
86
+
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
87
+
KC_LGUI, KC_LSFT, KC_SPC, KC_ENT,MO(NUMBERS),KC_BSPC
88
+
// `--------------------------' `--------------------------'
89
+
90
+
),
91
+
92
+
[DHM] = LAYOUT_split_3x6_3(
93
+
//,-----------------------------------------------------. ,-----------------------------------------------------.
94
+
_______, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,DF_NORMAL,
95
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
96
+
_______, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
97
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
98
+
_______, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
99
+
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
100
+
_______, _______, _______, _______, _______, _______
101
+
// `--------------------------' `--------------------------'
102
+
103
+
),
104
+
105
+
[NUMBERS] = LAYOUT_split_3x6_3(
106
+
//,-----------------------------------------------------. ,-----------------------------------------------------.
107
+
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
108
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
109
+
_______, KC_MPRV, KC_MPLY, KC_MNXT, KC_BRIU, KC_VOLU, KC_DEL,KC_MINUS,KC_EQUAL, KC_LBRC, KC_RBRC, KC_BSLS,
110
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
111
+
_______,TG(F_ROW),XXXXXXX, XXXXXXX, KC_BRID, KC_VOLD, QK_BOOT, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, _______,
112
+
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
113
+
_______, _______, _______, _______, _______, _______
114
+
// `--------------------------' `--------------------------'
115
+
),
116
+
117
+
[MOUSE] = LAYOUT_split_3x6_3(
118
+
//,-----------------------------------------------------. ,-----------------------------------------------------.
119
+
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
120
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
121
+
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
122
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
123
+
_______, _______, _______, _______, _______, _______, TG(MOUSE), _______, _______, _______, _______, _______,
124
+
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
125
+
_______, MS_BTN3, MS_BTN1, MS_BTN2, _______, _______
126
+
// `--------------------------' `--------------------------'
127
+
),
128
+
129
+
[F_ROW] = LAYOUT_split_3x6_3(
130
+
//,-----------------------------------------------------. ,-----------------------------------------------------.
131
+
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
132
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
133
+
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
134
+
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
135
+
_______,TG(F_ROW),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
136
+
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
137
+
_______, _______, _______, _______, _______, _______
138
+
// `--------------------------' `--------------------------'
139
+
),
140
+
};
141
+
142
+
void matrix_scan_user(void) {
143
+
if (auto_buttons_timer && (timer_elapsed(auto_buttons_timer) > 700)) {
144
+
if (!tp_buttons) {
145
+
layer_off(MOUSE);
146
+
auto_buttons_timer = 0;
147
+
}
148
+
}
149
+
}
150
+
151
+
152
+
char _SYSINFO_BAT[5] = {};
153
+
char _SYSINFO_CPU[5] = {};
154
+
char _SYSINFO_RAM[4] = {};
155
+
char _SYSINFO_VOL[5] = {};
156
+
157
+
void raw_hid_receive(uint8_t* data, uint8_t length) {
158
+
uint8_t response[length];
159
+
memset(response, 0, length);
160
+
response[0] = 'P';
161
+
char *info;
162
+
switch (data[0]) {
163
+
case 'B':
164
+
info = _SYSINFO_BAT;
165
+
break;
166
+
case 'V':
167
+
info = _SYSINFO_VOL;
168
+
break;
169
+
case 'M':
170
+
info = _SYSINFO_RAM;
171
+
break;
172
+
case 'C':
173
+
info = _SYSINFO_CPU;
174
+
break;
175
+
default:
176
+
return;
177
+
}
178
+
179
+
info[0] = data[1];
180
+
info[1] = data[2];
181
+
info[2] = data[3];
182
+
info[3] = data[4];
183
+
184
+
raw_hid_send(response, length);
185
+
}
186
+
187
+
#ifdef OLED_ENABLE
188
+
#include "oled_driver.h"
189
+
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
190
+
return OLED_ROTATION_270;
191
+
}
192
+
193
+
void oled_render_layer_state(void) {
194
+
static const char PROGMEM n_logo[] = {
195
+
0x95, 0x96, 0x94, 0x94, 0x94,
196
+
0xB5, 0xB6, 0x94, 0x94, 0x94, 0x00
197
+
};
198
+
static const char PROGMEM dh_logo[] = {
199
+
0x97, 0x98, 0x99, 0x94, 0x94,
200
+
0xB7, 0xB8, 0xB9, 0x94, 0x94, 0x00
201
+
};
202
+
switch (default_layer_state) {
203
+
case 0:
204
+
case L_N:
205
+
oled_write_P(n_logo, false);
206
+
break;
207
+
case L_DHM:
208
+
oled_write_P(dh_logo, false);
209
+
break;
210
+
default:
211
+
oled_write_P(PSTR("?????\n?????"), false);
212
+
break;
213
+
}
214
+
switch (get_highest_layer(layer_state)) {
215
+
case NUMBERS:
216
+
oled_write_P(PSTR("+ sym"), false);
217
+
break;
218
+
case MOUSE:
219
+
oled_write_P(PSTR("+ nav"), false);
220
+
break;
221
+
case F_ROW:
222
+
oled_write_P(PSTR("+ f n"), false);
223
+
break;
224
+
default:
225
+
oled_write_P(PSTR(" "), false);
226
+
break;
227
+
}
228
+
oled_write_P(PSTR("-----"), false);
229
+
}
230
+
231
+
void oled_render_wpm(void) {
232
+
static char wpm_str[9];
233
+
snprintf(wpm_str, sizeof(wpm_str), "WPM:\n%-3i", get_current_wpm());
234
+
oled_write_ln(wpm_str, false);
235
+
oled_write_P(PSTR("-----"), false);
236
+
}
237
+
238
+
void oled_render_logo(void) {
239
+
// art
240
+
// (\ /) (\ /)
241
+
// ( . .) (. . )
242
+
// c(")(") (")("))
243
+
//
244
+
static const char PROGMEM crkbd_logo[] = {
245
+
0x28, 0x5c, 0x20, 0x2f, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x5c, 0x20, 0x2f, 0x29,
246
+
0x28, 0x20, 0x2e, 0x20, 0x2e, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x2e, 0x20, 0x2e, 0x20, 0x29,
247
+
0x63, 0x28, 0x22, 0x29, 0x28, 0x22, 0x29, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x22, 0x29, 0x28, 0x22, 0x29, 0x80,
248
+
0};
249
+
oled_write_P(crkbd_logo, false);
250
+
}
251
+
void oled_render_sl(void) {
252
+
if (host_keyboard_led_state().caps_lock) {
253
+
static const char PROGMEM cap_ind_top[] = {
254
+
0x9A, 0x9B, 0x00
255
+
};
256
+
static const char PROGMEM cap_ind_bottom[] = {
257
+
0xBA, 0xBB, 0x00
258
+
};
259
+
oled_set_cursor(3, 0);
260
+
oled_write_P(cap_ind_top, false);
261
+
oled_set_cursor(3, 1);
262
+
oled_write_P(cap_ind_bottom, false);
263
+
}
264
+
}
265
+
266
+
void oled_render_sysinfo(void) {
267
+
static const char PROGMEM ram_logo[] = {
268
+
0x85, 0x86, 0x00
269
+
};
270
+
271
+
oled_write_char((char)0x82, false);
272
+
oled_write(_SYSINFO_BAT, false);
273
+
274
+
oled_write_P(ram_logo, false);
275
+
oled_write(_SYSINFO_RAM, false);
276
+
277
+
oled_write_char((char)0x83, false);
278
+
oled_write(_SYSINFO_VOL, false);
279
+
280
+
oled_write_char((char)0x84, false);
281
+
oled_write(_SYSINFO_CPU, false);
282
+
283
+
oled_write("-----", false);
284
+
}
285
+
286
+
287
+
bool oled_task_user(void) {
288
+
oled_render_layer_state();
289
+
oled_render_wpm();
290
+
oled_render_sysinfo();
291
+
292
+
oled_render_sl();
293
+
294
+
return false;
295
+
}
296
+
297
+
bool shutdown_user(bool jump_to_bootloader) {
298
+
if (jump_to_bootloader) {
299
+
oled_write("FLASH", false);
300
+
}
301
+
return false;
302
+
}
303
+
304
+
#else
305
+
306
+
#include "gpio.h"
307
+
308
+
void ps2_mouse_moved_user(report_mouse_t *mouse_report) {
309
+
if (auto_buttons_timer) {
310
+
auto_buttons_timer = timer_read();
311
+
} else {
312
+
if (!tp_buttons) {
313
+
layer_on(MOUSE);
314
+
auto_buttons_timer = timer_read();
315
+
}
316
+
}
317
+
}
318
+
319
+
#endif // OLED_ENABLE
+8
keyboards/corne_monke/keymaps/monker/rules.mk
+8
keyboards/corne_monke/keymaps/monker/rules.mk
+260
keyboards/corne_monke/lib/glcdfont_monke.c
+260
keyboards/corne_monke/lib/glcdfont_monke.c
···
···
1
+
#include "progmem.h"
2
+
3
+
static const unsigned char PROGMEM font[] = {
4
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
5
+
0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
6
+
0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
7
+
0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
8
+
0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
9
+
0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
10
+
0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
11
+
0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
12
+
0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
13
+
0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
14
+
0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
15
+
0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
16
+
0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
17
+
0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
18
+
0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
19
+
0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
20
+
0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
21
+
0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
22
+
0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
23
+
0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
24
+
0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
25
+
0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
26
+
0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
27
+
0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
28
+
0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
29
+
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
30
+
0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
31
+
0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
32
+
0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
33
+
0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
34
+
0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
35
+
0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
36
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
37
+
0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
38
+
0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
39
+
0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
40
+
0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
41
+
0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
42
+
0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
43
+
0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
44
+
0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
45
+
0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
46
+
0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
47
+
0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
48
+
0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
49
+
0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
50
+
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
51
+
0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
52
+
0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
53
+
0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
54
+
0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
55
+
0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
56
+
0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
57
+
0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
58
+
0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
59
+
0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
60
+
0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
61
+
0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
62
+
0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
63
+
0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
64
+
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
65
+
0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
66
+
0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
67
+
0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
68
+
0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
69
+
0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
70
+
0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
71
+
0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
72
+
0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
73
+
0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
74
+
0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
75
+
0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
76
+
0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
77
+
0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
78
+
0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
79
+
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
80
+
0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
81
+
0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
82
+
0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
83
+
0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
84
+
0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
85
+
0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
86
+
0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
87
+
0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
88
+
0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
89
+
0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
90
+
0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
91
+
0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
92
+
0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
93
+
0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
94
+
0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
95
+
0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
96
+
0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
97
+
0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
98
+
0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
99
+
0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
100
+
0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
101
+
0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
102
+
0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
103
+
0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
104
+
0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
105
+
0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
106
+
0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
107
+
0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
108
+
0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
109
+
0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
110
+
0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
111
+
0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
112
+
0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
113
+
0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
114
+
0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
115
+
0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
116
+
0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
117
+
0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
118
+
0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
119
+
0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
120
+
0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
121
+
0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
122
+
0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
123
+
0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
124
+
0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
125
+
0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
126
+
0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
127
+
0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
128
+
0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
129
+
0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
130
+
0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
131
+
0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
132
+
0x00, 0x28, 0x44, 0x44, 0x44, 0x38,
133
+
0x40, 0xA0, 0x40, 0xA0, 0x40, 0xA0,
134
+
0x00, 0x7E, 0x7F, 0x7F, 0x7E, 0x00,
135
+
0x00, 0x18, 0x18, 0x3C, 0x7E, 0x00,
136
+
0x00, 0x08, 0x38, 0x1C, 0x10, 0x00,
137
+
0x00, 0x7E, 0x3E, 0x6A, 0x2A, 0x7E,
138
+
0x2A, 0x2A, 0x6A, 0x3E, 0x7E, 0x00,
139
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
143
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
145
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
147
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
148
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153
+
0xFE, 0xFF, 0x03, 0xDF, 0xBF, 0x7F,
154
+
0xFF, 0xFF, 0x03, 0xFF, 0xFE, 0x00,
155
+
0xFE, 0xFF, 0x03, 0xFB, 0xFB, 0xFB,
156
+
0xFB, 0x07, 0xFF, 0x03, 0x7F, 0x7F,
157
+
0x7F, 0x7F, 0x03, 0xFF, 0xFE, 0x00,
158
+
0xFE, 0x9F, 0x8F, 0x87, 0x03, 0x01,
159
+
0x03, 0x87, 0x8F, 0x9F, 0xFE, 0x00,
160
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
162
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
164
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
165
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
166
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
167
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
168
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
183
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
184
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
185
+
0x3F, 0x7F, 0x60, 0x7F, 0x7F, 0x7F,
186
+
0x7E, 0x7D, 0x60, 0x7F, 0x3F, 0x00,
187
+
0x3F, 0x7F, 0x60, 0x6F, 0x6F, 0x6F,
188
+
0x6F, 0x70, 0x7F, 0x60, 0x7F, 0x7F,
189
+
0x7F, 0x7F, 0x60, 0x7F, 0x3F, 0x00,
190
+
0x3F, 0x7F, 0x7F, 0x7F, 0x50, 0x50,
191
+
0x50, 0x7F, 0x7F, 0x7F, 0x3F, 0x00,
192
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
195
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
196
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
200
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
202
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
203
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
204
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
205
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
206
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
207
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
217
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
218
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
222
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
223
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
224
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
225
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
226
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
231
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
233
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
235
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
239
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
240
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
242
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
243
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
244
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
245
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
247
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
248
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
249
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
250
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
251
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
252
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
253
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
254
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
258
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
259
+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260
+
};
+31
keyboards/corne_monke/monke/keyboard.json
+31
keyboards/corne_monke/monke/keyboard.json
···
···
1
+
{
2
+
"keyboard_name": "Corne",
3
+
"usb": {
4
+
"pid": "0x0001",
5
+
"device_version": "0.0.1"
6
+
},
7
+
"processor": "RP2040",
8
+
"bootloader": "rp2040",
9
+
"features": {
10
+
"rgblight": false
11
+
},
12
+
"build": {
13
+
"lto": true
14
+
},
15
+
"matrix_pins": {
16
+
"cols": [ "GP29", "GP28", "GP27", "GP26", "GP8", "GP9" ],
17
+
"rows": [ "GP4", "GP5", "GP6", "GP7" ]
18
+
},
19
+
"diode_direction": "COL2ROW",
20
+
"split": {
21
+
"serial": {
22
+
"driver": "vendor",
23
+
"pin": "GP1"
24
+
},
25
+
"transport": {
26
+
"sync": {
27
+
"matrix_state": true
28
+
}
29
+
}
30
+
}
31
+
}
+38
keyboards/corne_monke/monke_tp/keyboard.json
+38
keyboards/corne_monke/monke_tp/keyboard.json
···
···
1
+
{
2
+
"keyboard_name": "Corne",
3
+
"usb": {
4
+
"pid": "0x0001",
5
+
"device_version": "0.0.1"
6
+
},
7
+
"processor": "RP2040",
8
+
"bootloader": "rp2040",
9
+
"features": {
10
+
"rgblight": false
11
+
},
12
+
"build": {
13
+
"lto": true
14
+
},
15
+
"matrix_pins": {
16
+
"cols": [ "GP29", "GP28", "GP27", "GP26", "GP8", "GP9" ],
17
+
"rows": [ "GP4", "GP5", "GP6", "GP7" ]
18
+
},
19
+
"diode_direction": "COL2ROW",
20
+
"split": {
21
+
"serial": {
22
+
"driver": "vendor",
23
+
"pin": "GP1"
24
+
},
25
+
"transport": {
26
+
"sync": {
27
+
"matrix_state": true
28
+
}
29
+
}
30
+
},
31
+
"ps2": {
32
+
"clock_pin": "GP3",
33
+
"data_pin": "GP2",
34
+
"driver": "vendor",
35
+
"enabled": true,
36
+
"mouse_enabled": true
37
+
}
38
+
}
+114
keyboards/corne_monke/readme.md
+114
keyboards/corne_monke/readme.md
···
···
1
+
# Corne Keyboard (CRKBD)
2
+
3
+

4
+
5
+

6
+
7
+
A split keyboard with 3x6 vertically staggered keys and 3 thumb keys.
8
+
Also, it has the option that use extension keys and rotary encoders.
9
+
10
+
Keyboard Maintainer: [foostan](https://github.com/foostan/) [@foostan](https://twitter.com/foostan)
11
+
Hardware Supported: Corne PCB
12
+
Hardware Availability: [PCB & Case Data](https://github.com/foostan/crkbd)
13
+
14
+
Flash example for this keyboard of v1 - v3:
15
+
16
+
```sh
17
+
qmk flash -kb crkbd/rev1 -km default
18
+
```
19
+
20
+
Flash example for this keyboard of v4:
21
+
22
+
```sh
23
+
qmk flash -kb crkbd/rev4 -km default
24
+
```
25
+
26
+
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
27
+
28
+
## Bootloader
29
+
30
+
The Corne PCBs have a reset and boot buttons next to the TRRS jack to enter in to the bootloader.
31
+
32
+
Additionally, if you hold down the "Q" or "P" buttons when plugging in that half of the keyboard (per the default QWERTY layout), this will jump to the bootloader and reset the EEPROM (persistent storage). This would normally be the very top corner-most position, but due to the breakaway column, it's left at Q and P for compatibility.
33
+
34
+
## RGB Matrix
35
+
The Corne Keyboard also supports using the RGB Matrix feature, in place of RGB Light. This provides a better experience when using the keyboard, as it supports a number of per key effects properly. If you're not using the in switch LEDs, then you may want to pass on doing this.
36
+
37
+
In your keymap's `rules.mk` file, add the following:
38
+
39
+
```make
40
+
RGBLIGHT_ENABLE = no
41
+
RGB_MATRIX_ENABLE = yes
42
+
```
43
+
44
+
And in your `config.h` file, add the following:
45
+
46
+
```c
47
+
48
+
#ifdef RGB_MATRIX_ENABLE
49
+
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
50
+
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
51
+
# define RGB_MATRIX_SLEEP // turn off effects when suspended
52
+
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
53
+
// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
54
+
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
55
+
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
56
+
# define RGB_MATRIX_HUE_STEP 8
57
+
# define RGB_MATRIX_SAT_STEP 8
58
+
# define RGB_MATRIX_VAL_STEP 8
59
+
# define RGB_MATRIX_SPD_STEP 10
60
+
61
+
/* Enable the animations you want/need. You may need to enable only a small number of these because *
62
+
* they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */
63
+
// RGB Matrix Animation modes. Explicitly enabled
64
+
// For full list of effects, see:
65
+
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
66
+
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
67
+
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
68
+
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
69
+
# define ENABLE_RGB_MATRIX_BREATHING
70
+
# define ENABLE_RGB_MATRIX_BAND_SAT
71
+
# define ENABLE_RGB_MATRIX_BAND_VAL
72
+
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
73
+
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
74
+
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
75
+
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
76
+
# define ENABLE_RGB_MATRIX_CYCLE_ALL
77
+
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
78
+
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
79
+
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
80
+
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
81
+
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
82
+
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
83
+
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
84
+
# define ENABLE_RGB_MATRIX_DUAL_BEACON
85
+
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
86
+
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
87
+
# define ENABLE_RGB_MATRIX_RAINDROPS
88
+
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
89
+
# define ENABLE_RGB_MATRIX_HUE_BREATHING
90
+
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
91
+
# define ENABLE_RGB_MATRIX_HUE_WAVE
92
+
# define ENABLE_RGB_MATRIX_PIXEL_RAIN
93
+
# define ENABLE_RGB_MATRIX_PIXEL_FLOW
94
+
# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
95
+
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
96
+
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
97
+
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
98
+
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
99
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
100
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
101
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
102
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
103
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
104
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
105
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
106
+
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
107
+
# define ENABLE_RGB_MATRIX_SPLASH
108
+
# define ENABLE_RGB_MATRIX_MULTISPLASH
109
+
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
110
+
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
111
+
#endif
112
+
```
113
+
114
+
After this is done, you should be able to use the normal RGB keycodes, but you'll see the RGB Matrix effects in use, giving a much better experience.
keyboards/corne_monke/rules.mk
keyboards/corne_monke/rules.mk