aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornoroadsleft <18669334+noroadsleft@users.noreply.github.com>2019-07-02 09:22:56 -0700
committerDrashna Jaelre <drashna@live.com>2019-07-02 09:22:56 -0700
commit308275909d081398231b4aa766846b63ffe7381a (patch)
treee43bc3330dbcb0aef2275cc7c24b155d61e0d2f9
parentadda4e137e980d1597f7df7317a3419584e10d4f (diff)
downloadqmk_firmware-308275909d081398231b4aa766846b63ffe7381a.tar.gz
qmk_firmware-308275909d081398231b4aa766846b63ffe7381a.zip
[Keyboard] GH60 Configurator updates and modernization (#6232)
* Convert gh60.h to #pragma once include guard * Lint gh60.h This commit only changes white space. * Convert info.json to debug linting Making this file easier to read. * Put the label keys first for LAYOUT_60_ansi * Complete and correct key labels in info.json * Duplicate LAYOUT as LAYOUT_all Doing this for backwards compatibility. Has implications for user keymaps. * Update LAYOUT_all to make sense The original macro LAYOUT submitted for the GH60 gets a couple of things wrong: - K49 is placed between Space and Right Alt, when it's actually the right half of a split Backspace - K3C is assigned before K3D, when K3C is the 1u portion of a 1.75u/1u split Right Shift, and therefore K3D is actually to the left of K3C The LAYOUT_all macro corrects these issues, but the LAYOUT macro is unchanged, so as to not break user keymaps that depend on it. This commit also updates the default keymap to use the LAYOUT_all macro, and makes a minor change to the base layer to be more as a user would expect for the corresponding physical layout. * Correct the layout data for the LAYOUT macro in info.json Gives proper Configurator rendering. * Modernize default keymap Update the default keymap to use more modern QMK conventions. * Modernize the LED management code Update the LED management functions to use the GPIO functions, and clean up the led_set_kb() function. * Update key labels in info.json for LAYOUT_60_ansi_split_rshift Makes them consistent with the the rest of the file. * Update Docs links in readme file
-rw-r--r--keyboards/gh60/gh60.c24
-rw-r--r--keyboards/gh60/gh60.h91
-rw-r--r--keyboards/gh60/info.json410
-rw-r--r--keyboards/gh60/keymaps/default/keymap.c63
-rw-r--r--keyboards/gh60/readme.md2
5 files changed, 479 insertions, 111 deletions
diff --git a/keyboards/gh60/gh60.c b/keyboards/gh60/gh60.c
index 441c799fa..10ae89359 100644
--- a/keyboards/gh60/gh60.c
+++ b/keyboards/gh60/gh60.c
@@ -15,25 +15,13 @@ extern inline void gh60_wasd_leds_off(void);
15 15
16 16
17void led_set_kb(uint8_t usb_led) { 17void led_set_kb(uint8_t usb_led) {
18 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here 18 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
19 19
20 if (usb_led & (1<<USB_LED_CAPS_LOCK)) { 20 if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
21 gh60_caps_led_on(); 21 gh60_caps_led_on();
22 } else { 22 } else {
23 gh60_caps_led_off(); 23 gh60_caps_led_off();
24 } 24 }
25 25
26 // if (usb_led & (1<<USB_LED_NUM_LOCK)) { 26 led_set_user(usb_led);
27 // gh60_esc_led_on();
28 // } else {
29 // gh60_esc_led_off();
30 // }
31
32 // if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
33 // gh60_fn_led_on();
34 // } else {
35 // gh60_fn_led_off();
36 // }
37
38 led_set_user(usb_led);
39} 27}
diff --git a/keyboards/gh60/gh60.h b/keyboards/gh60/gh60.h
index c72fb23e5..048263ba7 100644
--- a/keyboards/gh60/gh60.h
+++ b/keyboards/gh60/gh60.h
@@ -1,5 +1,4 @@
1#ifndef GH60_H 1#pragma once
2#define GH60_H
3 2
4#include "quantum.h" 3#include "quantum.h"
5#include "led.h" 4#include "led.h"
@@ -13,21 +12,35 @@
13 * B2 Capslock LED 12 * B2 Capslock LED
14 * B0 not connected 13 * B0 not connected
15 */ 14 */
16inline void gh60_caps_led_on(void) { DDRB |= (1<<2); PORTB &= ~(1<<2); } 15inline void gh60_caps_led_on(void) { setPinOutput(B2); writePinLow(B2); }
17inline void gh60_poker_leds_on(void) { DDRF |= (1<<4); PORTF &= ~(1<<4); } 16inline void gh60_poker_leds_on(void) { setPinOutput(F4); writePinLow(F4); }
18inline void gh60_fn_led_on(void) { DDRF |= (1<<5); PORTF &= ~(1<<5); } 17inline void gh60_fn_led_on(void) { setPinOutput(F5); writePinLow(F5); }
19inline void gh60_esc_led_on(void) { DDRF |= (1<<6); PORTF &= ~(1<<6); } 18inline void gh60_esc_led_on(void) { setPinOutput(F6); writePinLow(F6); }
20inline void gh60_wasd_leds_on(void) { DDRF |= (1<<7); PORTF &= ~(1<<7); } 19inline void gh60_wasd_leds_on(void) { setPinOutput(F7); writePinLow(F7); }
21 20
22inline void gh60_caps_led_off(void) { DDRB &= ~(1<<2); PORTB &= ~(1<<2); } 21inline void gh60_caps_led_off(void) { setPinInput(B2); writePinLow(B2); }
23inline void gh60_poker_leds_off(void) { DDRF &= ~(1<<4); PORTF &= ~(1<<4); } 22inline void gh60_poker_leds_off(void) { setPinInput(F4); writePinLow(F4); }
24inline void gh60_fn_led_off(void) { DDRF &= ~(1<<5); PORTF &= ~(1<<5); } 23inline void gh60_fn_led_off(void) { setPinInput(F5); writePinLow(F5); }
25inline void gh60_esc_led_off(void) { DDRF &= ~(1<<6); PORTF &= ~(1<<6); } 24inline void gh60_esc_led_off(void) { setPinInput(F6); writePinLow(F6); }
26inline void gh60_wasd_leds_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); } 25inline void gh60_wasd_leds_off(void) { setPinInput(F7); writePinLow(F7); }
27 26
28/* GH60 keymap definition macro 27/* GH60 keymap definition macro
29 * K2C, K31 and K3C are extra keys for ISO 28 * K2C, K31 and K3C are extra keys for ISO
30 */ 29 */
30#define LAYOUT_all( \
31 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49, \
32 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
33 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
34 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
35 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
36) { \
37 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
38 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
39 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
40 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
41 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
42}
43
31#define LAYOUT( \ 44#define LAYOUT( \
32 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ 45 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
33 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 46 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); }
35 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ 48 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
36 K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \ 49 K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D \
37) { \ 50) { \
38 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 51 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
39 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 52 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
40 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ 53 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
41 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ 54 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
42 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \ 55 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
43} 56}
44 57
45/* ANSI variant. No extra keys for ISO */ 58/* ANSI variant. No extra keys for ISO */
@@ -47,14 +60,14 @@ inline void gh60_wasd_leds_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
47 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \ 60 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
48 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \ 61 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
49 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \ 62 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
50 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 63 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
51 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 64 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
52) { \ 65) { \
53 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 66 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
54 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 67 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
55 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \ 68 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
56 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \ 69 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
57 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \ 70 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
58} 71}
59 72
60/* ISO variant. Remove useless ANSI keys */ 73/* ISO variant. Remove useless ANSI keys */
@@ -65,11 +78,11 @@ inline void gh60_wasd_leds_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
65 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 78 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \
66 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 79 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
67) { \ 80) { \
68 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 81 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
69 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO }, \ 82 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, KC_NO }, \
70 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \ 83 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
71 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \ 84 { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D }, \
72 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \ 85 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
73} 86}
74 87
75 88
@@ -81,11 +94,11 @@ inline void gh60_wasd_leds_off(void) { DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
81 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \ 94 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
82 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 95 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
83) { \ 96) { \
84 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 97 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
85 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 98 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
86 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \ 99 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
87 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ 100 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
88 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \ 101 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, K4D } \
89} 102}
90 103
91/* ANSI with split Right Shift. No extra keys for ISO */ 104/* 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); }
96 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \ 109 K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3C, \
97 K40, K41, K42, K45, K4A, K4B, K4C, K4D \ 110 K40, K41, K42, K45, K4A, K4B, K4C, K4D \
98) { \ 111) { \
99 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 112 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
100 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 113 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
101 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \ 114 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
102 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ 115 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
103 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \ 116 { K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, KC_NO, K4A, K4B, K4C, K4D } \
104} 117}
105
106#endif
diff --git a/keyboards/gh60/info.json b/keyboards/gh60/info.json
index b281e6434..f906b78e6 100644
--- a/keyboards/gh60/info.json
+++ b/keyboards/gh60/info.json
@@ -8,32 +8,418 @@
8 "width": 15, 8 "width": 15,
9 "height": 5, 9 "height": 5,
10 "layouts": { 10 "layouts": {
11 "LAYOUT_all": {
12 "key_count": 65,
13 "layout": [
14 {"label":"~", "x":0, "y":0},
15 {"label":"!", "x":1, "y":0},
16 {"label":"@", "x":2, "y":0},
17 {"label":"#", "x":3, "y":0},
18 {"label":"$", "x":4, "y":0},
19 {"label":"%", "x":5, "y":0},
20 {"label":"^", "x":6, "y":0},
21 {"label":"&", "x":7, "y":0},
22 {"label":"*", "x":8, "y":0},
23 {"label":"(", "x":9, "y":0},
24 {"label":")", "x":10, "y":0},
25 {"label":"_", "x":11, "y":0},
26 {"label":"+", "x":12, "y":0},
27 {"label":"Backspace", "x":13, "y":0},
28 {"label":"Backspace Extra", "x":14, "y":0},
29 {"label":"Tab", "x":0, "y":1, "w":1.5},
30 {"label":"Q", "x":1.5, "y":1},
31 {"label":"W", "x":2.5, "y":1},
32 {"label":"E", "x":3.5, "y":1},
33 {"label":"R", "x":4.5, "y":1},
34 {"label":"T", "x":5.5, "y":1},
35 {"label":"Y", "x":6.5, "y":1},
36 {"label":"U", "x":7.5, "y":1},
37 {"label":"I", "x":8.5, "y":1},
38 {"label":"O", "x":9.5, "y":1},
39 {"label":"P", "x":10.5, "y":1},
40 {"label":"{", "x":11.5, "y":1},
41 {"label":"}", "x":12.5, "y":1},
42 {"label":"|", "x":13.5, "y":1, "w":1.5},
43 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
44 {"label":"A", "x":1.75, "y":2},
45 {"label":"S", "x":2.75, "y":2},
46 {"label":"D", "x":3.75, "y":2},
47 {"label":"F", "x":4.75, "y":2},
48 {"label":"G", "x":5.75, "y":2},
49 {"label":"H", "x":6.75, "y":2},
50 {"label":"J", "x":7.75, "y":2},
51 {"label":"K", "x":8.75, "y":2},
52 {"label":"L", "x":9.75, "y":2},
53 {"label":":", "x":10.75, "y":2},
54 {"label":"\"", "x":11.75, "y":2},
55 {"label":"ISO Hash", "x":12.75, "y":2},
56 {"label":"Enter", "x":13.75, "y":2, "w":1.25},
57 {"label":"Shift", "x":0, "y":3, "w":1.25},
58 {"label":"ISO Backslash", "x":1.25, "y":3},
59 {"label":"Z", "x":2.25, "y":3},
60 {"label":"X", "x":3.25, "y":3},
61 {"label":"C", "x":4.25, "y":3},
62 {"label":"V", "x":5.25, "y":3},
63 {"label":"B", "x":6.25, "y":3},
64 {"label":"N", "x":7.25, "y":3},
65 {"label":"M", "x":8.25, "y":3},
66 {"label":"<", "x":9.25, "y":3},
67 {"label":">", "x":10.25, "y":3},
68 {"label":"?", "x":11.25, "y":3},
69 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
70 {"label":"HHKB Fn", "x":14, "y":3},
71 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
72 {"label":"Win", "x":1.25, "y":4, "w":1.25},
73 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
74 {"label":"Space", "x":3.75, "y":4, "w":6.25},
75 {"label":"Alt", "x":10, "y":4, "w":1.25},
76 {"label":"Win", "x":11.25, "y":4, "w":1.25},
77 {"label":"Menu", "x":12.5, "y":4, "w":1.25},
78 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
79 ]
80 },
81
11 "LAYOUT": { 82 "LAYOUT": {
12 "key_count": 65, 83 "key_count": 65,
13 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":2, "w":1.25}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4}, {"label":"Win", "x":11, "y":4}, {"label":"Menu", "x":12, "y":4}, {"label":"Ctrl", "x":13, "y":4}, {"x":14, "y":4}] 84 "layout": [
85 {"label":"~", "x":0, "y":0},
86 {"label":"!", "x":1, "y":0},
87 {"label":"@", "x":2, "y":0},
88 {"label":"#", "x":3, "y":0},
89 {"label":"$", "x":4, "y":0},
90 {"label":"%", "x":5, "y":0},
91 {"label":"^", "x":6, "y":0},
92 {"label":"&", "x":7, "y":0},
93 {"label":"*", "x":8, "y":0},
94 {"label":"(", "x":9, "y":0},
95 {"label":")", "x":10, "y":0},
96 {"label":"_", "x":11, "y":0},
97 {"label":"+", "x":12, "y":0},
98 {"label":"Backspace", "x":13, "y":0},
99 {"label":"Tab", "x":0, "y":1, "w":1.5},
100 {"label":"Q", "x":1.5, "y":1},
101 {"label":"W", "x":2.5, "y":1},
102 {"label":"E", "x":3.5, "y":1},
103 {"label":"R", "x":4.5, "y":1},
104 {"label":"T", "x":5.5, "y":1},
105 {"label":"Y", "x":6.5, "y":1},
106 {"label":"U", "x":7.5, "y":1},
107 {"label":"I", "x":8.5, "y":1},
108 {"label":"O", "x":9.5, "y":1},
109 {"label":"P", "x":10.5, "y":1},
110 {"label":"{", "x":11.5, "y":1},
111 {"label":"}", "x":12.5, "y":1},
112 {"label":"|", "x":13.5, "y":1, "w":1.5},
113 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
114 {"label":"A", "x":1.75, "y":2},
115 {"label":"S", "x":2.75, "y":2},
116 {"label":"D", "x":3.75, "y":2},
117 {"label":"F", "x":4.75, "y":2},
118 {"label":"G", "x":5.75, "y":2},
119 {"label":"H", "x":6.75, "y":2},
120 {"label":"J", "x":7.75, "y":2},
121 {"label":"K", "x":8.75, "y":2},
122 {"label":"L", "x":9.75, "y":2},
123 {"label":":", "x":10.75, "y":2},
124 {"label":"\"", "x":11.75, "y":2},
125 {"label":"ISO Hash", "x":12.75, "y":2},
126 {"label":"Enter", "x":13.75, "y":2, "w":1.25},
127 {"label":"Shift", "x":0, "y":3, "w":1.25},
128 {"label":"ISO Backslash", "x":1.25, "y":3},
129 {"label":"Z", "x":2.25, "y":3},
130 {"label":"X", "x":3.25, "y":3},
131 {"label":"C", "x":4.25, "y":3},
132 {"label":"V", "x":5.25, "y":3},
133 {"label":"B", "x":6.25, "y":3},
134 {"label":"N", "x":7.25, "y":3},
135 {"label":"M", "x":8.25, "y":3},
136 {"label":"<", "x":9.25, "y":3},
137 {"label":">", "x":10.25, "y":3},
138 {"label":"?", "x":11.25, "y":3},
139 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
140 {"label":"HHKB Fn", "x":14, "y":3},
141 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
142 {"label":"Win", "x":1.25, "y":4, "w":1.25},
143 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
144 {"label":"Space", "x":3.75, "y":4, "w":6.25},
145 {"label":"Backspace Extra", "x":14, "y":0},
146 {"label":"Alt", "x":10, "y":4, "w":1.25},
147 {"label":"Win", "x":11.25, "y":4, "w":1.25},
148 {"label":"Menu", "x":12.5, "y":4, "w":1.25},
149 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
150 ]
14 }, 151 },
15 152
16 "LAYOUT_60_ansi": { 153 "LAYOUT_60_ansi": {
17 "key_count": 61, 154 "key_count": 61,
18 "layout": [{"x":0, "y":0, "label":"~"}, {"x":1, "y":0, "label":"!"}, {"x":2, "y":0, "label":"@"}, {"x":3, "y":0, "label":"#"}, {"x":4, "y":0, "label":"$"}, {"x":5, "y":0, "label":"%"}, {"x":6, "y":0, "label":"^"}, {"x":7, "y":0, "label":"&"}, {"x":8, "y":0, "label":"*"}, {"x":9, "y":0, "label":"("}, {"x":10, "y":0, "label":")"}, {"x":11, "y":0, "label":"_"}, {"x":12, "y":0, "label":"+"}, {"x":13, "y":0, "label":"Backspace", "w":2}, {"x":0, "y":1, "label":"Tab", "w":1.5}, {"x":1.5, "y":1, "label":"Q"}, {"x":2.5, "y":1, "label":"W"}, {"x":3.5, "y":1, "label":"E"}, {"x":4.5, "y":1, "label":"R"}, {"x":5.5, "y":1, "label":"T"}, {"x":6.5, "y":1, "label":"Y"}, {"x":7.5, "y":1, "label":"U"}, {"x":8.5, "y":1, "label":"I"}, {"x":9.5, "y":1, "label":"O"}, {"x":10.5, "y":1, "label":"P"}, {"x":11.5, "y":1, "label":"{"}, {"x":12.5, "y":1, "label":"}"}, {"x":13.5, "y":1, "label":"|", "w":1.5}, {"x":0, "y":2, "label":"Caps Lock", "w":1.75}, {"x":1.75, "y":2, "label":"A"}, {"x":2.75, "y":2, "label":"S"}, {"x":3.75, "y":2, "label":"D"}, {"x":4.75, "y":2, "label":"F"}, {"x":5.75, "y":2, "label":"G"}, {"x":6.75, "y":2, "label":"H"}, {"x":7.75, "y":2, "label":"J"}, {"x":8.75, "y":2, "label":"K"}, {"x":9.75, "y":2, "label":"L"}, {"x":10.75, "y":2, "label":":"}, {"x":11.75, "y":2, "label":"\""}, {"x":12.75, "y":2, "label":"Enter", "w":2.25}, {"x":0, "y":3, "label":"Shift", "w":2.25}, {"x":2.25, "y":3, "label":"Z"}, {"x":3.25, "y":3, "label":"X"}, {"x":4.25, "y":3, "label":"C"}, {"x":5.25, "y":3, "label":"V"}, {"x":6.25, "y":3, "label":"B"}, {"x":7.25, "y":3, "label":"N"}, {"x":8.25, "y":3, "label":"M"}, {"x":9.25, "y":3, "label":"<"}, {"x":10.25, "y":3, "label":">"}, {"x":11.25, "y":3, "label":"?"}, {"x":12.25, "y":3, "label":"Shift", "w":2.75}, {"x":0, "y":4, "label":"Ctrl", "w":1.25}, {"x":1.25, "y":4, "label":"Win", "w":1.25}, {"x":2.5, "y":4, "label":"Alt", "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"x":10, "y":4, "label":"Alt", "w":1.25}, {"x":11.25, "y":4, "label":"Win", "w":1.25}, {"x":12.5, "y":4, "label":"Menu", "w":1.25}, {"x":13.75, "y":4, "label":"Ctrl", "w":1.25}] 155 "layout": [
156 {"label":"~", "x":0, "y":0},
157 {"label":"!", "x":1, "y":0},
158 {"label":"@", "x":2, "y":0},
159 {"label":"#", "x":3, "y":0},
160 {"label":"$", "x":4, "y":0},
161 {"label":"%", "x":5, "y":0},
162 {"label":"^", "x":6, "y":0},
163 {"label":"&", "x":7, "y":0},
164 {"label":"*", "x":8, "y":0},
165 {"label":"(", "x":9, "y":0},
166 {"label":")", "x":10, "y":0},
167 {"label":"_", "x":11, "y":0},
168 {"label":"+", "x":12, "y":0},
169 {"label":"Backspace", "x":13, "y":0, "w":2},
170 {"label":"Tab", "x":0, "y":1, "w":1.5},
171 {"label":"Q", "x":1.5, "y":1},
172 {"label":"W", "x":2.5, "y":1},
173 {"label":"E", "x":3.5, "y":1},
174 {"label":"R", "x":4.5, "y":1},
175 {"label":"T", "x":5.5, "y":1},
176 {"label":"Y", "x":6.5, "y":1},
177 {"label":"U", "x":7.5, "y":1},
178 {"label":"I", "x":8.5, "y":1},
179 {"label":"O", "x":9.5, "y":1},
180 {"label":"P", "x":10.5, "y":1},
181 {"label":"{", "x":11.5, "y":1},
182 {"label":"}", "x":12.5, "y":1},
183 {"label":"|", "x":13.5, "y":1, "w":1.5},
184 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
185 {"label":"A", "x":1.75, "y":2},
186 {"label":"S", "x":2.75, "y":2},
187 {"label":"D", "x":3.75, "y":2},
188 {"label":"F", "x":4.75, "y":2},
189 {"label":"G", "x":5.75, "y":2},
190 {"label":"H", "x":6.75, "y":2},
191 {"label":"J", "x":7.75, "y":2},
192 {"label":"K", "x":8.75, "y":2},
193 {"label":"L", "x":9.75, "y":2},
194 {"label":":", "x":10.75, "y":2},
195 {"label":"\"", "x":11.75, "y":2},
196 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
197 {"label":"Shift", "x":0, "y":3, "w":2.25},
198 {"label":"Z", "x":2.25, "y":3},
199 {"label":"X", "x":3.25, "y":3},
200 {"label":"C", "x":4.25, "y":3},
201 {"label":"V", "x":5.25, "y":3},
202 {"label":"B", "x":6.25, "y":3},
203 {"label":"N", "x":7.25, "y":3},
204 {"label":"M", "x":8.25, "y":3},
205 {"label":"<", "x":9.25, "y":3},
206 {"label":">", "x":10.25, "y":3},
207 {"label":"?", "x":11.25, "y":3},
208 {"label":"Shift", "x":12.25, "y":3, "w":2.75},
209 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
210 {"label":"Win", "x":1.25, "y":4, "w":1.25},
211 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
212 {"label":"Space", "x":3.75, "y":4, "w":6.25},
213 {"label":"Alt", "x":10, "y":4, "w":1.25},
214 {"label":"Win", "x":11.25, "y":4, "w":1.25},
215 {"label":"Menu", "x":12.5, "y":4, "w":1.25},
216 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
217 ]
19 }, 218 },
20 219
21 "LAYOUT_60_iso": { 220 "LAYOUT_60_iso": {
22 "key_count": 62, 221 "key_count": 62,
23 "layout": [{"label":"\u00ac", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"\"", "x":2, "y":0}, {"label":"\u00a3", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"@", "x":11.75, "y":2}, {"label":"~", "x":12.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"|", "x":1.25, "y":3}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"AltGr", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4, "w":1.25}, {"label":"Menu", "x":12.5, "y":4, "w":1.25}, {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}] 222 "layout": [
223 {"label":"\u00ac", "x":0, "y":0},
224 {"label":"!", "x":1, "y":0},
225 {"label":"\"", "x":2, "y":0},
226 {"label":"\u00a3", "x":3, "y":0},
227 {"label":"$", "x":4, "y":0},
228 {"label":"%", "x":5, "y":0},
229 {"label":"^", "x":6, "y":0},
230 {"label":"&", "x":7, "y":0},
231 {"label":"*", "x":8, "y":0},
232 {"label":"(", "x":9, "y":0},
233 {"label":")", "x":10, "y":0},
234 {"label":"_", "x":11, "y":0},
235 {"label":"+", "x":12, "y":0},
236 {"label":"Backspace", "x":13, "y":0, "w":2},
237 {"label":"Tab", "x":0, "y":1, "w":1.5},
238 {"label":"Q", "x":1.5, "y":1},
239 {"label":"W", "x":2.5, "y":1},
240 {"label":"E", "x":3.5, "y":1},
241 {"label":"R", "x":4.5, "y":1},
242 {"label":"T", "x":5.5, "y":1},
243 {"label":"Y", "x":6.5, "y":1},
244 {"label":"U", "x":7.5, "y":1},
245 {"label":"I", "x":8.5, "y":1},
246 {"label":"O", "x":9.5, "y":1},
247 {"label":"P", "x":10.5, "y":1},
248 {"label":"{", "x":11.5, "y":1},
249 {"label":"}", "x":12.5, "y":1},
250 {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
251 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
252 {"label":"A", "x":1.75, "y":2},
253 {"label":"S", "x":2.75, "y":2},
254 {"label":"D", "x":3.75, "y":2},
255 {"label":"F", "x":4.75, "y":2},
256 {"label":"G", "x":5.75, "y":2},
257 {"label":"H", "x":6.75, "y":2},
258 {"label":"J", "x":7.75, "y":2},
259 {"label":"K", "x":8.75, "y":2},
260 {"label":"L", "x":9.75, "y":2},
261 {"label":":", "x":10.75, "y":2},
262 {"label":"@", "x":11.75, "y":2},
263 {"label":"~", "x":12.75, "y":2},
264 {"label":"Shift", "x":0, "y":3, "w":1.25},
265 {"label":"|", "x":1.25, "y":3},
266 {"label":"Z", "x":2.25, "y":3},
267 {"label":"X", "x":3.25, "y":3},
268 {"label":"C", "x":4.25, "y":3},
269 {"label":"V", "x":5.25, "y":3},
270 {"label":"B", "x":6.25, "y":3},
271 {"label":"N", "x":7.25, "y":3},
272 {"label":"M", "x":8.25, "y":3},
273 {"label":"<", "x":9.25, "y":3},
274 {"label":">", "x":10.25, "y":3},
275 {"label":"?", "x":11.25, "y":3},
276 {"label":"Shift", "x":12.25, "y":3, "w":2.75},
277 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
278 {"label":"Win", "x":1.25, "y":4, "w":1.25},
279 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
280 {"label":"Space", "x":3.75, "y":4, "w":6.25},
281 {"label":"AltGr", "x":10, "y":4, "w":1.25},
282 {"label":"Win", "x":11.25, "y":4, "w":1.25},
283 {"label":"Menu", "x":12.5, "y":4, "w":1.25},
284 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
285 ]
24 }, 286 },
25 287
26 "LAYOUT_60_ansi_split_bs_rshift": { 288 "LAYOUT_60_ansi_split_bs_rshift": {
27 "key_count": 63, 289 "key_count": 63,
28 "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":6}, {"label":"Alt", "x":10, "y":4, "w":1.5}, {"label":"Win", "x":11.5, "y":4}, {"label":"Menu", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}] 290 "layout": [
291 {"label":"~", "x":0, "y":0},
292 {"label":"!", "x":1, "y":0},
293 {"label":"@", "x":2, "y":0},
294 {"label":"#", "x":3, "y":0},
295 {"label":"$", "x":4, "y":0},
296 {"label":"%", "x":5, "y":0},
297 {"label":"^", "x":6, "y":0},
298 {"label":"&", "x":7, "y":0},
299 {"label":"*", "x":8, "y":0},
300 {"label":"(", "x":9, "y":0},
301 {"label":")", "x":10, "y":0},
302 {"label":"_", "x":11, "y":0},
303 {"label":"+", "x":12, "y":0},
304 {"label":"Backspace", "x":13, "y":0},
305 {"label":"Backspace Extra", "x":14, "y":0},
306 {"label":"Tab", "x":0, "y":1, "w":1.5},
307 {"label":"Q", "x":1.5, "y":1},
308 {"label":"W", "x":2.5, "y":1},
309 {"label":"E", "x":3.5, "y":1},
310 {"label":"R", "x":4.5, "y":1},
311 {"label":"T", "x":5.5, "y":1},
312 {"label":"Y", "x":6.5, "y":1},
313 {"label":"U", "x":7.5, "y":1},
314 {"label":"I", "x":8.5, "y":1},
315 {"label":"O", "x":9.5, "y":1},
316 {"label":"P", "x":10.5, "y":1},
317 {"label":"{", "x":11.5, "y":1},
318 {"label":"}", "x":12.5, "y":1},
319 {"label":"|", "x":13.5, "y":1, "w":1.5},
320 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
321 {"label":"A", "x":1.75, "y":2},
322 {"label":"S", "x":2.75, "y":2},
323 {"label":"D", "x":3.75, "y":2},
324 {"label":"F", "x":4.75, "y":2},
325 {"label":"G", "x":5.75, "y":2},
326 {"label":"H", "x":6.75, "y":2},
327 {"label":"J", "x":7.75, "y":2},
328 {"label":"K", "x":8.75, "y":2},
329 {"label":"L", "x":9.75, "y":2},
330 {"label":":", "x":10.75, "y":2},
331 {"label":"\"", "x":11.75, "y":2},
332 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
333 {"label":"Shift", "x":0, "y":3, "w":2.25},
334 {"label":"Z", "x":2.25, "y":3},
335 {"label":"X", "x":3.25, "y":3},
336 {"label":"C", "x":4.25, "y":3},
337 {"label":"V", "x":5.25, "y":3},
338 {"label":"B", "x":6.25, "y":3},
339 {"label":"N", "x":7.25, "y":3},
340 {"label":"M", "x":8.25, "y":3},
341 {"label":"<", "x":9.25, "y":3},
342 {"label":">", "x":10.25, "y":3},
343 {"label":"?", "x":11.25, "y":3},
344 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
345 {"label":"HHKB Fn", "x":14, "y":3},
346 {"label":"Ctrl", "x":0, "y":4, "w":1.5},
347 {"label":"Win", "x":1.5, "y":4},
348 {"label":"Alt", "x":2.5, "y":4, "w":1.5},
349 {"label":"Space", "x":4, "y":4, "w":6},
350 {"label":"Alt", "x":10, "y":4, "w":1.5},
351 {"label":"Win", "x":11.5, "y":4},
352 {"label":"Menu", "x":12.5, "y":4},
353 {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
354 ]
29 }, 355 },
30 356
31 "LAYOUT_60_ansi_split_rshift": { 357 "LAYOUT_60_ansi_split_rshift": {
32 "key_count": 62, 358 "key_count": 62,
33 "layout": [{"label":"K00", "x":0, "y":0}, {"label":"K01", "x":1, "y":0}, {"label":"K02", "x":2, "y":0}, {"label":"K03", "x":3, "y":0}, {"label":"K04", "x":4, "y":0}, {"label":"K05", "x":5, "y":0}, {"label":"K06", "x":6, "y":0}, {"label":"K07", "x":7, "y":0}, {"label":"K08", "x":8, "y":0}, {"label":"K09", "x":9, "y":0}, {"label":"K0A", "x":10, "y":0}, {"label":"K0B", "x":11, "y":0}, {"label":"K0C", "x":12, "y":0}, {"label":"K0D", "x":13, "y":0, "w":2}, {"label":"K10", "x":0, "y":1, "w":1.5}, {"label":"K11", "x":1.5, "y":1}, {"label":"K12", "x":2.5, "y":1}, {"label":"K13", "x":3.5, "y":1}, {"label":"K14", "x":4.5, "y":1}, {"label":"K15", "x":5.5, "y":1}, {"label":"K16", "x":6.5, "y":1}, {"label":"K17", "x":7.5, "y":1}, {"label":"K18", "x":8.5, "y":1}, {"label":"K19", "x":9.5, "y":1}, {"label":"K1A", "x":10.5, "y":1}, {"label":"K1B", "x":11.5, "y":1}, {"label":"K1C", "x":12.5, "y":1}, {"label":"K1D", "x":13.5, "y":1, "w":1.5}, {"label":"K20", "x":0, "y":2, "w":1.75}, {"label":"K21", "x":1.75, "y":2}, {"label":"K22", "x":2.75, "y":2}, {"label":"K23", "x":3.75, "y":2}, {"label":"K24", "x":4.75, "y":2}, {"label":"K25", "x":5.75, "y":2}, {"label":"K26", "x":6.75, "y":2}, {"label":"K27", "x":7.75, "y":2}, {"label":"K28", "x":8.75, "y":2}, {"label":"K29", "x":9.75, "y":2}, {"label":"K2A", "x":10.75, "y":2}, {"label":"K2B", "x":11.75, "y":2}, {"label":"K2D", "x":12.75, "y":2, "w":2.25}, {"label":"K30", "x":0, "y":3, "w":2.25}, {"label":"K32", "x":2.25, "y":3}, {"label":"K33", "x":3.25, "y":3}, {"label":"K34", "x":4.25, "y":3}, {"label":"K35", "x":5.25, "y":3}, {"label":"K36", "x":6.25, "y":3}, {"label":"K37", "x":7.25, "y":3}, {"label":"K38", "x":8.25, "y":3}, {"label":"K39", "x":9.25, "y":3}, {"label":"K3A", "x":10.25, "y":3}, {"label":"K3B", "x":11.25, "y":3}, {"label":"K3D", "x":12.25, "y":3, "w":1.75}, {"label":"K3C", "x":14, "y":3}, {"label":"K40", "x":0, "y":4, "w":1.25}, {"label":"K41", "x":1.25, "y":4, "w":1.25}, {"label":"K42", "x":2.5, "y":4, "w":1.25}, {"label":"K45", "x":3.75, "y":4, "w":6.25}, {"label":"K4A", "x":10, "y":4, "w":1.25}, {"label":"K4B", "x":11.25, "y":4, "w":1.25}, {"label":"K4C", "x":12.5, "y":4, "w":1.25}, {"label":"K4D", "x":13.75, "y":4, "w":1.25}] 359 "layout": [
360 {"label":"~", "x":0, "y":0},
361 {"label":"!", "x":1, "y":0},
362 {"label":"@", "x":2, "y":0},
363 {"label":"#", "x":3, "y":0},
364 {"label":"$", "x":4, "y":0},
365 {"label":"%", "x":5, "y":0},
366 {"label":"^", "x":6, "y":0},
367 {"label":"&", "x":7, "y":0},
368 {"label":"*", "x":8, "y":0},
369 {"label":"(", "x":9, "y":0},
370 {"label":")", "x":10, "y":0},
371 {"label":"_", "x":11, "y":0},
372 {"label":"+", "x":12, "y":0},
373 {"label":"Backspace", "x":13, "y":0, "w":2},
374 {"label":"Tab", "x":0, "y":1, "w":1.5},
375 {"label":"Q", "x":1.5, "y":1},
376 {"label":"W", "x":2.5, "y":1},
377 {"label":"E", "x":3.5, "y":1},
378 {"label":"R", "x":4.5, "y":1},
379 {"label":"T", "x":5.5, "y":1},
380 {"label":"Y", "x":6.5, "y":1},
381 {"label":"U", "x":7.5, "y":1},
382 {"label":"I", "x":8.5, "y":1},
383 {"label":"O", "x":9.5, "y":1},
384 {"label":"P", "x":10.5, "y":1},
385 {"label":"{", "x":11.5, "y":1},
386 {"label":"}", "x":12.5, "y":1},
387 {"label":"|", "x":13.5, "y":1, "w":1.5},
388 {"label":"Caps Lock", "x":0, "y":2, "w":1.75},
389 {"label":"A", "x":1.75, "y":2},
390 {"label":"S", "x":2.75, "y":2},
391 {"label":"D", "x":3.75, "y":2},
392 {"label":"F", "x":4.75, "y":2},
393 {"label":"G", "x":5.75, "y":2},
394 {"label":"H", "x":6.75, "y":2},
395 {"label":"J", "x":7.75, "y":2},
396 {"label":"K", "x":8.75, "y":2},
397 {"label":"L", "x":9.75, "y":2},
398 {"label":":", "x":10.75, "y":2},
399 {"label":"\"", "x":11.75, "y":2},
400 {"label":"Enter", "x":12.75, "y":2, "w":2.25},
401 {"label":"Shift", "x":0, "y":3, "w":2.25},
402 {"label":"Z", "x":2.25, "y":3},
403 {"label":"X", "x":3.25, "y":3},
404 {"label":"C", "x":4.25, "y":3},
405 {"label":"V", "x":5.25, "y":3},
406 {"label":"B", "x":6.25, "y":3},
407 {"label":"N", "x":7.25, "y":3},
408 {"label":"M", "x":8.25, "y":3},
409 {"label":"<", "x":9.25, "y":3},
410 {"label":">", "x":10.25, "y":3},
411 {"label":"?", "x":11.25, "y":3},
412 {"label":"Shift", "x":12.25, "y":3, "w":1.75},
413 {"label":"HHKB Fn", "x":14, "y":3},
414 {"label":"Ctrl", "x":0, "y":4, "w":1.25},
415 {"label":"Win", "x":1.25, "y":4, "w":1.25},
416 {"label":"Alt", "x":2.5, "y":4, "w":1.25},
417 {"label":"Space", "x":3.75, "y":4, "w":6.25},
418 {"label":"Alt", "x":10, "y":4, "w":1.25},
419 {"label":"Win", "x":11.25, "y":4, "w":1.25},
420 {"label":"Menu", "x":12.5, "y":4, "w":1.25},
421 {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
422 ]
34 } 423 }
35 } 424 }
36} 425}
37
38
39
diff --git a/keyboards/gh60/keymaps/default/keymap.c b/keyboards/gh60/keymaps/default/keymap.c
index 581ba7e64..a8fd4f3c2 100644
--- a/keyboards/gh60/keymaps/default/keymap.c
+++ b/keyboards/gh60/keymaps/default/keymap.c
@@ -2,47 +2,30 @@
2 2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4 4
5 /* 0: qwerty */ 5 [0] = LAYOUT_all( /* 0: qwerty */
6 LAYOUT( 6 KC_ESC, 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_BSLS, KC_GRV,
7 KC_ESC, 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_GRV, 7 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_BSPC,
8 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_BSPC, 8 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_NO, KC_ENT,
9 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_NO, KC_ENT, 9 KC_LSFT, TG(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
10 KC_LSFT, TG(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(1), KC_RSFT, 10 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
11 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_BSLS, KC_RALT, KC_RGUI, KC_APP, KC_RCTL 11 ),
12 ), 12
13 /* 1: fn */ 13 [1] = LAYOUT_all( /* 1: fn */
14 LAYOUT( 14 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, _______, _______,
15 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, _______, 15 _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
16 _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 16 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
17 _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 17 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
18 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 18 _______, _______, _______, _______, _______, _______, _______, _______
19 _______, _______, _______, _______, _______, _______, _______, _______, _______ 19 ),
20 ), 20
21 [2] = LAYOUT_all( /* 2: arrows */
22 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
23 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______,
26 _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
27 ),
21 28
22 /* 2: arrows */
23 LAYOUT(
24 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP,
28 _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
29 ),
30
31};
32
33const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
34{
35 // MACRODOWN only works in this function
36 switch(id) {
37 case 0:
38 if (record->event.pressed) {
39 register_code(KC_RSFT);
40 } else {
41 unregister_code(KC_RSFT);
42 }
43 break;
44 }
45 return MACRO_NONE;
46}; 29};
47 30
48void matrix_scan_user(void) { 31void matrix_scan_user(void) {
diff --git a/keyboards/gh60/readme.md b/keyboards/gh60/readme.md
index a1469accf..b63cce973 100644
--- a/keyboards/gh60/readme.md
+++ b/keyboards/gh60/readme.md
@@ -13,7 +13,7 @@ Make example for this keyboard (after setting up your build environment):
13 13
14 make gh60:default 14 make gh60:default
15 15
16See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 16See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
17 17
18 18
19## GH60 Hardware Information 19## GH60 Hardware Information