aboutsummaryrefslogtreecommitdiff
path: root/keyboards/tkc
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2021-03-17 15:56:45 +1100
committerGitHub <noreply@github.com>2021-03-17 15:56:45 +1100
commite527b375e849556da6592ca204ef35674e0d3de0 (patch)
tree12fbc0c47b44b0518ad1fc60a35df9114453d050 /keyboards/tkc
parent4e8a218d175476664258333d89582c243969825f (diff)
downloadqmk_firmware-e527b375e849556da6592ca204ef35674e0d3de0.tar.gz
qmk_firmware-e527b375e849556da6592ca204ef35674e0d3de0.zip
TKC M0lly refactor (#12227)
Diffstat (limited to 'keyboards/tkc')
-rw-r--r--keyboards/tkc/m0lly/config.h140
-rw-r--r--keyboards/tkc/m0lly/info.json190
-rw-r--r--keyboards/tkc/m0lly/keymaps/default/keymap.c105
-rw-r--r--keyboards/tkc/m0lly/keymaps/via/keymap.c149
-rw-r--r--keyboards/tkc/m0lly/m0lly.c1
-rw-r--r--keyboards/tkc/m0lly/m0lly.h23
-rw-r--r--keyboards/tkc/m0lly/readme.md10
-rw-r--r--keyboards/tkc/m0lly/rules.mk21
8 files changed, 307 insertions, 332 deletions
diff --git a/keyboards/tkc/m0lly/config.h b/keyboards/tkc/m0lly/config.h
index bb2225806..ebcda755c 100644
--- a/keyboards/tkc/m0lly/config.h
+++ b/keyboards/tkc/m0lly/config.h
@@ -30,16 +30,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
30#define MATRIX_ROWS 5 30#define MATRIX_ROWS 5
31#define MATRIX_COLS 19 31#define MATRIX_COLS 19
32 32
33// ROWS: Top to bottom, COLS: Left to right 33/*
34/* Row pin configuration 34 * Keyboard Matrix Assignments
35*/ 35 *
36#define MATRIX_ROW_PINS { F2, F1, F0, E1, E0 } 36 * Change this to how you wired your keyboard
37/* Column pin configuration 37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
38 */ 42 */
43#define MATRIX_ROW_PINS { F2, F1, F0, E1, E0 }
39#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, C1, C0, F5, F6, F7 } 44#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, C7, C6, C5, C4, C3, C2, C1, C0, F5, F6, F7 }
40#define UNUSED_PINS 45#define UNUSED_PINS
41 46
42/* COL2ROW or ROW2COL */ 47/* COL2ROW, ROW2COL */
43#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
44 49
45#define LED_NUM_LOCK_PIN D2 50#define LED_NUM_LOCK_PIN D2
@@ -47,24 +52,44 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
47#define LED_SCROLL_LOCK_PIN D4 52#define LED_SCROLL_LOCK_PIN D4
48 53
49#define BACKLIGHT_PIN B6 54#define BACKLIGHT_PIN B6
50#define BACKLIGHT_BREATHING
51#define BACKLIGHT_LEVELS 3 55#define BACKLIGHT_LEVELS 3
56#define BACKLIGHT_BREATHING
57
52 58
53/* Underlight configuration
54 */
55#define RGB_DI_PIN D7 59#define RGB_DI_PIN D7
56#define RGBLIGHT_ANIMATIONS 60#ifdef RGB_DI_PIN
57#define RGBLED_NUM 30 // Number of LEDs 61# define RGBLED_NUM 30
58#define RGBLIGHT_HUE_STEP 5 62# define RGBLIGHT_HUE_STEP 5
59#define RGBLIGHT_SAT_STEP 10 63# define RGBLIGHT_SAT_STEP 10
60#define RGBLIGHT_VAL_STEP 10 64# define RGBLIGHT_VAL_STEP 10
65//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
66//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
67/*== all animations enable ==*/
68# define RGBLIGHT_ANIMATIONS
69/*== or choose animations ==*/
70//# define RGBLIGHT_EFFECT_BREATHING
71//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
72//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
73//# define RGBLIGHT_EFFECT_SNAKE
74//# define RGBLIGHT_EFFECT_KNIGHT
75//# define RGBLIGHT_EFFECT_CHRISTMAS
76//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
77//# define RGBLIGHT_EFFECT_RGB_TEST
78//# define RGBLIGHT_EFFECT_ALTERNATING
79/*== customize breathing effect ==*/
80/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
81//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
82/*==== use exp() and sin() ====*/
83//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
84//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
85#endif
86
87/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
88#define DEBOUNCE 5
61 89
62/* define if matrix has ghost */ 90/* define if matrix has ghost (lacks anti-ghosting diodes) */
63//#define MATRIX_HAS_GHOST 91//#define MATRIX_HAS_GHOST
64 92
65/* Set 0 if debouncing isn't needed */
66#define DEBOUNCE 5
67
68/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 93/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
69#define LOCKING_SUPPORT_ENABLE 94#define LOCKING_SUPPORT_ENABLE
70/* Locking resynchronize hack */ 95/* Locking resynchronize hack */
@@ -75,6 +100,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
75#define QMK_LED D2 // NumLock on M0lly 100#define QMK_LED D2 // NumLock on M0lly
76//#define QMK_SPEAKER C6 101//#define QMK_SPEAKER C6
77 102
103/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
104 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
105 */
106//#define GRAVE_ESC_CTRL_OVERRIDE
107
78/* 108/*
79 * Force NKRO 109 * Force NKRO
80 * 110 *
@@ -97,54 +127,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
97//#define FORCE_NKRO 127//#define FORCE_NKRO
98 128
99/* 129/*
100 * Magic Key Options
101 *
102 * Magic keys are hotkey commands that allow control over firmware functions of
103 * the keyboard. They are best used in combination with the HID Listen program,
104 * found here: https://www.pjrc.com/teensy/hid_listen.html
105 *
106 * The options below allow the magic key functionality to be changed. This is
107 * useful if your keyboard/keypad is missing keys and you want magic key support.
108 *
109 */
110
111/* control how magic key switches layers */
112//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
113//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
114//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
115
116/* override magic key keymap */
117//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
118//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
119//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
120//#define MAGIC_KEY_HELP1 H
121//#define MAGIC_KEY_HELP2 SLASH
122//#define MAGIC_KEY_DEBUG D
123//#define MAGIC_KEY_DEBUG_MATRIX X
124//#define MAGIC_KEY_DEBUG_KBD K
125//#define MAGIC_KEY_DEBUG_MOUSE M
126//#define MAGIC_KEY_VERSION V
127//#define MAGIC_KEY_STATUS S
128//#define MAGIC_KEY_CONSOLE C
129//#define MAGIC_KEY_LAYER0_ALT1 ESC
130//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
131//#define MAGIC_KEY_LAYER0 0
132//#define MAGIC_KEY_LAYER1 1
133//#define MAGIC_KEY_LAYER2 2
134//#define MAGIC_KEY_LAYER3 3
135//#define MAGIC_KEY_LAYER4 4
136//#define MAGIC_KEY_LAYER5 5
137//#define MAGIC_KEY_LAYER6 6
138//#define MAGIC_KEY_LAYER7 7
139//#define MAGIC_KEY_LAYER8 8
140//#define MAGIC_KEY_LAYER9 9
141//#define MAGIC_KEY_BOOTLOADER PAUSE
142//#define MAGIC_KEY_LOCK CAPS
143//#define MAGIC_KEY_EEPROM E
144//#define MAGIC_KEY_NKRO N
145//#define MAGIC_KEY_SLEEP_LED Z
146
147/*
148 * Feature disable options 130 * Feature disable options
149 * These options are also useful to firmware size reduction. 131 * These options are also useful to firmware size reduction.
150 */ 132 */
@@ -159,25 +141,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
159//#define NO_ACTION_LAYER 141//#define NO_ACTION_LAYER
160//#define NO_ACTION_TAPPING 142//#define NO_ACTION_TAPPING
161//#define NO_ACTION_ONESHOT 143//#define NO_ACTION_ONESHOT
162//#define NO_ACTION_MACRO
163//#define NO_ACTION_FUNCTION
164
165/*
166 * MIDI options
167 */
168 144
169/* enable basic MIDI features: 145/* disable these deprecated features by default */
170 - MIDI notes can be sent when in Music mode is on 146#define NO_ACTION_MACRO
171*/ 147#define NO_ACTION_FUNCTION
172//#define MIDI_BASIC
173
174/* enable advanced MIDI features:
175 - MIDI notes can be added to the keymap
176 - Octave shift and transpose
177 - Virtual sustain, portamento, and modulation wheel
178 - etc.
179*/
180//#define MIDI_ADVANCED
181 148
182/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 149/* Bootmagic Lite key configuration */
183//#define MIDI_TONE_KEYCODE_OCTAVES 1 150//#define BOOTMAGIC_LITE_ROW 0
151//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/tkc/m0lly/info.json b/keyboards/tkc/m0lly/info.json
index f2ac456b1..d7a64a0e6 100644
--- a/keyboards/tkc/m0lly/info.json
+++ b/keyboards/tkc/m0lly/info.json
@@ -1,97 +1,107 @@
1{ 1{
2 "keyboard_name": "TKC M0LLY", 2 "keyboard_name": "TKC M0LLY",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 19.5, 5 "width": 19.5,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_all": { 8 "LAYOUT_all": {
9 "layout": [ 9 "layout": [
10 {"label":"~", "x":0, "y":0}, 10 {"x": 0, "y": 0},
11 {"label":"!", "x":1, "y":0}, 11 {"x": 1, "y": 0},
12 {"label":"@", "x":2, "y":0}, 12 {"x": 2, "y": 0},
13 {"label":"#", "x":3, "y":0}, 13 {"x": 3, "y": 0},
14 {"label":"$", "x":4, "y":0}, 14 {"x": 4, "y": 0},
15 {"label":"%", "x":5, "y":0}, 15 {"x": 5, "y": 0},
16 {"label":"^", "x":6, "y":0}, 16 {"x": 6, "y": 0},
17 {"label":"&", "x":7, "y":0}, 17 {"x": 7, "y": 0},
18 {"label":"*", "x":8, "y":0}, 18 {"x": 8, "y": 0},
19 {"label":"(", "x":9, "y":0}, 19 {"x": 9, "y": 0},
20 {"label":")", "x":10, "y":0}, 20 {"x": 10, "y": 0},
21 {"label":"_", "x":11, "y":0}, 21 {"x": 11, "y": 0},
22 {"label":"+", "x":12, "y":0}, 22 {"x": 12, "y": 0},
23 {"label":"Bksp", "x":13, "y":0}, 23 {"x": 13, "y": 0},
24 {"x":14, "y":0}, 24 {"x": 14, "y": 0},
25 {"label":"Num", "x":15.5, "y":0}, 25
26 {"label":"/", "x":16.5, "y":0}, 26 {"x": 15.5, "y": 0},
27 {"label":"*", "x":17.5, "y":0}, 27 {"x": 16.5, "y": 0},
28 {"label":"-", "x":18.5, "y":0}, 28 {"x": 17.5, "y": 0},
29 {"label":"Tab", "x":0, "y":1, "w":1.5}, 29 {"x": 18.5, "y": 0},
30 {"label":"Q", "x":1.5, "y":1}, 30
31 {"label":"W", "x":2.5, "y":1}, 31 {"x": 0, "y": 1, "w": 1.5},
32 {"label":"E", "x":3.5, "y":1}, 32 {"x": 1.5, "y": 1},
33 {"label":"R", "x":4.5, "y":1}, 33 {"x": 2.5, "y": 1},
34 {"label":"T", "x":5.5, "y":1}, 34 {"x": 3.5, "y": 1},
35 {"label":"Y", "x":6.5, "y":1}, 35 {"x": 4.5, "y": 1},
36 {"label":"U", "x":7.5, "y":1}, 36 {"x": 5.5, "y": 1},
37 {"label":"I", "x":8.5, "y":1}, 37 {"x": 6.5, "y": 1},
38 {"label":"O", "x":9.5, "y":1}, 38 {"x": 7.5, "y": 1},
39 {"label":"P", "x":10.5, "y":1}, 39 {"x": 8.5, "y": 1},
40 {"label":"{", "x":11.5, "y":1}, 40 {"x": 9.5, "y": 1},
41 {"label":"}", "x":12.5, "y":1}, 41 {"x": 10.5, "y": 1},
42 {"label":"|", "x":13.5, "y":1, "w":1.5}, 42 {"x": 11.5, "y": 1},
43 {"label":"7", "x":15.5, "y":1}, 43 {"x": 12.5, "y": 1},
44 {"label":"8", "x":16.5, "y":1}, 44 {"x": 13.5, "y": 1, "w": 1.5},
45 {"label":"9", "x":17.5, "y":1}, 45
46 {"x":18.5, "y":1}, 46 {"x": 15.5, "y": 1},
47 {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, 47 {"x": 16.5, "y": 1},
48 {"label":"A", "x":1.75, "y":2}, 48 {"x": 17.5, "y": 1},
49 {"label":"S", "x":2.75, "y":2}, 49 {"x": 18.5, "y": 1},
50 {"label":"D", "x":3.75, "y":2}, 50
51 {"label":"F", "x":4.75, "y":2}, 51 {"x": 0, "y": 2, "w": 1.75},
52 {"label":"G", "x":5.75, "y":2}, 52 {"x": 1.75, "y": 2},
53 {"label":"H", "x":6.75, "y":2}, 53 {"x": 2.75, "y": 2},
54 {"label":"J", "x":7.75, "y":2}, 54 {"x": 3.75, "y": 2},
55 {"label":"K", "x":8.75, "y":2}, 55 {"x": 4.75, "y": 2},
56 {"label":"L", "x":9.75, "y":2}, 56 {"x": 5.75, "y": 2},
57 {"label":":", "x":10.75, "y":2}, 57 {"x": 6.75, "y": 2},
58 {"label":"\"", "x":11.75, "y":2}, 58 {"x": 7.75, "y": 2},
59 {"label":"ISO ~", "x":12.75, "y":2}, 59 {"x": 8.75, "y": 2},
60 {"label":"Enter", "x":13.75, "y":2, "w":1.25}, 60 {"x": 9.75, "y": 2},
61 {"label":"4", "x":15.5, "y":2}, 61 {"x": 10.75, "y": 2},
62 {"label":"5", "x":16.5, "y":2}, 62 {"x": 11.75, "y": 2},
63 {"label":"6", "x":17.5, "y":2}, 63 {"x": 12.75, "y": 2},
64 {"label":"+", "x":18.5, "y":2}, 64 {"x": 13.75, "y": 2, "w": 1.25},
65 {"label":"Shift", "x":0, "y":3, "w":1.25}, 65
66 {"x":1.25, "y":3}, 66 {"x": 15.5, "y": 2},
67 {"label":"Z", "x":2.25, "y":3}, 67 {"x": 16.5, "y": 2},
68 {"label":"X", "x":3.25, "y":3}, 68 {"x": 17.5, "y": 2},
69 {"label":"C", "x":4.25, "y":3}, 69 {"x": 18.5, "y": 2},
70 {"label":"V", "x":5.25, "y":3}, 70
71 {"label":"B", "x":6.25, "y":3}, 71 {"x": 0, "y": 3, "w": 1.25},
72 {"label":"N", "x":7.25, "y":3}, 72 {"x": 1.25, "y": 3},
73 {"label":"M", "x":8.25, "y":3}, 73 {"x": 2.25, "y": 3},
74 {"label":"<", "x":9.25, "y":3}, 74 {"x": 3.25, "y": 3},
75 {"label":">", "x":10.25, "y":3}, 75 {"x": 4.25, "y": 3},
76 {"label":"?", "x":11.25, "y":3}, 76 {"x": 5.25, "y": 3},
77 {"label":"Shift", "x":12.25, "y":3, "w":1.75}, 77 {"x": 6.25, "y": 3},
78 {"x":14, "y":3}, 78 {"x": 7.25, "y": 3},
79 {"label":"1", "x":15.5, "y":3}, 79 {"x": 8.25, "y": 3},
80 {"label":"2", "x":16.5, "y":3}, 80 {"x": 9.25, "y": 3},
81 {"label":"3", "x":17.5, "y":3}, 81 {"x": 10.25, "y": 3},
82 {"x":18.5, "y":3}, 82 {"x": 11.25, "y": 3},
83 {"label":"Ctrl", "x":0, "y":4, "w":1.25}, 83 {"x": 12.25, "y": 3, "w": 1.75},
84 {"label":"Win", "x":1.25, "y":4, "w":1.25}, 84 {"x": 14, "y": 3},
85 {"label":"Alt", "x":2.5, "y":4, "w":1.25}, 85
86 {"x":3.75, "y":4, "w":6.25}, 86 {"x": 15.5, "y": 3},
87 {"label":"Alt", "x":10, "y":4, "w":1.25}, 87 {"x": 16.5, "y": 3},
88 {"label":"Win", "x":11.25, "y":4, "w":1.25}, 88 {"x": 17.5, "y": 3},
89 {"label":"FN", "x":12.5, "y":4, "w":1.25}, 89 {"x": 18.5, "y": 3},
90 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}, 90
91 {"label":"0", "x":15.5, "y":4}, 91 {"x": 0, "y": 4, "w": 1.25},
92 {"x":16.5, "y":4}, 92 {"x": 1.25, "y": 4, "w": 1.25},
93 {"label":".", "x":17.5, "y":4}, 93 {"x": 2.5, "y": 4, "w": 1.25},
94 {"label":"Ent", "x":18.5, "y":4}] 94 {"x": 3.75, "y": 4, "w": 6.25},
95 {"x": 10, "y": 4, "w": 1.25},
96 {"x": 11.25, "y": 4, "w": 1.25},
97 {"x": 12.5, "y": 4, "w": 1.25},
98 {"x": 13.75, "y": 4, "w": 1.25},
99
100 {"x": 15.5, "y": 4},
101 {"x": 16.5, "y": 4},
102 {"x": 17.5, "y": 4},
103 {"x": 18.5, "y": 4}
104 ]
95 } 105 }
96 } 106 }
97} 107}
diff --git a/keyboards/tkc/m0lly/keymaps/default/keymap.c b/keyboards/tkc/m0lly/keymaps/default/keymap.c
index 27e83cd21..03f07aff4 100644
--- a/keyboards/tkc/m0lly/keymaps/default/keymap.c
+++ b/keyboards/tkc/m0lly/keymaps/default/keymap.c
@@ -13,79 +13,80 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
17#include QMK_KEYBOARD_H
18 16
19//Layers 17#include QMK_KEYBOARD_H
20 18
21enum { 19enum layer_names {
22 BASE = 0, 20 _BASE,
23 FUNCTION, 21 _FUNC,
24}; 22};
25 23
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 /* Keymap BASE: (Base Layer) Default Layer 25 /* Base Layer
28 * 26 *
29 * ,-----------------------------------------------------------. .-------------------. 27 * ,-----------------------------------------------------------. .-------------------.
30 * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - | 28 * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - |
31 * |-----------------------------------------------------------| |-------------------| 29 * |-----------------------------------------------------------| |-------------------|
32 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | | 30 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | |
33 * |-----------------------------------------------------------| |--------------| + | 31 * |-----------------------------------------------------------| |--------------| + |
34 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | | 32 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | |
35 * |-----------------------------------------------------------| |-------------------| 33 * |-----------------------------------------------------------| |-------------------|
36 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent| 34 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent|
37 * |-----------------------------------------------------------| |--------------| | 35 * |-----------------------------------------------------------| |--------------| |
38 * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | | 36 * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | |
39 * `-----------------------------------------------------------' '-------------------' 37 * `-----------------------------------------------------------' '-------------------'
40 */ 38 */
41 [BASE] = LAYOUT_all( 39 [_BASE] = LAYOUT_all(
42 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ 40 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
43 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, XXXXXXX, \ 41 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, XXXXXXX,
44 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \ 42 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
45 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX, \ 43 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX,
46 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(FUNCTION), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT \ 44 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(_FUNC), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT
47 ), 45 ),
48 /* Keymap FUNCTION: (Function Layer) 46
49 * 47 /* Function Layer
50 * ,-----------------------------------------------------------. .-------------------. 48 *
51 * | | | | | | | | | | | | | | RESET | | | | | | 49 * ,-----------------------------------------------------------. .-------------------.
52 * |-----------------------------------------------------------| |-------------------| 50 * | | | | | | | | | | | | | | RESET | | | | | |
53 * | | | | | | | | | | | | | | | | | | | | 51 * |-----------------------------------------------------------| |-------------------|
54 * |-----------------------------------------------------------| |-------------------| 52 * | | | | | | | | | | | | | | | | | | | |
55 * | | | | | | | | | | | | | | | | | | | 53 * |-----------------------------------------------------------| |-------------------|
56 * |-----------------------------------------------------------| |-------------------| 54 * | | | | | | | | | | | | | | | | | | |
57 * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | | 55 * |-----------------------------------------------------------| |-------------------|
58 * |-----------------------------------------------------------| |--------------| | 56 * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | |
59 * | | | | | | | | | | | | | 57 * |-----------------------------------------------------------| |--------------| |
60 * `-----------------------------------------------------------' '-------------------' 58 * | | | | | | | | | | | | |
61 */ 59 * `-----------------------------------------------------------' '-------------------'
62 [FUNCTION] = LAYOUT_all( 60 */
63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \ 61 [_FUNC] = LAYOUT_all(
64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, \ 62 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______,
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \ 63 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX,
66 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, \ 64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ \ 65 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX,
68 ), 66 _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______
67 )
69}; 68};
70 69
71#ifdef OLED_DRIVER_ENABLE 70#ifdef OLED_DRIVER_ENABLE
72void oled_task_user(void) { 71void oled_task_user(void) {
73 oled_write_P(PSTR("M0lly\n"),false); 72 oled_write_P(PSTR("M0lly\n"),false);
74 // Host Keyboard Layer Status 73
74 // Layer status
75 oled_write_P(PSTR("Layer: "), false); 75 oled_write_P(PSTR("Layer: "), false);
76 76
77 switch (get_highest_layer(layer_state)) { 77 switch (get_highest_layer(layer_state)) {
78 case BASE: 78 case _BASE:
79 oled_write_P(PSTR("Base\n"), false); 79 oled_write_P(PSTR("Base\n"), false);
80 break; 80 break;
81 case FUNCTION: 81 case _FUNC:
82 oled_write_P(PSTR("Function\n"), false); 82 oled_write_P(PSTR("Function\n"), false);
83 break; 83 break;
84 default: 84 default:
85 // Or use the write_ln shortcut over adding '\n' to the end of your string 85 // Or use the write_ln shortcut over adding '\n' to the end of your string
86 oled_write_ln_P(PSTR("Undefined"), false); 86 oled_write_ln_P(PSTR("Undefined"), false);
87 } 87 }
88 // Host Keyboard LED Status 88
89 // Indicators
89 led_t led_state = host_keyboard_led_state(); 90 led_t led_state = host_keyboard_led_state();
90 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); 91 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
91 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); 92 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
diff --git a/keyboards/tkc/m0lly/keymaps/via/keymap.c b/keyboards/tkc/m0lly/keymaps/via/keymap.c
index b72b8f035..4dd35169d 100644
--- a/keyboards/tkc/m0lly/keymaps/via/keymap.c
+++ b/keyboards/tkc/m0lly/keymaps/via/keymap.c
@@ -13,101 +13,104 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
17#include QMK_KEYBOARD_H
18 16
19//Layers 17#include QMK_KEYBOARD_H
20 18
21enum { 19enum layer_names {
22 BASE = 0, 20 _BASE,
23 FUNCTION, 21 _FUNC1,
24 ALTERNATE, 22 _FUNC2,
25 LAST, 23 _FUNC3
26}; 24};
27 25
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 /* Keymap BASE: (Base Layer) Default Layer 27 /* Base Layer
30 * 28 *
31 * ,-----------------------------------------------------------. .-------------------. 29 * ,-----------------------------------------------------------. .-------------------.
32 * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - | 30 * | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |NumL| / | * | - |
33 * |-----------------------------------------------------------| |-------------------| 31 * |-----------------------------------------------------------| |-------------------|
34 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | | 32 * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | | 7 | 8 | 9 | |
35 * |-----------------------------------------------------------| |--------------| + | 33 * |-----------------------------------------------------------| |--------------| + |
36 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | | 34 * |CAPS | A| S| D| F| G| H| J| K| L| ;| '|Return | | 4 | 5 | 6 | |
37 * |-----------------------------------------------------------| |-------------------| 35 * |-----------------------------------------------------------| |-------------------|
38 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent| 36 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 1 | 2 | 3 | Ent|
39 * |-----------------------------------------------------------| |--------------| | 37 * |-----------------------------------------------------------| |--------------| |
40 * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | | 38 * |Ctrl|Gui |Alt | Space | Alt | Win |FN |Ctr | | 0 | . | |
41 * `-----------------------------------------------------------' '-------------------' 39 * `-----------------------------------------------------------' '-------------------'
42 */ 40 */
43 [BASE] = LAYOUT_all( 41 [_BASE] = LAYOUT_all(
44 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 42 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
45 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, XXXXXXX, 43 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, XXXXXXX,
46 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, 44 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
47 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX, 45 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, XXXXXXX, KC_P1, KC_P2, KC_P3, XXXXXXX,
48 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(FUNCTION), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT 46 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, MO(_FUNC1), KC_RCTL, KC_P0, XXXXXXX, KC_PDOT, KC_PENT
49 ), 47 ),
50 /* Keymap FUNCTION: (Function Layer) 48
51 * 49 /* Function Layer
52 * ,-----------------------------------------------------------. .-------------------. 50 *
53 * | | | | | | | | | | | | | | RESET | | | | | | 51 * ,-----------------------------------------------------------. .-------------------.
54 * |-----------------------------------------------------------| |-------------------| 52 * | | | | | | | | | | | | | | RESET | | | | | |
55 * | | | | | | | | | | | | | | | | | | | | 53 * |-----------------------------------------------------------| |-------------------|
56 * |-----------------------------------------------------------| |-------------------| 54 * | | | | | | | | | | | | | | | | | | | |
57 * | | | | | | | | | | | | | | | | | | | 55 * |-----------------------------------------------------------| |-------------------|
58 * |-----------------------------------------------------------| |-------------------| 56 * | | | | | | | | | | | | | | | | | | |
59 * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | | 57 * |-----------------------------------------------------------| |-------------------|
60 * |-----------------------------------------------------------| |--------------| | 58 * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | |
61 * | | | | | | | | | | | | | 59 * |-----------------------------------------------------------| |--------------| |
62 * `-----------------------------------------------------------' '-------------------' 60 * | | | | | | | | | | | | |
63 */ 61 * `-----------------------------------------------------------' '-------------------'
64 [FUNCTION] = LAYOUT_all( 62 */
65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, 63 [_FUNC1] = LAYOUT_all(
66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, 64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______,
67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, 65 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX,
68 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, 66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______,
69 _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ 67 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX,
70 ), 68 _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______
71 [ALTERNATE] = LAYOUT_all( 69 ),
72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, 70
73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, 71 [_FUNC2] = LAYOUT_all(
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, 72 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______,
75 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, 73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX,
76 _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ 74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______,
77 ), 75 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX,
78 [LAST] = LAYOUT_all( 76 _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______
79 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, 77 ),
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, 78
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, 79 [_FUNC3] = LAYOUT_all(
82 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, 80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______,
83 _______, _______, _______, _______, _______, _______, MO(FUNCTION), _______, _______, XXXXXXX, _______, _______ 81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX,
84 ), 82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______,
83 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX,
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______
85 )
85}; 86};
86 87
87#ifdef OLED_DRIVER_ENABLE 88#ifdef OLED_DRIVER_ENABLE
88void oled_task_user(void) { 89void oled_task_user(void) {
89 oled_write_P(PSTR("M0lly\n"),false); 90 oled_write_P(PSTR("M0lly\n"),false);
90 // Host Keyboard Layer Status 91
92 // Layer Status
91 oled_write_P(PSTR("Layer: "), false); 93 oled_write_P(PSTR("Layer: "), false);
92 94
93 switch (get_highest_layer(layer_state)) { 95 switch (get_highest_layer(layer_state)) {
94 case BASE: 96 case _BASE:
95 oled_write_P(PSTR("Base\n"), false); 97 oled_write_P(PSTR("Base\n"), false);
96 break; 98 break;
97 case FUNCTION: 99 case _FUNC1:
98 oled_write_P(PSTR("Function\n"), false); 100 oled_write_P(PSTR("Func 1\n"), false);
99 break; 101 break;
100 case ALTERNATE: 102 case _FUNC2:
101 oled_write_P(PSTR("Alternate\n"), false); 103 oled_write_P(PSTR("Func 2\n"), false);
102 break; 104 break;
103 case LAST: 105 case _FUNC3:
104 oled_write_P(PSTR("Last\n"), false); 106 oled_write_P(PSTR("Func 3\n"), false);
105 break; 107 break;
106 default: 108 default:
107 // Or use the write_ln shortcut over adding '\n' to the end of your string 109 // Or use the write_ln shortcut over adding '\n' to the end of your string
108 oled_write_ln_P(PSTR("Undefined"), false); 110 oled_write_ln_P(PSTR("Undefined"), false);
109 } 111 }
110 // Host Keyboard LED Status 112
113 // Indicators
111 led_t led_state = host_keyboard_led_state(); 114 led_t led_state = host_keyboard_led_state();
112 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); 115 oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
113 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); 116 oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
diff --git a/keyboards/tkc/m0lly/m0lly.c b/keyboards/tkc/m0lly/m0lly.c
index e04407a35..137e1ce21 100644
--- a/keyboards/tkc/m0lly/m0lly.c
+++ b/keyboards/tkc/m0lly/m0lly.c
@@ -13,6 +13,7 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
16#include "m0lly.h" 17#include "m0lly.h"
17 18
18void keyboard_pre_init_kb(void) { 19void keyboard_pre_init_kb(void) {
diff --git a/keyboards/tkc/m0lly/m0lly.h b/keyboards/tkc/m0lly/m0lly.h
index 0c62876ef..ef4f0270f 100644
--- a/keyboards/tkc/m0lly/m0lly.h
+++ b/keyboards/tkc/m0lly/m0lly.h
@@ -13,20 +13,23 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
16#pragma once 17#pragma once
17 18
18#include "quantum.h" 19#include "quantum.h"
19 20
21#define XXX KC_NO
22
20#define LAYOUT_all( \ 23#define LAYOUT_all( \
21 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I, \ 24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I, \
22 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1F, K1G, K1H, K1I, \ 25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, k1G, k1H, k1I, \
23 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, K2I, \ 26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2F, k2G, k2H, k2I, \
24 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, K3G, K3H, K3I, \ 27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3F, k3G, k3H, k3I, \
25 K40, K41, K42, K45, K49, K4B, K4C, K4D, K4F, K4G, K4H, K4I \ 28 k40, k41, k42, k45, k49, k4B, k4C, k4D, k4F, k4G, k4H, k4I \
26) { \ 29) { \
27 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H, K0I }, \ 30 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, k0H, k0I }, \
28 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, KC_NO, K1F, K1G, K1H, K1I }, \ 31 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, XXX, k1F, k1G, k1H, k1I }, \
29 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F, K2G, K2H, K2I }, \ 32 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, XXX, k2F, k2G, k2H, k2I }, \
30 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, K3F, K3G, K3H, K3I }, \ 33 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, k3F, k3G, k3H, k3I }, \
31 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, KC_NO, K4B, K4C, K4D, KC_NO, K4F, K4G, K4H, K4I } \ 34 { k40, k41, k42, XXX, XXX, k45, XXX, XXX, XXX, k49, XXX, k4B, k4C, k4D, XXX, k4F, k4G, k4H, k4I } \
32} 35}
diff --git a/keyboards/tkc/m0lly/readme.md b/keyboards/tkc/m0lly/readme.md
index 9af80c7e9..b175d45ee 100644
--- a/keyboards/tkc/m0lly/readme.md
+++ b/keyboards/tkc/m0lly/readme.md
@@ -1,14 +1,12 @@
1The Key Company M0LLY 1# The Key Company M0LLY
2 2
3[TKC M0LLY](https://cdn.shopify.com/s/files/1/1679/2319/files/Molly_Terminal_1024x1024.jpg?v=1529067702) 3[TKC M0LLY](https://cdn.shopify.com/s/files/1/1679/2319/files/Molly_Terminal_1024x1024.jpg?v=1529067702)
4 4
5
6The Key Company's M0LLY keyboard is inspired by the Apple Macintosh M0110A, and utilizes the AT90USB1286 microcontroller. 5The Key Company's M0LLY keyboard is inspired by the Apple Macintosh M0110A, and utilizes the AT90USB1286 microcontroller.
7 6
8Keyboard Maintainer: [Terry Mathews](https://github.com/TerryMathews/) 7* Keyboard Maintainer: [Terry Mathews](https://github.com/TerryMathews/)
9Hardware Supported: TKC M0LLY 8* Hardware Supported: TKC M0LLY
10Hardware Availability: [TheKey.Company](https://thekey.company) 9* Hardware Availability: [TheKey.Company](https://thekey.company)
11
12 10
13Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
14 12
diff --git a/keyboards/tkc/m0lly/rules.mk b/keyboards/tkc/m0lly/rules.mk
index 05e629075..01afbdd12 100644
--- a/keyboards/tkc/m0lly/rules.mk
+++ b/keyboards/tkc/m0lly/rules.mk
@@ -2,19 +2,12 @@
2MCU = at90usb1286 2MCU = at90usb1286
3 3
4# Bootloader selection 4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = qmk-dfu 5BOOTLOADER = qmk-dfu
13 6
14# Build Options 7# Build Options
15# change yes to no to disable 8# change yes to no to disable
16# 9#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration 10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug 13CONSOLE_ENABLE = yes # Console for debug
@@ -23,10 +16,8 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend 16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = yes # USB Nkey Rollover 18NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default 19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI controls 21BLUETOOTH_ENABLE = no # Enable Bluetooth
29UNICODE_ENABLE = no # Unicode 22AUDIO_ENABLE = no # Audio output
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 23OLED_DRIVER_ENABLE = yes
31AUDIO_ENABLE = no # Audio output on port C6
32OLED_DRIVER_ENABLE = yes \ No newline at end of file