]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/gh60/gh60.h
[Keyboard] GH60 Configurator updates and modernization (#6232)
[qmk_firmware.git] / keyboards / gh60 / gh60.h
index c72fb23e5084a94e3a720c0f945112bb13c8d138..048263ba73195e321b9fc28edb224804362554a9 100644 (file)
@@ -1,5 +1,4 @@
-#ifndef GH60_H
-#define GH60_H
+#pragma once
 
 #include "quantum.h"
 #include "led.h"
  *   B2 Capslock LED
  *   B0 not connected
  */
-inline void gh60_caps_led_on(void)      { DDRB |=  (1<<2); PORTB &= ~(1<<2); }
-inline void gh60_poker_leds_on(void)    { DDRF |=  (1<<4); PORTF &= ~(1<<4); }
-inline void gh60_fn_led_on(void)       { DDRF |=  (1<<5); PORTF &= ~(1<<5); }
-inline void gh60_esc_led_on(void)      { DDRF |=  (1<<6); PORTF &= ~(1<<6); }
-inline void gh60_wasd_leds_on(void)            { DDRF |=  (1<<7); PORTF &= ~(1<<7); }
+inline void gh60_caps_led_on(void)      { setPinOutput(B2); writePinLow(B2); }
+inline void gh60_poker_leds_on(void)    { setPinOutput(F4); writePinLow(F4); }
+inline void gh60_fn_led_on(void)        { setPinOutput(F5); writePinLow(F5); }
+inline void gh60_esc_led_on(void)       { setPinOutput(F6); writePinLow(F6); }
+inline void gh60_wasd_leds_on(void)     { setPinOutput(F7); writePinLow(F7); }
 
-inline void gh60_caps_led_off(void)     { DDRB &= ~(1<<2); PORTB &= ~(1<<2); }
-inline void gh60_poker_leds_off(void)   { DDRF &= ~(1<<4); PORTF &= ~(1<<4); }
-inline void gh60_fn_led_off(void)      { DDRF &= ~(1<<5); PORTF &= ~(1<<5); }
-inline void gh60_esc_led_off(void)     { DDRF &= ~(1<<6); PORTF &= ~(1<<6); }
-inline void gh60_wasd_leds_off(void)           { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
+inline void gh60_caps_led_off(void)     { setPinInput(B2); writePinLow(B2); }
+inline void gh60_poker_leds_off(void)   { setPinInput(F4); writePinLow(F4); }
+inline void gh60_fn_led_off(void)       { setPinInput(F5); writePinLow(F5); }
+inline void gh60_esc_led_off(void)      { setPinInput(F6); writePinLow(F6); }
+inline void gh60_wasd_leds_off(void)    { setPinInput(F7); writePinLow(F7); }
 
 /* GH60 keymap definition macro
  * K2C, K31 and  K3C are extra keys for ISO
  */
+#define LAYOUT_all( \
+    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
+    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
+    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
+    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
+    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
+) { \
+    { K00, K01, K02, K03,   K04,   K05, K06,   K07,   K08,   K09, K0A, K0B, K0C, K0D }, \
+    { K10, K11, K12, K13,   K14,   K15, K16,   K17,   K18,   K19, K1A, K1B, K1C, K1D }, \
+    { K20, K21, K22, K23,   K24,   K25, K26,   K27,   K28,   K29, K2A, K2B, K2C, K2D }, \
+    { K30, K31, K32, K33,   K34,   K35, K36,   K37,   K38,   K39, K3A, K3B, K3C, K3D }, \
+    { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D }  \
+}
+
 #define LAYOUT( \
     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
@@ -35,11 +48,11 @@ inline void gh60_wasd_leds_off(void)        { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
     K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 ) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
-    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    K49, K4A, K4B, K4C, K4D }  \
+    { K00, K01, K02, K03,   K04,   K05, K06,   K07,   K08,   K09, K0A, K0B, K0C, K0D }, \
+    { K10, K11, K12, K13,   K14,   K15, K16,   K17,   K18,   K19, K1A, K1B, K1C, K1D }, \
+    { K20, K21, K22, K23,   K24,   K25, K26,   K27,   K28,   K29, K2A, K2B, K2C, K2D }, \
+    { K30, K31, K32, K33,   K34,   K35, K36,   K37,   K38,   K39, K3A, K3B, K3C, K3D }, \
+    { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D }  \
 }
 
 /* ANSI variant. No extra keys for ISO */
@@ -47,14 +60,14 @@ inline void gh60_wasd_leds_off(void)        { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
     K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
     K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
     K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
-    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           K3D, \
+    K30,      K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \
     K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 ) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO,    K2D }, \
-    { K30, KC_NO,    K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO,    K3D }, \
-    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    KC_NO,    K4A, K4B, K4C, K4D }  \
+    { K00, K01,   K02, K03,   K04,   K05, K06,   K07,   K08,   K09,   K0A, K0B, K0C,   K0D }, \
+    { K10, K11,   K12, K13,   K14,   K15, K16,   K17,   K18,   K19,   K1A, K1B, K1C,   K1D }, \
+    { K20, K21,   K22, K23,   K24,   K25, K26,   K27,   K28,   K29,   K2A, K2B, KC_NO, K2D }, \
+    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39,   K3A, K3B, KC_NO, K3D }, \
+    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D }  \
 }
 
 /* ISO variant. Remove useless ANSI keys */
@@ -65,11 +78,11 @@ inline void gh60_wasd_leds_off(void)        { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
     K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, \
     K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 ) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
-    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
-    { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D }  \
+    { K00, K01, K02, K03,   K04,   K05, K06,   K07,   K08,   K09,   K0A, K0B, K0C,   K0D   }, \
+    { K10, K11, K12, K13,   K14,   K15, K16,   K17,   K18,   K19,   K1A, K1B, K1C,   KC_NO }, \
+    { K20, K21, K22, K23,   K24,   K25, K26,   K27,   K28,   K29,   K2A, K2B, K2C,   K2D   }, \
+    { K30, K31, K32, K33,   K34,   K35, K36,   K37,   K38,   K39,   K3A, K3B, KC_NO, K3D   }, \
+    { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D   }  \
 }
 
 
@@ -81,11 +94,11 @@ inline void gh60_wasd_leds_off(void)        { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
     K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
     K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 ) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO,    K2D }, \
-    { K30, KC_NO,    K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
-    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    K49, K4A, K4B, K4C, K4D }  \
+    { K00, K01,   K02, K03,   K04,   K05, K06,   K07,   K08,   K09, K0A, K0B, K0C,   K0D }, \
+    { K10, K11,   K12, K13,   K14,   K15, K16,   K17,   K18,   K19, K1A, K1B, K1C,   K1D }, \
+    { K20, K21,   K22, K23,   K24,   K25, K26,   K27,   K28,   K29, K2A, K2B, KC_NO, K2D }, \
+    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39, K3A, K3B, K3C,   K3D }, \
+    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C,   K4D }  \
 }
 
 /* ANSI with split Right Shift. No extra keys for ISO */
@@ -96,11 +109,9 @@ inline void gh60_wasd_leds_off(void)        { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
     K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
     K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 ) { \
-    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
-    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
-    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO,    K2D }, \
-    { K30, KC_NO,    K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
-    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    KC_NO, K4A, K4B, K4C, K4D }  \
+    { K00, K01,   K02, K03,   K04,   K05, K06,   K07,   K08,   K09,   K0A, K0B, K0C,   K0D }, \
+    { K10, K11,   K12, K13,   K14,   K15, K16,   K17,   K18,   K19,   K1A, K1B, K1C,   K1D }, \
+    { K20, K21,   K22, K23,   K24,   K25, K26,   K27,   K28,   K29,   K2A, K2B, KC_NO, K2D }, \
+    { K30, KC_NO, K32, K33,   K34,   K35, K36,   K37,   K38,   K39,   K3A, K3B, K3C,   K3D }, \
+    { K40, K41,   K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C,   K4D }  \
 }
-
-#endif