aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny <nooges@users.noreply.github.com>2021-06-28 23:38:59 -0400
committerGitHub <noreply@github.com>2021-06-28 20:38:59 -0700
commit5538bffb8eff5203fdabef8f4d8913999177fa53 (patch)
tree7ea69cd8dc82096ebe7040882f166d5f81e1c09a
parentde8939aa5efb1dea9c048c3254b0462f6e21e822 (diff)
downloadqmk_firmware-5538bffb8eff5203fdabef8f4d8913999177fa53.tar.gz
qmk_firmware-5538bffb8eff5203fdabef8f4d8913999177fa53.zip
[Keyboard] Add Quefrency Rev. 4 (#13368)
-rw-r--r--keyboards/keebio/quefrency/quefrency.h3
-rw-r--r--keyboards/keebio/quefrency/rev4/config.h60
-rw-r--r--keyboards/keebio/quefrency/rev4/readme.md18
-rw-r--r--keyboards/keebio/quefrency/rev4/rev4.c17
-rw-r--r--keyboards/keebio/quefrency/rev4/rev4.h202
-rw-r--r--keyboards/keebio/quefrency/rev4/rules.mk4
6 files changed, 304 insertions, 0 deletions
diff --git a/keyboards/keebio/quefrency/quefrency.h b/keyboards/keebio/quefrency/quefrency.h
index bbd5ad699..2c77dc2ad 100644
--- a/keyboards/keebio/quefrency/quefrency.h
+++ b/keyboards/keebio/quefrency/quefrency.h
@@ -11,3 +11,6 @@
11#ifdef KEYBOARD_keebio_quefrency_rev3 11#ifdef KEYBOARD_keebio_quefrency_rev3
12 #include "rev3.h" 12 #include "rev3.h"
13#endif 13#endif
14#ifdef KEYBOARD_keebio_quefrency_rev4
15 #include "rev4.h"
16#endif
diff --git a/keyboards/keebio/quefrency/rev4/config.h b/keyboards/keebio/quefrency/rev4/config.h
new file mode 100644
index 000000000..f92490c8e
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev4/config.h
@@ -0,0 +1,60 @@
1/* Copyright 2021 Danny Nguyen <danny@keeb.io>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#pragma once
18
19/* USB Device descriptor parameter */
20#define VENDOR_ID 0xCB10
21#define PRODUCT_ID 0x4257
22#define DEVICE_VER 0x0400
23#define MANUFACTURER Keebio
24#define PRODUCT Quefrency Rev. 4
25
26/* key matrix size */
27// Rows are doubled-up
28#define MATRIX_ROWS 10
29#define MATRIX_COLS 9
30
31#define DIODE_DIRECTION COL2ROW
32// wiring of each half
33#define MATRIX_ROW_PINS { B1, B2, C7, B4, D7 }
34#define MATRIX_COL_PINS { F4, F1, F0, B7, B3, D2, D3, D5, D4 }
35#define MATRIX_ROW_PINS_RIGHT { B3, B2, B6, B4, D7 }
36#define MATRIX_COL_PINS_RIGHT { F1, F0, F4, F5, F6, D5, C7, D3, B7 }
37#define SPLIT_HAND_PIN F7
38#define ENCODERS_PAD_A { F5 }
39#define ENCODERS_PAD_B { F6 }
40#define ENCODERS_PAD_A_RIGHT { D6 }
41#define ENCODERS_PAD_B_RIGHT { D4 }
42
43/* Set 0 if debouncing isn't needed */
44#define DEBOUNCE 5
45
46/* serial.c configuration for split keyboard */
47#define SOFT_SERIAL_PIN D0
48
49/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
50#define LOCKING_SUPPORT_ENABLE
51/* Locking resynchronize hack */
52#define LOCKING_RESYNC_ENABLE
53
54/* ws2812 RGB LED */
55#define RGB_DI_PIN E6
56#define RGBLIGHT_ANIMATIONS
57#define RGBLED_NUM 16 // Number of LEDs
58#define RGBLED_SPLIT { 8, 8 }
59#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
60#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/quefrency/rev4/readme.md b/keyboards/keebio/quefrency/rev4/readme.md
new file mode 100644
index 000000000..451afb007
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev4/readme.md
@@ -0,0 +1,18 @@
1# Quefrency Rev. 4
2
3Quefrency Rev. 4 features Kailh hotswap sockets with a fixed layout. The left macro portion and right column can be broken off, and split backspace or 2u backspace can be used.
4
5* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges)
6* Hardware Availability: [Keebio](https://keeb.io/)
7
8Make example for this keyboard (after setting up your build environment):
9
10 make keebio/quefrency/rev4:default
11
12Example of flashing this keyboard:
13
14 make keebio/quefrency/rev4:default:flash
15
16See 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).
17
18A build guide for this keyboard can be found here: [Keebio Build Guides](https://docs.keeb.io)
diff --git a/keyboards/keebio/quefrency/rev4/rev4.c b/keyboards/keebio/quefrency/rev4/rev4.c
new file mode 100644
index 000000000..a66d19166
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev4/rev4.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 Danny Nguyen <danny@keeb.io>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#include "quefrency.h"
diff --git a/keyboards/keebio/quefrency/rev4/rev4.h b/keyboards/keebio/quefrency/rev4/rev4.h
new file mode 100644
index 000000000..3e7749265
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev4/rev4.h
@@ -0,0 +1,202 @@
1/* Copyright 2021 Danny Nguyen <danny@keeb.io>
2
3This program is free software: you can redistribute it and/or modify
4it under the terms of the GNU General Public License as published by
5the Free Software Foundation, either version 2 of the License, or
6(at your option) any later version.
7
8This program is distributed in the hope that it will be useful,
9but WITHOUT ANY WARRANTY; without even the implied warranty of
10MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11GNU General Public License for more details.
12
13You should have received a copy of the GNU General Public License
14along with this program. If not, see <http://www.gnu.org/licenses/>.
15*/
16
17#pragma once
18
19#include "quefrency.h"
20#include "quantum.h"
21
22#define LAYOUT_60( \
23 LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
24 LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
25 LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
26 LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
27 LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
28 ) \
29 { \
30 { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
31 { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
32 { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
33 { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
34 { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
35 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
36 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
37 { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
38 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
39 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
40 }
41
42#define LAYOUT LAYOUT_60 // For backwards compatibility with Rev. 1
43
44#define LAYOUT_65( \
45 LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
46 LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
47 LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
48 LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
49 LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
50 ) \
51 { \
52 { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
53 { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
54 { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
55 { KC_NO, KC_NO, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
56 { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
57 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
58 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
59 { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
60 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
61 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
62 }
63
64#define LAYOUT_60_with_macro( \
65 LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
66 LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, \
67 LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, \
68 LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
69 LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
70 ) \
71 { \
72 { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
73 { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
74 { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
75 { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
76 { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
77 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
78 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, KC_NO }, \
79 { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, KC_NO }, \
80 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
81 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
82 }
83
84#define LAYOUT_65_with_macro( \
85 LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
86 LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
87 LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC8, RC9, \
88 LD1, LD2, LD3, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
89 LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
90 ) \
91 { \
92 { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
93 { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
94 { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
95 { LD1, LD2, LD3, KC_NO, LD5, LD6, LD7, LD8, LD9 }, \
96 { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
97 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
98 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
99 { RC1, RC2, RC3, RC4, RC5, RC6, KC_NO, RC8, RC9 }, \
100 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
101 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
102 }
103
104#define LAYOUT_60_iso( \
105 LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
106 LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
107 LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
108 LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
109 LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
110 ) \
111 { \
112 { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
113 { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
114 { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
115 { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
116 { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
117 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
118 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
119 { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
120 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
121 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
122 }
123
124#define LAYOUT_65_iso( \
125 LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
126 LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
127 LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
128 LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
129 LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
130 ) \
131 { \
132 { KC_NO, KC_NO, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
133 { KC_NO, KC_NO, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
134 { KC_NO, KC_NO, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
135 { KC_NO, KC_NO, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
136 { KC_NO, KC_NO, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
137 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
138 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
139 { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
140 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
141 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
142 }
143
144#define LAYOUT_60_iso_with_macro( \
145 LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, \
146 LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, \
147 LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, \
148 LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, \
149 LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8 \
150 ) \
151 { \
152 { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
153 { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
154 { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
155 { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
156 { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
157 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, KC_NO }, \
158 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, KC_NO }, \
159 { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, KC_NO }, \
160 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, KC_NO }, \
161 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, KC_NO } \
162 }
163
164#define LAYOUT_65_iso_with_macro( \
165 LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
166 LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB9, \
167 LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
168 LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
169 LE1, LE2, LE3, LE4, LE5, LE6, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
170 ) \
171 { \
172 { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
173 { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
174 { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
175 { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
176 { LE1, LE2, LE3, LE4, LE5, LE6, KC_NO, LE8, KC_NO }, \
177 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
178 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, KC_NO, RB9 }, \
179 { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
180 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
181 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
182 }
183
184#define LAYOUT_all( \
185 LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9, RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9, \
186 LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9, \
187 LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9, \
188 LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9, RD1, RD2, RD3, RD4, RD5, RD7, RD8, RD9, \
189 LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, RE1, RE2, RE3, RE4, RE5, RE7, RE8, RE9 \
190 ) \
191 { \
192 { LA1, LA2, LA3, LA4, LA5, LA6, LA7, LA8, LA9 }, \
193 { LB1, LB2, LB3, LB4, LB5, LB6, LB7, LB8, KC_NO }, \
194 { LC1, LC2, LC3, LC4, LC5, LC6, LC7, LC8, KC_NO }, \
195 { LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8, LD9 }, \
196 { LE1, LE2, LE3, LE4, LE5, LE6, LE7, LE8, KC_NO }, \
197 { RA1, RA2, RA3, RA4, RA5, RA6, RA7, RA8, RA9 }, \
198 { RB1, RB2, RB3, RB4, RB5, RB6, RB7, RB8, RB9 }, \
199 { RC1, RC2, RC3, RC4, RC5, RC6, RC7, RC8, RC9 }, \
200 { RD1, RD2, RD3, RD4, RD5, KC_NO, RD7, RD8, RD9 }, \
201 { RE1, RE2, RE3, RE4, RE5, KC_NO, RE7, RE8, RE9 } \
202 }
diff --git a/keyboards/keebio/quefrency/rev4/rules.mk b/keyboards/keebio/quefrency/rev4/rules.mk
new file mode 100644
index 000000000..f071ae81b
--- /dev/null
+++ b/keyboards/keebio/quefrency/rev4/rules.mk
@@ -0,0 +1,4 @@
1BOOTLOADER = atmel-dfu
2BACKLIGHT_ENABLE = no
3RGBLIGHT_ENABLE = yes
4ENCODER_ENABLE = yes