aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZambumon <Zambumon@users.noreply.github.com>2020-03-11 01:44:20 +0100
committerGitHub <noreply@github.com>2020-03-11 00:44:20 +0000
commit979ac0d8da29b6edf01db951ee99c31e853da2c6 (patch)
tree68bfd53fc565151731d12aad3bfa4167ceaa38a5
parent7a89b51018e21e7c317c043ba819d950ff33fff8 (diff)
downloadqmk_firmware-979ac0d8da29b6edf01db951ee99c31e853da2c6.tar.gz
qmk_firmware-979ac0d8da29b6edf01db951ee99c31e853da2c6.zip
Add VIA support to Tokyo60. (#8362)
* VIA_ENABLE Tokyo60 PCB * Update config.h * Apply suggestions from code review Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
-rw-r--r--keyboards/tokyo60/config.h13
-rw-r--r--keyboards/tokyo60/info.json320
-rw-r--r--keyboards/tokyo60/keymaps/via/keymap.c37
-rw-r--r--keyboards/tokyo60/keymaps/via/rules.mk1
-rw-r--r--keyboards/tokyo60/readme.md14
-rw-r--r--keyboards/tokyo60/rules.mk2
-rw-r--r--keyboards/tokyo60/tokyo60.h13
7 files changed, 371 insertions, 29 deletions
diff --git a/keyboards/tokyo60/config.h b/keyboards/tokyo60/config.h
index 2c1326c0a..79b904da1 100644
--- a/keyboards/tokyo60/config.h
+++ b/keyboards/tokyo60/config.h
@@ -1,15 +1,14 @@
1#ifndef CONFIG_H 1#pragma once
2#define CONFIG_H
3 2
4#include "config_common.h" 3#include "config_common.h"
5 4
6/* USB Device descriptor parameter */ 5/* USB Device descriptor parameter */
7#define VENDOR_ID 0xFEED 6#define VENDOR_ID 0x5436 // "T6"
8#define PRODUCT_ID 0x6060 7#define PRODUCT_ID 0x6060 // Tokyo60
9#define DEVICE_VER 0x0001 8#define DEVICE_VER 0x0001
10#define MANUFACTURER Tokyo Keyboard 9#define MANUFACTURER Tokyo Keyboard
11#define PRODUCT tokyo60 10#define PRODUCT Tokyo60
12#define DESCRIPTION q.m.k. keyboard firmware for tokyo60 11#define DESCRIPTION q.m.k. keyboard firmware for Tokyo60
13 12
14/* key matrix size */ 13/* key matrix size */
15#define MATRIX_ROWS 5 14#define MATRIX_ROWS 5
@@ -54,5 +53,3 @@
54/* For Production */ 53/* For Production */
55#define QMK_ESC_OUTPUT F0 // usually COL 54#define QMK_ESC_OUTPUT F0 // usually COL
56#define QMK_ESC_INPUT D0 // usually ROW 55#define QMK_ESC_INPUT D0 // usually ROW
57
58#endif
diff --git a/keyboards/tokyo60/info.json b/keyboards/tokyo60/info.json
index b0e13c053..10d1bf093 100644
--- a/keyboards/tokyo60/info.json
+++ b/keyboards/tokyo60/info.json
@@ -1,12 +1,320 @@
1{ 1{
2 "keyboard_name": "Tokyo60", 2 "keyboard_name": "Tokyo60",
3 "url": "", 3 "url": "https://tokyokeyboard.com/",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 15, 5 "width": 15,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_60_hhkb": { 8 "LAYOUT_60_hhkb": {
9 "layout": [{"label":"Esc", "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":"~", "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":"Delete", "x":13.5, "y":1, "w":1.5}, {"label":"Control", "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}, {"label":"Fn", "x":14, "y":3}, {"label":"Os", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Os", "x":12.5, "y":4}] 9 "layout": [{
10 "label": "Esc",
11 "x": 0,
12 "y": 0
13 },
14 {
15 "label": "!",
16 "x": 1,
17 "y": 0
18 },
19 {
20 "label": "@",
21 "x": 2,
22 "y": 0
23 },
24 {
25 "label": "#",
26 "x": 3,
27 "y": 0
28 },
29 {
30 "label": "$",
31 "x": 4,
32 "y": 0
33 },
34 {
35 "label": "%",
36 "x": 5,
37 "y": 0
38 },
39 {
40 "label": "^",
41 "x": 6,
42 "y": 0
43 },
44 {
45 "label": "&",
46 "x": 7,
47 "y": 0
48 },
49 {
50 "label": "*",
51 "x": 8,
52 "y": 0
53 },
54 {
55 "label": "(",
56 "x": 9,
57 "y": 0
58 },
59 {
60 "label": ")",
61 "x": 10,
62 "y": 0
63 },
64 {
65 "label": "_",
66 "x": 11,
67 "y": 0
68 },
69 {
70 "label": "+",
71 "x": 12,
72 "y": 0
73 },
74 {
75 "label": "|",
76 "x": 13,
77 "y": 0
78 },
79 {
80 "label": "~",
81 "x": 14,
82 "y": 0
83 },
84 {
85 "label": "Tab",
86 "x": 0,
87 "y": 1,
88 "w": 1.5
89 },
90 {
91 "label": "Q",
92 "x": 1.5,
93 "y": 1
94 },
95 {
96 "label": "W",
97 "x": 2.5,
98 "y": 1
99 },
100 {
101 "label": "E",
102 "x": 3.5,
103 "y": 1
104 },
105 {
106 "label": "R",
107 "x": 4.5,
108 "y": 1
109 },
110 {
111 "label": "T",
112 "x": 5.5,
113 "y": 1
114 },
115 {
116 "label": "Y",
117 "x": 6.5,
118 "y": 1
119 },
120 {
121 "label": "U",
122 "x": 7.5,
123 "y": 1
124 },
125 {
126 "label": "I",
127 "x": 8.5,
128 "y": 1
129 },
130 {
131 "label": "O",
132 "x": 9.5,
133 "y": 1
134 },
135 {
136 "label": "P",
137 "x": 10.5,
138 "y": 1
139 },
140 {
141 "label": "{",
142 "x": 11.5,
143 "y": 1
144 },
145 {
146 "label": "}",
147 "x": 12.5,
148 "y": 1
149 },
150 {
151 "label": "Delete",
152 "x": 13.5,
153 "y": 1,
154 "w": 1.5
155 },
156 {
157 "label": "Control",
158 "x": 0,
159 "y": 2,
160 "w": 1.75
161 },
162 {
163 "label": "A",
164 "x": 1.75,
165 "y": 2
166 },
167 {
168 "label": "S",
169 "x": 2.75,
170 "y": 2
171 },
172 {
173 "label": "D",
174 "x": 3.75,
175 "y": 2
176 },
177 {
178 "label": "F",
179 "x": 4.75,
180 "y": 2
181 },
182 {
183 "label": "G",
184 "x": 5.75,
185 "y": 2
186 },
187 {
188 "label": "H",
189 "x": 6.75,
190 "y": 2
191 },
192 {
193 "label": "J",
194 "x": 7.75,
195 "y": 2
196 },
197 {
198 "label": "K",
199 "x": 8.75,
200 "y": 2
201 },
202 {
203 "label": "L",
204 "x": 9.75,
205 "y": 2
206 },
207 {
208 "label": ":",
209 "x": 10.75,
210 "y": 2
211 },
212 {
213 "label": "\"",
214 "x": 11.75,
215 "y": 2
216 },
217 {
218 "label": "Enter",
219 "x": 12.75,
220 "y": 2,
221 "w": 2.25
222 },
223 {
224 "label": "Shift",
225 "x": 0,
226 "y": 3,
227 "w": 2.25
228 },
229 {
230 "label": "Z",
231 "x": 2.25,
232 "y": 3
233 },
234 {
235 "label": "X",
236 "x": 3.25,
237 "y": 3
238 },
239 {
240 "label": "C",
241 "x": 4.25,
242 "y": 3
243 },
244 {
245 "label": "V",
246 "x": 5.25,
247 "y": 3
248 },
249 {
250 "label": "B",
251 "x": 6.25,
252 "y": 3
253 },
254 {
255 "label": "N",
256 "x": 7.25,
257 "y": 3
258 },
259 {
260 "label": "M",
261 "x": 8.25,
262 "y": 3
263 },
264 {
265 "label": "<",
266 "x": 9.25,
267 "y": 3
268 },
269 {
270 "label": ">",
271 "x": 10.25,
272 "y": 3
273 },
274 {
275 "label": "?",
276 "x": 11.25,
277 "y": 3
278 },
279 {
280 "label": "Shift",
281 "x": 12.25,
282 "y": 3,
283 "w": 1.75
284 },
285 {
286 "label": "Fn",
287 "x": 14,
288 "y": 3
289 },
290 {
291 "label": "Os",
292 "x": 1.5,
293 "y": 4
294 },
295 {
296 "label": "Alt",
297 "x": 2.5,
298 "y": 4,
299 "w": 1.5
300 },
301 {
302 "x": 4,
303 "y": 4,
304 "w": 7
305 },
306 {
307 "label": "Alt",
308 "x": 11,
309 "y": 4,
310 "w": 1.5
311 },
312 {
313 "label": "Os",
314 "x": 12.5,
315 "y": 4
316 }
317 ]
10 } 318 }
11 } 319 }
12} \ No newline at end of file 320} \ No newline at end of file
diff --git a/keyboards/tokyo60/keymaps/via/keymap.c b/keyboards/tokyo60/keymaps/via/keymap.c
new file mode 100644
index 000000000..ffef9af79
--- /dev/null
+++ b/keyboards/tokyo60/keymaps/via/keymap.c
@@ -0,0 +1,37 @@
1#include QMK_KEYBOARD_H
2
3#define BL 0
4#define FN 1
5/*
6 * Default HHKB Layout
7 */
8const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
9
10[BL] = LAYOUT_60_hhkb(
11 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, \
12 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, \
13 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
14 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(FN), \
15 KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT ),
16
17[FN]= LAYOUT_60_hhkb(
18 KC_PWR, 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_INS, KC_DEL, \
19 KC_CAPS, RGB_TOG, RGB_MOD, RGB_RMOD, BL_TOGG, BL_STEP, KC_TRNS, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, \
20 KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \
21 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, \
22 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
23
24[2]= LAYOUT_60_hhkb(
25 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
26 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
27 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
28 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
29 _______, _______, _______, _______, _______ ),
30
31[3]= LAYOUT_60_hhkb(
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
33 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
34 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
36 _______, _______, _______, _______, _______ ),
37};
diff --git a/keyboards/tokyo60/keymaps/via/rules.mk b/keyboards/tokyo60/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/tokyo60/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/tokyo60/readme.md b/keyboards/tokyo60/readme.md
index d0bc6e6ce..74f4e07cc 100644
--- a/keyboards/tokyo60/readme.md
+++ b/keyboards/tokyo60/readme.md
@@ -1,15 +1,15 @@
1# tokyo60 1# Tokyo60
2 2
3![tokyo60](http://tokyokeyboard.com/wp-content/uploads/2018/02/AI7B4543_copy_page_20180215141449-1200x800.jpg) 3![Tokyo60](http://tokyokeyboard.com/wp-content/uploads/2018/02/AI7B4543_copy_page_20180215141449-1200x800.jpg)
4 4
5Minimal hacker style mechanical keyboard designed in Tokyo. Full aluminum hi-pro construction with integrated top-plate. Cherry MX compatible. More Info at [Tokyo Keyboard](http://tokyokeyboard.com). 5Minimal hacker style mechanical keyboard designed in Tokyo. Full aluminum hi-pro construction with integrated top-plate. Cherry MX compatible. More Info at [Tokyo Keyboard](http://tokyokeyboard.com).
6 6
7Keyboard Maintainer: [Tokyo Keyboard](http://tokyokeyboard.com) 7* Keyboard Maintainer: [Tokyo Keyboard](http://tokyokeyboard.com)
8Hardware Supported: tokyo60 rev1 8* Hardware Supported: Tokyo60 Rev.1
9Hardware Availability: [Tokyo Keyboard](http://tokyokeyboard.com), [Massdrop](https://www.massdrop.com/buy/massdrop-x-tokyo-keyboard-tokyo60-keyboard-kit?mode=guest_open) 9* Hardware Availability: [Drop](https://drop.com/buy/massdrop-x-tokyo-keyboard-tokyo60-keyboard-kit?mode=guest_open)
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make tokyo60:default 13 make tokyo60:default
14 14
15See [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. 15See 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/tokyo60/rules.mk b/keyboards/tokyo60/rules.mk
index 87714ec6c..fa639b1ca 100644
--- a/keyboards/tokyo60/rules.mk
+++ b/keyboards/tokyo60/rules.mk
@@ -14,7 +14,7 @@ BOOTLOADER = atmel-dfu
14# Build Options 14# Build Options
15# change yes to no to disable 15# change yes to no to disable
16# 16#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys 18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 19EXTRAKEY_ENABLE = yes # Audio control and System control
20# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE 20# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/tokyo60/tokyo60.h b/keyboards/tokyo60/tokyo60.h
index 53f5d24a8..9eb5f3e62 100644
--- a/keyboards/tokyo60/tokyo60.h
+++ b/keyboards/tokyo60/tokyo60.h
@@ -1,8 +1,9 @@
1#ifndef TOKYO60_H 1#pragma once
2#define TOKYO60_H
3 2
4#include "quantum.h" 3#include "quantum.h"
5 4
5#define XXX KC_NO
6
6#define LAYOUT_60_hhkb( \ 7#define LAYOUT_60_hhkb( \
7 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,\ 8 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D,\
8 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D, \ 9 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2D, \
@@ -12,9 +13,7 @@
12) { \ 13) { \
13 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \ 14 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
14 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \ 15 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
15 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \ 16 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
16 { K30, KC_NO, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \ 17 { K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
17 { KC_NO, K42, K43, KC_NO, KC_NO, K46, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K4B, K4C, K4D } \ 18 { XXX, K42, K43, XXX, XXX, K46, XXX, XXX, XXX, XXX, XXX, K4B, K4C, K4D } \
18} 19}
19
20#endif