Skip to content

Commit 8e905a7

Browse files
jmaynarddrashnafauxparkJay Maynard
authored
[Keyboard] Initial Tron Guy Labs keyboard implementation. (#13438)
Co-authored-by: Drashna Jaelre <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: Jay Maynard <[email protected]>
1 parent 8c17a82 commit 8e905a7

File tree

14 files changed

+594
-0
lines changed

14 files changed

+594
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/* Copyright 2021 James R. Maynard III <[email protected]>
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 below
20+
21+
// Blackpill pin assignments: reversed the rows from the Teensy version for easier PCB layout
22+
// DO NOT USE the following pins: A9 (has pulldown on it), A11/A12 (USB lines), B2 (external pulldown)
23+
// C13 has an LED, and C13/C14/C15 are best used as inputs (with DIODE_DIRECTION set to ROW2COL, the
24+
// rows are inputs). Note that every usable I/O pin is used.
25+
#define MATRIX_COL_PINS { B0, B1, B10, B12, B13, B14, B15, A8, A7, A10, A6, A5, A15, B3, B4, B5, B6, B7, B8, B9 }
26+
#define MATRIX_ROW_PINS { C13, C14, C15, A0, A1, A2, A3, A4 }
27+
28+
// The BlackPill version is version 2
29+
#define DEVICE_VER 0x0002
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# BlackPill controller for m122-3270
2+
This directory contains the BlackPill-specific definitions for the M122-3270 keyboard.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Overrides for the Blackpill version
2+
3+
# MCU name
4+
MCU = STM32F411
5+
6+
# Bootloader selection
7+
BOOTLOADER = stm32-dfu
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
/* Copyright 2021 James R. Maynard III <[email protected]>
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+
#include "config_common.h"
20+
21+
#define VENDOR_ID 0x1209
22+
#define PRODUCT_ID 0x3270
23+
// DEVICE_VER is defined in each variant's config.h file
24+
#define MANUFACTURER IBM
25+
#define PRODUCT Model M PC/3270 122 key
26+
27+
// Both controllers draw 100 mA or less
28+
#define USB_MAX_POWER_CONSUMPTION 100
29+
30+
/* key matrix size */
31+
#define MATRIX_ROWS 8
32+
#define MATRIX_COLS 20
33+
34+
/*
35+
* Keyboard Matrix Assignments
36+
*
37+
* Change this to how you wired your keyboard
38+
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
39+
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
40+
*
41+
*/
42+
#define UNUSED_PINS
43+
44+
/* COL2ROW, ROW2COL*/
45+
#define DIODE_DIRECTION ROW2COL
46+
47+
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
48+
#define DEBOUNCE 15
49+
50+
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
51+
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
52+
*/
53+
// #define GRAVE_ESC_CTRL_OVERRIDE
54+
55+
/*
56+
* Feature disable options
57+
* These options are also useful to firmware size reduction.
58+
*/
59+
60+
/* disable debug print */
61+
//#define NO_DEBUG
62+
63+
/* disable print */
64+
//#define NO_PRINT
65+
66+
/* disable action features */
67+
//#define NO_ACTION_LAYER
68+
//#define NO_ACTION_TAPPING
69+
//#define NO_ACTION_ONESHOT
70+
//#define NO_ACTION_MACRO
71+
//#define NO_ACTION_FUNCTION
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
{
2+
"keyboard_name": "IBM Model M PC/3270 122 key",
3+
"maintainer": "jmaynard",
4+
"width": 24.75,
5+
"height": 8,
6+
"layouts": {
7+
"LAYOUT": {
8+
"layout": [
9+
{"label":"F13", "x":3.25, "y":0},
10+
{"label":"F14", "x":4.25, "y":0},
11+
{"label":"F15", "x":5.25, "y":0},
12+
{"label":"F16", "x":6.25, "y":0},
13+
{"label":"F17", "x":7.25, "y":0},
14+
{"label":"F18", "x":8.25, "y":0},
15+
{"label":"F19", "x":9.25, "y":0},
16+
{"label":"F20", "x":10.25, "y":0},
17+
{"label":"F21", "x":11.25, "y":0},
18+
{"label":"F22", "x":12.25, "y":0},
19+
{"label":"F23", "x":13.25, "y":0},
20+
{"label":"F24", "x":14.25, "y":0},
21+
{"label":"F1", "x":3.25, "y":1},
22+
{"label":"F2", "x":4.25, "y":1},
23+
{"label":"F3", "x":5.25, "y":1},
24+
{"label":"F4", "x":6.25, "y":1},
25+
{"label":"F5", "x":7.25, "y":1},
26+
{"label":"F6", "x":8.25, "y":1},
27+
{"label":"F7", "x":9.25, "y":1},
28+
{"label":"F8", "x":10.25, "y":1},
29+
{"label":"F9", "x":11.25, "y":1},
30+
{"label":"F10", "x":12.25, "y":1},
31+
{"label":"F11", "x":13.25, "y":1},
32+
{"label":"F12", "x":14.25, "y":1},
33+
{"label":"Esc", "x":0, "y":3},
34+
{"x":1, "y":3},
35+
{"label":"`", "x":2.25, "y":3},
36+
{"label":"1", "x":3.25, "y":3},
37+
{"label":"2", "x":4.25, "y":3},
38+
{"label":"3", "x":5.25, "y":3},
39+
{"label":"4", "x":6.25, "y":3},
40+
{"label":"5", "x":7.25, "y":3},
41+
{"label":"6", "x":8.25, "y":3},
42+
{"label":"7", "x":9.25, "y":3},
43+
{"label":"8", "x":10.25, "y":3},
44+
{"label":"9", "x":11.25, "y":3},
45+
{"label":"0", "x":12.25, "y":3},
46+
{"label":"-", "x":13.25, "y":3},
47+
{"label":"=", "x":14.25, "y":3},
48+
{"label":"Backspace", "x":15.25, "y":3, "w":2},
49+
{"label":"Insert", "x":17.5, "y":3},
50+
{"label":"Home", "x":18.5, "y":3},
51+
{"label":"Page Up", "x":19.5, "y":3},
52+
{"label":"Num Lock", "x":20.75, "y":3},
53+
{"label":"/", "x":21.75, "y":3},
54+
{"label":"*", "x":22.75, "y":3},
55+
{"label":"-", "x":23.75, "y":3},
56+
{"x":0, "y":4},
57+
{"x":1, "y":4},
58+
{"label":"Tab", "x":2.25, "y":4, "w":1.5},
59+
{"label":"Q", "x":3.75, "y":4},
60+
{"label":"W", "x":4.75, "y":4},
61+
{"label":"E", "x":5.75, "y":4},
62+
{"label":"R", "x":6.75, "y":4},
63+
{"label":"T", "x":7.75, "y":4},
64+
{"label":"Y", "x":8.75, "y":4},
65+
{"label":"U", "x":9.75, "y":4},
66+
{"label":"I", "x":10.75, "y":4},
67+
{"label":"O", "x":11.75, "y":4},
68+
{"label":"P", "x":12.75, "y":4},
69+
{"label":"[", "x":13.75, "y":4},
70+
{"label":"]", "x":14.75, "y":4},
71+
{"label":"Enter", "x":16, "y":4, "w":1.25, "h":2},
72+
{"label":"Delete", "x":17.5, "y":4},
73+
{"label":"End", "x":18.5, "y":4},
74+
{"label":"Page Down", "x":19.5, "y":4},
75+
{"label":"7", "x":20.75, "y":4},
76+
{"label":"8", "x":21.75, "y":4},
77+
{"label":"9", "x":22.75, "y":4},
78+
{"label":"+", "x":23.75, "y":4},
79+
{"x":0, "y":5},
80+
{"x":1, "y":5},
81+
{"label":"Caps Lock", "x":2.25, "y":5, "w":1.75},
82+
{"label":"A", "x":4, "y":5},
83+
{"label":"S", "x":5, "y":5},
84+
{"label":"D", "x":6, "y":5},
85+
{"label":"F", "x":7, "y":5},
86+
{"label":"G", "x":8, "y":5},
87+
{"label":"H", "x":9, "y":5},
88+
{"label":"J", "x":10, "y":5},
89+
{"label":"K", "x":11, "y":5},
90+
{"label":"L", "x":12, "y":5},
91+
{"label":";", "x":13, "y":5},
92+
{"label":"'", "x":14, "y":5},
93+
{"label":"#", "x":15, "y":5},
94+
{"label":"Up", "x":18.5, "y":5},
95+
{"label":"4", "x":20.75, "y":5},
96+
{"label":"5", "x":21.75, "y":5},
97+
{"label":"6", "x":22.75, "y":5},
98+
{"x":23.75, "y":5},
99+
{"x":0, "y":6},
100+
{"x":1, "y":6},
101+
{"label":"Shift", "x":2.25, "y":6, "w":1.25},
102+
{"label":"\\", "x":3.5, "y":6},
103+
{"label":"Z", "x":4.5, "y":6},
104+
{"label":"X", "x":5.5, "y":6},
105+
{"label":"C", "x":6.5, "y":6},
106+
{"label":"V", "x":7.5, "y":6},
107+
{"label":"B", "x":8.5, "y":6},
108+
{"label":"N", "x":9.5, "y":6},
109+
{"label":"M", "x":10.5, "y":6},
110+
{"label":",", "x":11.5, "y":6},
111+
{"label":".", "x":12.5, "y":6},
112+
{"label":"/", "x":13.5, "y":6},
113+
{"label":"Shift", "x":14.5, "y":6, "w":2.75},
114+
{"label":"Left", "x":17.5, "y":6},
115+
{"x":18.5, "y":6},
116+
{"label":"Right", "x":19.5, "y":6},
117+
{"label":"1", "x":20.75, "y":6},
118+
{"label":"2", "x":21.75, "y":6},
119+
{"label":"3", "x":22.75, "y":6},
120+
{"label":"Enter", "x":23.75, "y":6, "h":2},
121+
{"x":0, "y":7},
122+
{"x":1, "y":7},
123+
{"label":"Ctrl", "x":2.25, "y":7, "w":1.5},
124+
{"label":"Alt", "x":4.75, "y":7, "w":1.5},
125+
{"x":6.25, "y":7, "w":7},
126+
{"label":"AltGr", "x":13.25, "y":7, "w":1.5},
127+
{"label":"Ctrl", "x":15.75, "y":7, "w":1.5},
128+
{"label":"Down", "x":18.5, "y":7},
129+
{"label":"0", "x":20.75, "y":7, "w":2},
130+
{"label":".", "x":22.75, "y":7}
131+
]
132+
}
133+
}
134+
}

0 commit comments

Comments
 (0)