aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-10-30 22:06:47 +1100
committerGitHub <noreply@github.com>2020-10-30 22:06:47 +1100
commit952a4c83127d7a545bbc6b5a59caaf54ef55c1fb (patch)
tree0c15540f1de308214f9fd52abcc4f90fcf6972b7
parentb9ea10a80df1f3114d7218576ac28a63c3736acb (diff)
downloadqmk_firmware-952a4c83127d7a545bbc6b5a59caaf54ef55c1fb.tar.gz
qmk_firmware-952a4c83127d7a545bbc6b5a59caaf54ef55c1fb.zip
Hnah108 refactor (#10787)
Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r--keyboards/handwired/hnah108/config.h129
-rw-r--r--keyboards/handwired/hnah108/hnah108.c56
-rw-r--r--keyboards/handwired/hnah108/hnah108.h83
-rw-r--r--keyboards/handwired/hnah108/info.json348
-rw-r--r--keyboards/handwired/hnah108/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/hnah108/keymaps/default/keymap.c94
-rw-r--r--keyboards/handwired/hnah108/keymaps/default/readme.md2
-rw-r--r--keyboards/handwired/hnah108/readme.md12
-rw-r--r--keyboards/handwired/hnah108/rules.mk26
9 files changed, 494 insertions, 275 deletions
diff --git a/keyboards/handwired/hnah108/config.h b/keyboards/handwired/hnah108/config.h
index a0c20706b..b21ba1093 100644
--- a/keyboards/handwired/hnah108/config.h
+++ b/keyboards/handwired/hnah108/config.h
@@ -20,12 +20,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
20#include "config_common.h" 20#include "config_common.h"
21 21
22/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
23#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
24#define PRODUCT_ID 0x0000 24#define PRODUCT_ID 0x0000
25#define DEVICE_VER 0x0002 25#define DEVICE_VER 0x0002
26#define MANUFACTURER HnahKB 26#define MANUFACTURER HnahKB
27#define PRODUCT Hnah108 27#define PRODUCT Hnah108
28#define DESCRIPTION Fullsize PCB keyboard
29 28
30/* key matrix size */ 29/* key matrix size */
31#define MATRIX_ROWS 10 30#define MATRIX_ROWS 10
@@ -41,21 +40,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
41 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) 40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
42 * 41 *
43 */ 42 */
44#define MATRIX_ROW_PINS \ 43#define MATRIX_ROW_PINS { F7, F6, F5, F4, F1, C7, B4, B5, B6, C6 }
45 { F7, F6, F5, F4, F1, C7, B4, B5, B6, C6 } 44#define MATRIX_COL_PINS { F0, E6, B0, D0, D1, D2, D3, D5, D4, D6, D7 }
46#define MATRIX_COL_PINS \
47 { F0, E6, B0, D0, D1, D2, D3, D5, D4, D6, D7 }
48#define UNUSED_PINS 45#define UNUSED_PINS
49 46
50/* COL2ROW, ROW2COL*/ 47/* COL2ROW, ROW2COL */
51#define DIODE_DIRECTION COL2ROW 48#define DIODE_DIRECTION COL2ROW
52 49
53
54#define ENCODERS_PAD_A { B2 } 50#define ENCODERS_PAD_A { B2 }
55#define ENCODERS_PAD_B { B3 } 51#define ENCODERS_PAD_B { B3 }
56 52
57#define ENCODER_RESOLUTION 4
58
59#define BACKLIGHT_PIN B7 53#define BACKLIGHT_PIN B7
60#define BACKLIGHT_BREATHING 54#define BACKLIGHT_BREATHING
61#define BACKLIGHT_LEVELS 4 55#define BACKLIGHT_LEVELS 4
@@ -63,28 +57,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
63#define RGB_DI_PIN E2 57#define RGB_DI_PIN E2
64#define DRIVER_LED_TOTAL 31 58#define DRIVER_LED_TOTAL 31
65 59
66// #define RGBLIGHT_HUE_STEP 8
67// #define RGBLIGHT_SAT_STEP 8
68// #define RGBLIGHT_VAL_STEP 8
69// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
70// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
71// /*== or choose animations ==*/
72// #define RGBLIGHT_EFFECT_BREATHING
73// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
74// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
75// #define RGBLIGHT_EFFECT_SNAKE
76// #define RGBLIGHT_EFFECT_KNIGHT
77// #define RGBLIGHT_EFFECT_CHRISTMAS
78// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
79// #define RGBLIGHT_EFFECT_RGB_TEST
80// #define RGBLIGHT_EFFECT_ALTERNATING
81// /*== customize breathing effect ==*/
82// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
83// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
84// /*==== use exp() and sin() ====*/
85// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
86// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
87
88/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 60/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
89#define DEBOUNCE 5 61#define DEBOUNCE 5
90 62
@@ -97,9 +69,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
97#define LOCKING_RESYNC_ENABLE 69#define LOCKING_RESYNC_ENABLE
98 70
99/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. 71/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
100 * This is userful for the Windows task manager shortcut (ctrl+shift+esc). 72 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
101 */ 73 */
102// #define GRAVE_ESC_CTRL_OVERRIDE 74//#define GRAVE_ESC_CTRL_OVERRIDE
103 75
104/* 76/*
105 * Force NKRO 77 * Force NKRO
@@ -123,59 +95,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
123//#define FORCE_NKRO 95//#define FORCE_NKRO
124 96
125/* 97/*
126 * Magic Key Options
127 *
128 * Magic keys are hotkey commands that allow control over firmware functions of
129 * the keyboard. They are best used in combination with the HID Listen program,
130 * found here: https://www.pjrc.com/teensy/hid_listen.html
131 *
132 * The options below allow the magic key functionality to be changed. This is
133 * useful if your keyboard/keypad is missing keys and you want magic key support.
134 *
135 */
136
137/* key combination for magic key command */
138/* defined by default; to change, uncomment and set to the combination you want */
139// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
140
141/* control how magic key switches layers */
142//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
143//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
144//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
145
146/* override magic key keymap */
147//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
148//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
149//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
150//#define MAGIC_KEY_HELP H
151//#define MAGIC_KEY_HELP_ALT SLASH
152//#define MAGIC_KEY_DEBUG D
153//#define MAGIC_KEY_DEBUG_MATRIX X
154//#define MAGIC_KEY_DEBUG_KBD K
155//#define MAGIC_KEY_DEBUG_MOUSE M
156//#define MAGIC_KEY_VERSION V
157//#define MAGIC_KEY_STATUS S
158//#define MAGIC_KEY_CONSOLE C
159//#define MAGIC_KEY_LAYER0 0
160//#define MAGIC_KEY_LAYER0_ALT GRAVE
161//#define MAGIC_KEY_LAYER1 1
162//#define MAGIC_KEY_LAYER2 2
163//#define MAGIC_KEY_LAYER3 3
164//#define MAGIC_KEY_LAYER4 4
165//#define MAGIC_KEY_LAYER5 5
166//#define MAGIC_KEY_LAYER6 6
167//#define MAGIC_KEY_LAYER7 7
168//#define MAGIC_KEY_LAYER8 8
169//#define MAGIC_KEY_LAYER9 9
170//#define MAGIC_KEY_BOOTLOADER B
171//#define MAGIC_KEY_BOOTLOADER_ALT ESC
172//#define MAGIC_KEY_LOCK CAPS
173//#define MAGIC_KEY_EEPROM E
174//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
175//#define MAGIC_KEY_NKRO N
176//#define MAGIC_KEY_SLEEP_LED Z
177
178/*
179 * Feature disable options 98 * Feature disable options
180 * These options are also useful to firmware size reduction. 99 * These options are also useful to firmware size reduction.
181 */ 100 */
@@ -190,29 +109,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
190//#define NO_ACTION_LAYER 109//#define NO_ACTION_LAYER
191//#define NO_ACTION_TAPPING 110//#define NO_ACTION_TAPPING
192//#define NO_ACTION_ONESHOT 111//#define NO_ACTION_ONESHOT
193//#define NO_ACTION_MACRO
194//#define NO_ACTION_FUNCTION
195
196/*
197 * MIDI options
198 */
199
200/* Prevent use of disabled MIDI features in the keymap */
201//#define MIDI_ENABLE_STRICT 1
202
203/* enable basic MIDI features:
204 - MIDI notes can be sent when in Music mode is on
205*/
206//#define MIDI_BASIC
207
208/* enable advanced MIDI features:
209 - MIDI notes can be added to the keymap
210 - Octave shift and transpose
211 - Virtual sustain, portamento, and modulation wheel
212 - etc.
213*/
214//#define MIDI_ADVANCED
215 112
216/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 113/* disable these deprecated features by default */
217//#define MIDI_TONE_KEYCODE_OCTAVES 1 114#define NO_ACTION_MACRO
115#define NO_ACTION_FUNCTION
218 116
117/* Bootmagic Lite key configuration */
118//#define BOOTMAGIC_LITE_ROW 0
119//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/handwired/hnah108/hnah108.c b/keyboards/handwired/hnah108/hnah108.c
index a05cc4fe1..f8e8c7a3b 100644
--- a/keyboards/handwired/hnah108/hnah108.c
+++ b/keyboards/handwired/hnah108/hnah108.c
@@ -13,31 +13,35 @@
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#include "hnah108.h"
17
18 16
17#include "hnah108.h"
19 18
20led_config_t g_led_config = { { 19#ifdef RGB_MATRIX_ENABLE
21 //Key Matrix to LED Index 20led_config_t g_led_config = {
22 { 18, 17, 16,NO_LED, 15, 14,NO_LED,NO_LED, 13, 12,NO_LED}, 21 {
23 {NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED}, 22 // Key Matrix to LED Index
24 {19, NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED}, 23 { 18, 17, 16, NO_LED, 15, 14, NO_LED, NO_LED, 13, 12, NO_LED },
25 {NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED}, 24 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
26 {20, NO_LED,NO_LED,NO_LED,NO_LED,24 ,NO_LED,NO_LED,26 ,NO_LED,NO_LED}, 25 { 19, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
27 { 21, 22, 23, 25, 27,NO_LED, 28, 29,NO_LED, 0, 1}, 26 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
28 { 11, 10,NO_LED, 9,NO_LED, 8,NO_LED, 7, 6,NO_LED, 5}, 27 { 20, NO_LED, NO_LED, NO_LED, NO_LED, 24, NO_LED, NO_LED, 26, NO_LED, NO_LED },
29 {NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED, 4}, 28 { 21, 22, 23, 25, 27, NO_LED, 28, 29, NO_LED, 0, 1 },
30 {NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED, 3}, 29 { 11, 10, NO_LED, 9, NO_LED, 8, NO_LED, 7, 6, NO_LED, 5 },
31 {NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED,NO_LED, 2} 30 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 4 },
32}, { 31 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 3 },
33 //LED Index to Physical Positon 32 { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 2 }
34 { 0, 0}, { 18, 0}, { 37, 0 }, { 56, 0}, { 74, 0}, { 93, 0}, { 112, 0 }, { 130, 0}, { 149, 0}, { 168, 0}, { 186, 0 }, { 205, 0}, 33 }, {
35 { 0, 25} , { 205, 25}, 34 // LED Index to Physical Position
36 { 0, 51} , { 205, 51}, 35 { 0, 0 }, { 18, 0 }, { 37, 0 }, { 56, 0 }, { 74, 0 }, { 93, 0 }, { 112, 0 }, { 130, 0 }, { 149, 0 }, { 168, 0 }, { 186, 0 }, { 205, 0 },
37 { 0, 63} , { 18, 63}, { 37, 63}, { 56, 63}, { 74, 63}, { 93, 63}, { 112, 63}, { 130, 63},{ 149, 63}, { 168, 63}, { 186, 63 }, { 205, 63}, 36 { 0, 25 }, { 205, 25 },
38}, { 37 { 0, 51 }, { 205, 51 },
39 1,1,1,1,1,1,1,1,1,1,1,1,1, 38 { 0, 63 }, { 18, 63 }, { 37, 63 }, { 56, 63 }, { 74, 63 }, { 93, 63 }, { 112, 63 }, { 130, 63 }, { 149, 63 }, { 168, 63 }, { 186, 63 }, { 205, 63 }
40 1,1, 39 }, {
41 1,1, 40 // LED Index to Flag
42 1,1,1,1,1,1,1,1,1,1,1,1,1, 41 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
43} }; \ No newline at end of file 42 1, 1,
43 1, 1,
44 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
45 }
46};
47#endif
diff --git a/keyboards/handwired/hnah108/hnah108.h b/keyboards/handwired/hnah108/hnah108.h
index 9ea34b83a..a11f9fc6d 100644
--- a/keyboards/handwired/hnah108/hnah108.h
+++ b/keyboards/handwired/hnah108/hnah108.h
@@ -13,20 +13,21 @@
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
20 22
21#define LAYOUT_all( \ 23#define LAYOUT_all( \
22 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ 24 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \
23 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \ 25 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \
24 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k82, k83, k84, k85, k86, k87, k79, k6A, \ 26 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k82, k83, k84, k85, k86, k87, k79, k6A, \
25 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k93, k94, k96, k97, k88, \ 27 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k93, k94, k96, k97, k88, \
26 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \ 28 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \
27 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \ 29 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \
28) \ 30) { \
29{ \
30 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A }, \ 31 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A }, \
31 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \ 32 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
32 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A }, \ 33 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A }, \
@@ -36,37 +37,45 @@
36 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \ 37 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
37 { k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7A }, \ 38 { k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7A }, \
38 { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8A }, \ 39 { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8A }, \
39 { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99, k9A }, \ 40 { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99, k9A } \
40} 41}
41 42
42#define LAYOUT_fullsize_iso( \ 43#define LAYOUT_fullsize_iso( \
43 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ 44 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \
44 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \ 45 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \
45 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k83, k84, k85, k86, k87, k79, k6A, \ 46 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k83, k84, k85, k86, k87, k79, k6A, \
46 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k93, k94, k96, k97, k88, \ 47 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k93, k94, k96, k97, k88, \
47 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \ 48 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \
48 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \ 49 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \
49) LAYOUT_all( \ 50) { \
50 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ 51 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A }, \
51 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \ 52 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
52 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, KC_NO, k83, k84, k85, k86, k87, k79, k6A, \ 53 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A }, \
53 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k93, k94, k96, k97, k88, \ 54 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A }, \
54 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \ 55 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A }, \
55 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \ 56 { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A }, \
56) 57 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
58 { k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7A }, \
59 { k80, k81, XXX, k83, k84, k85, k86, k87, k88, k89, k8A }, \
60 { k90, k91, k92, k93, k94, k95, k96, k97, k98, k99, k9A } \
61}
57 62
58#define LAYOUT_fullsize_ansi( \ 63#define LAYOUT_fullsize_ansi( \
59 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ 64 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \
60 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \ 65 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \
61 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k82, k83, k84, k85, k86, k87, k79, k6A, \ 66 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k82, k83, k84, k85, k86, k87, k79, k6A, \
62 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k94, k96, k97, k88, \ 67 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91, k94, k96, k97, k88, \
63 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \ 68 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \
64 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \ 69 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \
65) LAYOUT_all( \ 70) { \
66 k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k60, k61, k62, k63, k64, k65, k66, k67, k68, \ 71 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A }, \
67 k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k70, k71, k72, k73, k74, k75, k76, k77, k78, k69, \ 72 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A }, \
68 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k80, k81, k82, k83, k84, k85, k86, k87, k79, k6A, \ 73 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A }, \
69 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k91,KC_NO,k94, k96, k97, k88, \ 74 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A }, \
70 k40,KC_NO,k42, k43, k44, k45, k46, k47, k48, k49, k4A, k90, k92, k95, k98, k99, k89, k7A, \ 75 { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4A }, \
71 k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A, k9A, k8A \ 76 { k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5A }, \
72) 77 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A }, \
78 { k70, k71, k72, k73, k74, k75, k76, k77, k78, k79, k7A }, \
79 { k80, k81, k82, k83, k84, k85, k86, k87, k88, k89, k8A }, \
80 { k90, k91, k92, XXX, k94, k95, k96, k97, k98, k99, k9A } \
81}
diff --git a/keyboards/handwired/hnah108/info.json b/keyboards/handwired/hnah108/info.json
index a8671a870..795819501 100644
--- a/keyboards/handwired/hnah108/info.json
+++ b/keyboards/handwired/hnah108/info.json
@@ -1,18 +1,348 @@
1{ 1{
2 "keyboard_name": "hnah108", 2 "keyboard_name": "hnah108",
3 "url": "", 3 "url": "",
4 "maintainer": "HnahKB", 4 "maintainer": "HnahKB",
5 "width": 22.5, 5 "width": 22.5,
6 "height": 6.25, 6 "height": 6.25,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_all": { 8 "LAYOUT_all": {
9 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"x":18.5, "y":0}, {"x":19.5, "y":0}, {"x":20.5, "y":0}, {"x":21.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Num Lock", "x":18.5, "y":1.25}, {"label":"/", "x":19.5, "y":1.25}, {"label":"*", "x":20.5, "y":1.25}, {"label":"-", "x":21.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"7", "x":18.5, "y":2.25}, {"label":"8", "x":19.5, "y":2.25}, {"label":"9", "x":20.5, "y":2.25}, {"label":"+", "x":21.5, "y":2.25, "h":2}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"@", "x":11.75, "y":3.25}, {"label":"~", "x":12.75, "y":3.25}, {"label":"Enter", "x":13.75, "y":3.25, "w":1.25}, {"label":"4", "x":18.5, "y":3.25}, {"label":"5", "x":19.5, "y":3.25}, {"label":"6", "x":20.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"|", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"1", "x":18.5, "y":4.25}, {"label":"2", "x":19.5, "y":4.25}, {"label":"3", "x":20.5, "y":4.25}, {"label":"Enter", "x":21.5, "y":4.25, "h":2}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}, {"label":"0", "x":18.5, "y":5.25, "w":2}, {"label":".", "x":20.5, "y":5.25}] 9 "layout": [
10 {"x": 0, "y": 0},
11 {"x": 2, "y": 0},
12 {"x": 3, "y": 0},
13 {"x": 4, "y": 0},
14 {"x": 5, "y": 0},
15 {"x": 6.5, "y": 0},
16 {"x": 7.5, "y": 0},
17 {"x": 8.5, "y": 0},
18 {"x": 9.5, "y": 0},
19 {"x": 11, "y": 0},
20 {"x": 12, "y": 0},
21 {"x": 13, "y": 0},
22 {"x": 14, "y": 0},
23 {"x": 15.25, "y": 0},
24 {"x": 16.25, "y": 0},
25 {"x": 17.25, "y": 0},
26 {"x": 18.5, "y": 0},
27 {"x": 19.5, "y": 0},
28 {"x": 20.5, "y": 0},
29 {"x": 21.5, "y": 0},
30 {"x": 0, "y": 1.25},
31 {"x": 1, "y": 1.25},
32 {"x": 2, "y": 1.25},
33 {"x": 3, "y": 1.25},
34 {"x": 4, "y": 1.25},
35 {"x": 5, "y": 1.25},
36 {"x": 6, "y": 1.25},
37 {"x": 7, "y": 1.25},
38 {"x": 8, "y": 1.25},
39 {"x": 9, "y": 1.25},
40 {"x": 10, "y": 1.25},
41 {"x": 11, "y": 1.25},
42 {"x": 12, "y": 1.25},
43 {"x": 13, "y": 1.25, "w": 2},
44 {"x": 15.25, "y": 1.25},
45 {"x": 16.25, "y": 1.25},
46 {"x": 17.25, "y": 1.25},
47 {"x": 18.5, "y": 1.25},
48 {"x": 19.5, "y": 1.25},
49 {"x": 20.5, "y": 1.25},
50 {"x": 21.5, "y": 1.25},
51 {"x": 0, "y": 2.25, "w": 1.5},
52 {"x": 1.5, "y": 2.25},
53 {"x": 2.5, "y": 2.25},
54 {"x": 3.5, "y": 2.25},
55 {"x": 4.5, "y": 2.25},
56 {"x": 5.5, "y": 2.25},
57 {"x": 6.5, "y": 2.25},
58 {"x": 7.5, "y": 2.25},
59 {"x": 8.5, "y": 2.25},
60 {"x": 9.5, "y": 2.25},
61 {"x": 10.5, "y": 2.25},
62 {"x": 11.5, "y": 2.25},
63 {"x": 12.5, "y": 2.25},
64 {"x": 13.5, "y": 2.25, "w": 1.5},
65 {"x": 15.25, "y": 2.25},
66 {"x": 16.25, "y": 2.25},
67 {"x": 17.25, "y": 2.25},
68 {"x": 18.5, "y": 2.25},
69 {"x": 19.5, "y": 2.25},
70 {"x": 20.5, "y": 2.25},
71 {"x": 21.5, "y": 2.25, "h": 2},
72 {"x": 0, "y": 3.25, "w": 1.75},
73 {"x": 1.75, "y": 3.25},
74 {"x": 2.75, "y": 3.25},
75 {"x": 3.75, "y": 3.25},
76 {"x": 4.75, "y": 3.25},
77 {"x": 5.75, "y": 3.25},
78 {"x": 6.75, "y": 3.25},
79 {"x": 7.75, "y": 3.25},
80 {"x": 8.75, "y": 3.25},
81 {"x": 9.75, "y": 3.25},
82 {"x": 10.75, "y": 3.25},
83 {"x": 11.75, "y": 3.25},
84 {"x": 12.75, "y": 3.25},
85 {"x": 13.75, "y": 3.25, "w": 1.25},
86 {"x": 18.5, "y": 3.25},
87 {"x": 19.5, "y": 3.25},
88 {"x": 20.5, "y": 3.25},
89 {"x": 0, "y": 4.25, "w": 1.25},
90 {"x": 1.25, "y": 4.25},
91 {"x": 2.25, "y": 4.25},
92 {"x": 3.25, "y": 4.25},
93 {"x": 4.25, "y": 4.25},
94 {"x": 5.25, "y": 4.25},
95 {"x": 6.25, "y": 4.25},
96 {"x": 7.25, "y": 4.25},
97 {"x": 8.25, "y": 4.25},
98 {"x": 9.25, "y": 4.25},
99 {"x": 10.25, "y": 4.25},
100 {"x": 11.25, "y": 4.25},
101 {"x": 12.25, "y": 4.25, "w": 2.75},
102 {"x": 16.25, "y": 4.25},
103 {"x": 18.5, "y": 4.25},
104 {"x": 19.5, "y": 4.25},
105 {"x": 20.5, "y": 4.25},
106 {"x": 21.5, "y": 4.25, "h": 2},
107 {"x": 0, "y": 5.25, "w": 1.25},
108 {"x": 1.25, "y": 5.25, "w": 1.25},
109 {"x": 2.5, "y": 5.25, "w": 1.25},
110 {"x": 3.75, "y": 5.25, "w": 6.25},
111 {"x": 10, "y": 5.25, "w": 1.25},
112 {"x": 11.25, "y": 5.25, "w": 1.25},
113 {"x": 12.5, "y": 5.25, "w": 1.25},
114 {"x": 13.75, "y": 5.25, "w": 1.25},
115 {"x": 15.25, "y": 5.25},
116 {"x": 16.25, "y": 5.25},
117 {"x": 17.25, "y": 5.25},
118 {"x": 18.5, "y": 5.25, "w": 2},
119 {"x": 20.5, "y": 5.25}
120 ]
10 }, 121 },
11 "LAYOUT_fullsize_iso": { 122 "LAYOUT_fullsize_iso": {
12 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"x":18.5, "y":0}, {"x":19.5, "y":0}, {"x":20.5, "y":0}, {"x":21.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Num Lock", "x":18.5, "y":1.25}, {"label":"/", "x":19.5, "y":1.25}, {"label":"*", "x":20.5, "y":1.25}, {"label":"-", "x":21.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"Enter", "x":13.75, "y":2.25, "w":1.25, "h":2}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"7", "x":18.5, "y":2.25}, {"label":"8", "x":19.5, "y":2.25}, {"label":"9", "x":20.5, "y":2.25}, {"label":"+", "x":21.5, "y":2.25, "h":2}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"@", "x":11.75, "y":3.25}, {"label":"~", "x":12.75, "y":3.25}, {"label":"4", "x":18.5, "y":3.25}, {"label":"5", "x":19.5, "y":3.25}, {"label":"6", "x":20.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":1.25}, {"label":"|", "x":1.25, "y":4.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"1", "x":18.5, "y":4.25}, {"label":"2", "x":19.5, "y":4.25}, {"label":"3", "x":20.5, "y":4.25}, {"label":"Enter", "x":21.5, "y":4.25, "h":2}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}, {"label":"0", "x":18.5, "y":5.25, "w":2}, {"label":".", "x":20.5, "y":5.25}] 123 "layout": [
124 {"x": 0, "y": 0},
125 {"x": 2, "y": 0},
126 {"x": 3, "y": 0},
127 {"x": 4, "y": 0},
128 {"x": 5, "y": 0},
129 {"x": 6.5, "y": 0},
130 {"x": 7.5, "y": 0},
131 {"x": 8.5, "y": 0},
132 {"x": 9.5, "y": 0},
133 {"x": 11, "y": 0},
134 {"x": 12, "y": 0},
135 {"x": 13, "y": 0},
136 {"x": 14, "y": 0},
137 {"x": 15.25, "y": 0},
138 {"x": 16.25, "y": 0},
139 {"x": 17.25, "y": 0},
140 {"x": 18.5, "y": 0},
141 {"x": 19.5, "y": 0},
142 {"x": 20.5, "y": 0},
143 {"x": 21.5, "y": 0},
144 {"x": 0, "y": 1.25},
145 {"x": 1, "y": 1.25},
146 {"x": 2, "y": 1.25},
147 {"x": 3, "y": 1.25},
148 {"x": 4, "y": 1.25},
149 {"x": 5, "y": 1.25},
150 {"x": 6, "y": 1.25},
151 {"x": 7, "y": 1.25},
152 {"x": 8, "y": 1.25},
153 {"x": 9, "y": 1.25},
154 {"x": 10, "y": 1.25},
155 {"x": 11, "y": 1.25},
156 {"x": 12, "y": 1.25},
157 {"x": 13, "y": 1.25, "w": 2},
158 {"x": 15.25, "y": 1.25},
159 {"x": 16.25, "y": 1.25},
160 {"x": 17.25, "y": 1.25},
161 {"x": 18.5, "y": 1.25},
162 {"x": 19.5, "y": 1.25},
163 {"x": 20.5, "y": 1.25},
164 {"x": 21.5, "y": 1.25},
165 {"x": 0, "y": 2.25, "w": 1.5},
166 {"x": 1.5, "y": 2.25},
167 {"x": 2.5, "y": 2.25},
168 {"x": 3.5, "y": 2.25},
169 {"x": 4.5, "y": 2.25},
170 {"x": 5.5, "y": 2.25},
171 {"x": 6.5, "y": 2.25},
172 {"x": 7.5, "y": 2.25},
173 {"x": 8.5, "y": 2.25},
174 {"x": 9.5, "y": 2.25},
175 {"x": 10.5, "y": 2.25},
176 {"x": 11.5, "y": 2.25},
177 {"x": 12.5, "y": 2.25},
178 {"x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
179 {"x": 15.25, "y": 2.25},
180 {"x": 16.25, "y": 2.25},
181 {"x": 17.25, "y": 2.25},
182 {"x": 18.5, "y": 2.25},
183 {"x": 19.5, "y": 2.25},
184 {"x": 20.5, "y": 2.25},
185 {"x": 21.5, "y": 2.25, "h": 2},
186 {"x": 0, "y": 3.25, "w": 1.75},
187 {"x": 1.75, "y": 3.25},
188 {"x": 2.75, "y": 3.25},
189 {"x": 3.75, "y": 3.25},
190 {"x": 4.75, "y": 3.25},
191 {"x": 5.75, "y": 3.25},
192 {"x": 6.75, "y": 3.25},
193 {"x": 7.75, "y": 3.25},
194 {"x": 8.75, "y": 3.25},
195 {"x": 9.75, "y": 3.25},
196 {"x": 10.75, "y": 3.25},
197 {"x": 11.75, "y": 3.25},
198 {"x": 12.75, "y": 3.25},
199 {"x": 18.5, "y": 3.25},
200 {"x": 19.5, "y": 3.25},
201 {"x": 20.5, "y": 3.25},
202 {"x": 0, "y": 4.25, "w": 1.25},
203 {"x": 1.25, "y": 4.25},
204 {"x": 2.25, "y": 4.25},
205 {"x": 3.25, "y": 4.25},
206 {"x": 4.25, "y": 4.25},
207 {"x": 5.25, "y": 4.25},
208 {"x": 6.25, "y": 4.25},
209 {"x": 7.25, "y": 4.25},
210 {"x": 8.25, "y": 4.25},
211 {"x": 9.25, "y": 4.25},
212 {"x": 10.25, "y": 4.25},
213 {"x": 11.25, "y": 4.25},
214 {"x": 12.25, "y": 4.25, "w": 2.75},
215 {"x": 16.25, "y": 4.25},
216 {"x": 18.5, "y": 4.25},
217 {"x": 19.5, "y": 4.25},
218 {"x": 20.5, "y": 4.25},
219 {"x": 21.5, "y": 4.25, "h": 2},
220 {"x": 0, "y": 5.25, "w": 1.25},
221 {"x": 1.25, "y": 5.25, "w": 1.25},
222 {"x": 2.5, "y": 5.25, "w": 1.25},
223 {"x": 3.75, "y": 5.25, "w": 6.25},
224 {"x": 10, "y": 5.25, "w": 1.25},
225 {"x": 11.25, "y": 5.25, "w": 1.25},
226 {"x": 12.5, "y": 5.25, "w": 1.25},
227 {"x": 13.75, "y": 5.25, "w": 1.25},
228 {"x": 15.25, "y": 5.25},
229 {"x": 16.25, "y": 5.25},
230 {"x": 17.25, "y": 5.25},
231 {"x": 18.5, "y": 5.25, "w": 2},
232 {"x": 20.5, "y": 5.25}
233 ]
13 }, 234 },
14 "LAYOUT_fullsize_ansi": { 235 "LAYOUT_fullsize_ansi": {
15 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6.5, "y":0}, {"label":"F6", "x":7.5, "y":0}, {"label":"F7", "x":8.5, "y":0}, {"label":"F8", "x":9.5, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0}, {"label":"F11", "x":13, "y":0}, {"label":"F12", "x":14, "y":0}, {"label":"PrtSc", "x":15.25, "y":0}, {"label":"Scroll Lock", "x":16.25, "y":0}, {"label":"Pause", "x":17.25, "y":0}, {"x":18.5, "y":0}, {"x":19.5, "y":0}, {"x":20.5, "y":0}, {"x":21.5, "y":0}, {"label":"~", "x":0, "y":1.25}, {"label":"!", "x":1, "y":1.25}, {"label":"@", "x":2, "y":1.25}, {"label":"#", "x":3, "y":1.25}, {"label":"$", "x":4, "y":1.25}, {"label":"%", "x":5, "y":1.25}, {"label":"^", "x":6, "y":1.25}, {"label":"&", "x":7, "y":1.25}, {"label":"*", "x":8, "y":1.25}, {"label":"(", "x":9, "y":1.25}, {"label":")", "x":10, "y":1.25}, {"label":"_", "x":11, "y":1.25}, {"label":"+", "x":12, "y":1.25}, {"label":"Backspace", "x":13, "y":1.25, "w":2}, {"label":"Insert", "x":15.25, "y":1.25}, {"label":"Home", "x":16.25, "y":1.25}, {"label":"PgUp", "x":17.25, "y":1.25}, {"label":"Num Lock", "x":18.5, "y":1.25}, {"label":"/", "x":19.5, "y":1.25}, {"label":"*", "x":20.5, "y":1.25}, {"label":"-", "x":21.5, "y":1.25}, {"label":"Tab", "x":0, "y":2.25, "w":1.5}, {"label":"Q", "x":1.5, "y":2.25}, {"label":"W", "x":2.5, "y":2.25}, {"label":"E", "x":3.5, "y":2.25}, {"label":"R", "x":4.5, "y":2.25}, {"label":"T", "x":5.5, "y":2.25}, {"label":"Y", "x":6.5, "y":2.25}, {"label":"U", "x":7.5, "y":2.25}, {"label":"I", "x":8.5, "y":2.25}, {"label":"O", "x":9.5, "y":2.25}, {"label":"P", "x":10.5, "y":2.25}, {"label":"{", "x":11.5, "y":2.25}, {"label":"}", "x":12.5, "y":2.25}, {"label":"|", "x":13.5, "y":2.25, "w":1.5}, {"label":"Delete", "x":15.25, "y":2.25}, {"label":"End", "x":16.25, "y":2.25}, {"label":"PgDn", "x":17.25, "y":2.25}, {"label":"7", "x":18.5, "y":2.25}, {"label":"8", "x":19.5, "y":2.25}, {"label":"9", "x":20.5, "y":2.25}, {"label":"+", "x":21.5, "y":2.25, "h":2}, {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75}, {"label":"A", "x":1.75, "y":3.25}, {"label":"S", "x":2.75, "y":3.25}, {"label":"D", "x":3.75, "y":3.25}, {"label":"F", "x":4.75, "y":3.25}, {"label":"G", "x":5.75, "y":3.25}, {"label":"H", "x":6.75, "y":3.25}, {"label":"J", "x":7.75, "y":3.25}, {"label":"K", "x":8.75, "y":3.25}, {"label":"L", "x":9.75, "y":3.25}, {"label":":", "x":10.75, "y":3.25}, {"label":"\"", "x":11.75, "y":3.25}, {"label":"Enter", "x":12.75, "y":3.25, "w":2.25}, {"label":"4", "x":18.5, "y":3.25}, {"label":"5", "x":19.5, "y":3.25}, {"label":"6", "x":20.5, "y":3.25}, {"label":"Shift", "x":0, "y":4.25, "w":2.25}, {"label":"Z", "x":2.25, "y":4.25}, {"label":"X", "x":3.25, "y":4.25}, {"label":"C", "x":4.25, "y":4.25}, {"label":"V", "x":5.25, "y":4.25}, {"label":"B", "x":6.25, "y":4.25}, {"label":"N", "x":7.25, "y":4.25}, {"label":"M", "x":8.25, "y":4.25}, {"label":"<", "x":9.25, "y":4.25}, {"label":">", "x":10.25, "y":4.25}, {"label":"?", "x":11.25, "y":4.25}, {"label":"Shift", "x":12.25, "y":4.25, "w":2.75}, {"label":"\u2191", "x":16.25, "y":4.25}, {"label":"1", "x":18.5, "y":4.25}, {"label":"2", "x":19.5, "y":4.25}, {"label":"3", "x":20.5, "y":4.25}, {"label":"Enter", "x":21.5, "y":4.25, "h":2}, {"label":"Ctrl", "x":0, "y":5.25, "w":1.25}, {"label":"Win", "x":1.25, "y":5.25, "w":1.25}, {"label":"Alt", "x":2.5, "y":5.25, "w":1.25}, {"x":3.75, "y":5.25, "w":6.25}, {"label":"Alt", "x":10, "y":5.25, "w":1.25}, {"label":"Win", "x":11.25, "y":5.25, "w":1.25}, {"label":"Menu", "x":12.5, "y":5.25, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, {"label":"\u2190", "x":15.25, "y":5.25}, {"label":"\u2193", "x":16.25, "y":5.25}, {"label":"\u2192", "x":17.25, "y":5.25}, {"label":"0", "x":18.5, "y":5.25, "w":2}, {"label":".", "x":20.5, "y":5.25}] 236 "layout": [
237 {"x": 0, "y": 0},
238 {"x": 2, "y": 0},
239 {"x": 3, "y": 0},
240 {"x": 4, "y": 0},
241 {"x": 5, "y": 0},
242 {"x": 6.5, "y": 0},
243 {"x": 7.5, "y": 0},
244 {"x": 8.5, "y": 0},
245 {"x": 9.5, "y": 0},
246 {"x": 11, "y": 0},
247 {"x": 12, "y": 0},
248 {"x": 13, "y": 0},
249 {"x": 14, "y": 0},
250 {"x": 15.25, "y": 0},
251 {"x": 16.25, "y": 0},
252 {"x": 17.25, "y": 0},
253 {"x": 18.5, "y": 0},
254 {"x": 19.5, "y": 0},
255 {"x": 20.5, "y": 0},
256 {"x": 21.5, "y": 0},
257 {"x": 0, "y": 1.25},
258 {"x": 1, "y": 1.25},
259 {"x": 2, "y": 1.25},
260 {"x": 3, "y": 1.25},
261 {"x": 4, "y": 1.25},
262 {"x": 5, "y": 1.25},
263 {"x": 6, "y": 1.25},
264 {"x": 7, "y": 1.25},
265 {"x": 8, "y": 1.25},
266 {"x": 9, "y": 1.25},
267 {"x": 10, "y": 1.25},
268 {"x": 11, "y": 1.25},
269 {"x": 12, "y": 1.25},
270 {"x": 13, "y": 1.25, "w": 2},
271 {"x": 15.25, "y": 1.25},
272 {"x": 16.25, "y": 1.25},
273 {"x": 17.25, "y": 1.25},
274 {"x": 18.5, "y": 1.25},
275 {"x": 19.5, "y": 1.25},
276 {"x": 20.5, "y": 1.25},
277 {"x": 21.5, "y": 1.25},
278 {"x": 0, "y": 2.25, "w": 1.5},
279 {"x": 1.5, "y": 2.25},
280 {"x": 2.5, "y": 2.25},
281 {"x": 3.5, "y": 2.25},
282 {"x": 4.5, "y": 2.25},
283 {"x": 5.5, "y": 2.25},
284 {"x": 6.5, "y": 2.25},
285 {"x": 7.5, "y": 2.25},
286 {"x": 8.5, "y": 2.25},
287 {"x": 9.5, "y": 2.25},
288 {"x": 10.5, "y": 2.25},
289 {"x": 11.5, "y": 2.25},
290 {"x": 12.5, "y": 2.25},
291 {"x": 13.5, "y": 2.25, "w": 1.5},
292 {"x": 15.25, "y": 2.25},
293 {"x": 16.25, "y": 2.25},
294 {"x": 17.25, "y": 2.25},
295 {"x": 18.5, "y": 2.25},
296 {"x": 19.5, "y": 2.25},
297 {"x": 20.5, "y": 2.25},
298 {"x": 21.5, "y": 2.25, "h": 2},
299 {"x": 0, "y": 3.25, "w": 1.75},
300 {"x": 1.75, "y": 3.25},
301 {"x": 2.75, "y": 3.25},
302 {"x": 3.75, "y": 3.25},
303 {"x": 4.75, "y": 3.25},
304 {"x": 5.75, "y": 3.25},
305 {"x": 6.75, "y": 3.25},
306 {"x": 7.75, "y": 3.25},
307 {"x": 8.75, "y": 3.25},
308 {"x": 9.75, "y": 3.25},
309 {"x": 10.75, "y": 3.25},
310 {"x": 11.75, "y": 3.25},
311 {"x": 12.75, "y": 3.25, "w": 2.25},
312 {"x": 18.5, "y": 3.25},
313 {"x": 19.5, "y": 3.25},
314 {"x": 20.5, "y": 3.25},
315 {"x": 0, "y": 4.25, "w": 2.25},
316 {"x": 2.25, "y": 4.25},
317 {"x": 3.25, "y": 4.25},
318 {"x": 4.25, "y": 4.25},
319 {"x": 5.25, "y": 4.25},
320 {"x": 6.25, "y": 4.25},
321 {"x": 7.25, "y": 4.25},
322 {"x": 8.25, "y": 4.25},
323 {"x": 9.25, "y": 4.25},
324 {"x": 10.25, "y": 4.25},
325 {"x": 11.25, "y": 4.25},
326 {"x": 12.25, "y": 4.25, "w": 2.75},
327 {"x": 16.25, "y": 4.25},
328 {"x": 18.5, "y": 4.25},
329 {"x": 19.5, "y": 4.25},
330 {"x": 20.5, "y": 4.25},
331 {"x": 21.5, "y": 4.25, "h": 2},
332 {"x": 0, "y": 5.25, "w": 1.25},
333 {"x": 1.25, "y": 5.25, "w": 1.25},
334 {"x": 2.5, "y": 5.25, "w": 1.25},
335 {"x": 3.75, "y": 5.25, "w": 6.25},
336 {"x": 10, "y": 5.25, "w": 1.25},
337 {"x": 11.25, "y": 5.25, "w": 1.25},
338 {"x": 12.5, "y": 5.25, "w": 1.25},
339 {"x": 13.75, "y": 5.25, "w": 1.25},
340 {"x": 15.25, "y": 5.25},
341 {"x": 16.25, "y": 5.25},
342 {"x": 17.25, "y": 5.25},
343 {"x": 18.5, "y": 5.25, "w": 2},
344 {"x": 20.5, "y": 5.25}
345 ]
16 } 346 }
17 } 347 }
18} \ No newline at end of file 348}
diff --git a/keyboards/handwired/hnah108/keymaps/default/config.h b/keyboards/handwired/hnah108/keymaps/default/config.h
deleted file mode 100644
index 348d7c551..000000000
--- a/keyboards/handwired/hnah108/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
1/* Copyright 2019 HnahKB
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19// place overrides here
diff --git a/keyboards/handwired/hnah108/keymaps/default/keymap.c b/keyboards/handwired/hnah108/keymaps/default/keymap.c
index 6d8fe072c..1a6d3bc08 100644
--- a/keyboards/handwired/hnah108/keymaps/default/keymap.c
+++ b/keyboards/handwired/hnah108/keymaps/default/keymap.c
@@ -13,67 +13,67 @@
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 QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
17 18
18enum hnah_layers{ 19enum layer_names {
19 _QWERTY, 20 _QWERTY,
20 _FN 21 _FN
21}; 22};
22 23
23#define LOWER MO(_FN) 24#define LOWER MO(_FN)
24#define RAISE MO(_QWERTY) 25#define RAISE MO(_QWERTY)
25 26
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 27const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_QWERTY] = LAYOUT_all( /* Base */ 28 [_QWERTY] = LAYOUT_all(
28 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MYCM, KC_CALC, KC_MPLY, LOWER, 29 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, KC_MYCM, KC_CALC, KC_MPLY, LOWER,
29 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, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, 30
30 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_SLSH, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, 31 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, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
31 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, 32 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_SLSH, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
32 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, 33 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
33 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT 34 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_BSLS, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
34 ), 35 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
36 ),
37
38 [_FN] = LAYOUT_all(
39 RESET, BL_STEP, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______,
35 40
36 [_FN] = LAYOUT_all( /* Base */ 41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
37 RESET, BL_STEP,RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, 42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, 43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRIU, _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, _______, _______
41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRIU, _______, _______, _______, _______, 46 )
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BRID, _______, _______, _______
43 ),
44}; 47};
45 48
46void encoder_update_user(uint8_t index, bool clockwise) { 49void encoder_update_user(uint8_t index, bool clockwise) {
47 if (index == 0) { 50 if (index == 0) {
48 if (IS_LAYER_ON(_FN)) { 51 if (IS_LAYER_ON(_FN)) {
49 if (clockwise) { 52 if (clockwise) {
50 tap_code(KC_BRIU); 53 tap_code(KC_BRIU);
51 } else { 54 } else {
52 tap_code(KC_BRID); 55 tap_code(KC_BRID);
56 }
57 } else {
58 if (clockwise) {
59 tap_code(KC_VOLU);
60 } else {
61 tap_code(KC_VOLD);
62 }
63 }
53 } 64 }
54 } else { 65}
55 if (clockwise) { 66
56 tap_code(KC_VOLU); 67void rgb_matrix_indicators_user(void) {
68 led_t led_state = get_host_led_state();
57 69
70 if (led_state.caps_lock) {
71 rgb_matrix_set_color(30, 0x00, 0xFF, 0x00);
72 } else if (led_state.num_lock) {
73 rgb_matrix_set_color(30, 0xFF, 0x00, 0x00);
74 } else if (led_state.scroll_lock) {
75 rgb_matrix_set_color(30, 0x00, 0x00, 0xFF);
58 } else { 76 } else {
59 tap_code(KC_VOLD); 77 rgb_matrix_set_color(30, 0x00, 0x00, 0x00);
60 }
61 } 78 }
62 }
63} 79}
64
65void rgb_matrix_indicators_user(void)
66{
67 if IS_HOST_LED_ON(USB_LED_CAPS_LOCK)
68 {
69 rgb_matrix_set_color(30, 0x00, 0xFF, 0x00);
70 } else if IS_HOST_LED_ON(USB_LED_NUM_LOCK)
71 {
72 rgb_matrix_set_color(30, 0xFF, 0x00, 0x00);
73 } else if IS_HOST_LED_ON(USB_LED_SCROLL_LOCK)
74 {
75 rgb_matrix_set_color(30, 0x00, 0x00, 0xFF);
76 } else {
77 rgb_matrix_set_color(30, 0x00, 0x00, 0x00);
78 }
79} \ No newline at end of file
diff --git a/keyboards/handwired/hnah108/keymaps/default/readme.md b/keyboards/handwired/hnah108/keymaps/default/readme.md
index 37477efdb..21d49073d 100644
--- a/keyboards/handwired/hnah108/keymaps/default/readme.md
+++ b/keyboards/handwired/hnah108/keymaps/default/readme.md
@@ -1 +1 @@
# The default keymap for hnah108 \ No newline at end of file # The default keymap for hnah108
diff --git a/keyboards/handwired/hnah108/readme.md b/keyboards/handwired/hnah108/readme.md
index d4cd6a180..47096ecdd 100644
--- a/keyboards/handwired/hnah108/readme.md
+++ b/keyboards/handwired/hnah108/readme.md
@@ -1,14 +1,18 @@
1# hnah108 1# hnah108
2 2
3![hnah108](https://i.imgur.com/rV0lM8M.jpg) 3![hnah108](https://i.imgur.com/rV0lM8Ml.jpg)
4 4
5A Full size keyboard pcb with rotary encoder. Used ws2811 IC as a indicator LED driver 5A full size keyboard pcb with rotary encoder. Uses WS2811 IC as an indicator LED driver.
6 6
7Keyboard Maintainer: [HnahKB](https://github.com/vuhopkep) 7* Keyboard Maintainer: [HnahKB](https://github.com/vuhopkep)
8Hardware Supported: Hnah108 v1 8* Hardware Supported: Hnah108 v1
9 9
10Make example for this keyboard (after setting up your build environment): 10Make example for this keyboard (after setting up your build environment):
11 11
12 make handwired/hnah108:default 12 make handwired/hnah108:default
13 13
14Flashing example for this keyboard:
15
16 make handwired/hnah108:default:flash
17
14See 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). 18See 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).
diff --git a/keyboards/handwired/hnah108/rules.mk b/keyboards/handwired/hnah108/rules.mk
index fa28a1cce..e91ef88d4 100644
--- a/keyboards/handwired/hnah108/rules.mk
+++ b/keyboards/handwired/hnah108/rules.mk
@@ -2,33 +2,23 @@
2MCU = atmega32u4 2MCU = atmega32u4
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 = atmel-dfu 5BOOTLOADER = atmel-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(+1000) 10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys(+4700) 11MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control(+450) 12EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug(+400) 13CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration 14COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
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 = no # USB Nkey Rollover 18NKRO_ENABLE = no # USB Nkey Rollover
26BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality 19BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow 20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config) 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
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
33ENCODER_ENABLE = yes 23ENCODER_ENABLE = yes
34RGB_MATRIX_ENABLE = WS2812 24RGB_MATRIX_ENABLE = WS2812