aboutsummaryrefslogtreecommitdiff
path: root/keyboards/tronguylabs
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2021-07-25 11:02:36 +1000
committerGitHub <noreply@github.com>2021-07-25 11:02:36 +1000
commit8cc568bc29b2b488dd90c686350b78a7605c58de (patch)
tree0b73ea1818850d648de47544088de2d4058c01f1 /keyboards/tronguylabs
parent95730d4f9605f6c7185ceec168d83508e0b9046b (diff)
downloadqmk_firmware-8cc568bc29b2b488dd90c686350b78a7605c58de.tar.gz
qmk_firmware-8cc568bc29b2b488dd90c686350b78a7605c58de.zip
Fix & clean up tronguylabs/m122_3270 (#13684)
Diffstat (limited to 'keyboards/tronguylabs')
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/config.h4
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/readme.md1
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/rules.mk19
-rw-r--r--keyboards/tronguylabs/m122_3270/config.h42
-rw-r--r--keyboards/tronguylabs/m122_3270/info.json285
-rw-r--r--keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c227
-rw-r--r--keyboards/tronguylabs/m122_3270/keymaps/default/readme.md1
-rw-r--r--keyboards/tronguylabs/m122_3270/m122_3270.c1
-rw-r--r--keyboards/tronguylabs/m122_3270/m122_3270.h32
-rw-r--r--keyboards/tronguylabs/m122_3270/readme.md13
-rw-r--r--keyboards/tronguylabs/m122_3270/rules.mk16
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/config.h4
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/readme.md1
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/rules.mk19
14 files changed, 318 insertions, 347 deletions
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/config.h b/keyboards/tronguylabs/m122_3270/blackpill/config.h
index 95c94ef31..53c3ad73e 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/config.h
+++ b/keyboards/tronguylabs/m122_3270/blackpill/config.h
@@ -16,8 +16,6 @@
16 16
17#pragma once 17#pragma once
18 18
19// place overrides below
20
21// Blackpill pin assignments: reversed the rows from the Teensy version for easier PCB layout 19// 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) 20// 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 21// C13 has an LED, and C13/C14/C15 are best used as inputs (with DIODE_DIRECTION set to ROW2COL, the
@@ -26,4 +24,4 @@
26#define MATRIX_ROW_PINS { C13, C14, C15, A0, A1, A2, A3, A4 } 24#define MATRIX_ROW_PINS { C13, C14, C15, A0, A1, A2, A3, A4 }
27 25
28// The BlackPill version is version 2 26// The BlackPill version is version 2
29#define DEVICE_VER 0x0002 27#define DEVICE_VER 0x0002
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/readme.md b/keyboards/tronguylabs/m122_3270/blackpill/readme.md
index 08df795b1..1e47a447a 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/readme.md
+++ b/keyboards/tronguylabs/m122_3270/blackpill/readme.md
@@ -1,2 +1,3 @@
1# BlackPill controller for m122-3270 1# BlackPill controller for m122-3270
2
2This directory contains the BlackPill-specific definitions for the M122-3270 keyboard. 3This directory contains the BlackPill-specific definitions for the M122-3270 keyboard.
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk b/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
index d3daefaeb..47e9c06f4 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
+++ b/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
@@ -1,7 +1,22 @@
1# Overrides for the Blackpill version
2
3# MCU name 1# MCU name
4MCU = STM32F411 2MCU = STM32F411
5 3
6# Bootloader selection 4# Bootloader selection
7BOOTLOADER = stm32-dfu 5BOOTLOADER = stm32-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/tronguylabs/m122_3270/config.h b/keyboards/tronguylabs/m122_3270/config.h
index 0dd0187a1..98359e6cc 100644
--- a/keyboards/tronguylabs/m122_3270/config.h
+++ b/keyboards/tronguylabs/m122_3270/config.h
@@ -18,11 +18,10 @@
18 18
19#include "config_common.h" 19#include "config_common.h"
20 20
21#define VENDOR_ID 0x1209 21#define VENDOR_ID 0x1209
22#define PRODUCT_ID 0x3270 22#define PRODUCT_ID 0x3270
23// DEVICE_VER is defined in each variant's config.h file 23#define MANUFACTURER IBM
24#define MANUFACTURER IBM 24#define PRODUCT Model M PC/3270 122 key
25#define PRODUCT Model M PC/3270 122 key
26 25
27// Both controllers draw 100 mA or less 26// Both controllers draw 100 mA or less
28#define USB_MAX_POWER_CONSUMPTION 100 27#define USB_MAX_POWER_CONSUMPTION 100
@@ -31,41 +30,8 @@
31#define MATRIX_ROWS 8 30#define MATRIX_ROWS 8
32#define MATRIX_COLS 20 31#define MATRIX_COLS 20
33 32
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*/ 33/* COL2ROW, ROW2COL*/
45#define DIODE_DIRECTION ROW2COL 34#define DIODE_DIRECTION ROW2COL
46 35
47/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ 36/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
48#define DEBOUNCE 15 37#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
diff --git a/keyboards/tronguylabs/m122_3270/info.json b/keyboards/tronguylabs/m122_3270/info.json
index fd158eb46..7bf6cb9e2 100644
--- a/keyboards/tronguylabs/m122_3270/info.json
+++ b/keyboards/tronguylabs/m122_3270/info.json
@@ -1,134 +1,157 @@
1{ 1{
2 "keyboard_name": "IBM Model M PC/3270 122 key", 2 "keyboard_name": "IBM Model M PC/3270 122 key",
3 "maintainer": "jmaynard", 3 "maintainer": "jmaynard",
4 "width": 24.75, 4 "width": 24.75,
5 "height": 8, 5 "height": 8,
6 "layouts": { 6 "layouts": {
7 "LAYOUT": { 7 "LAYOUT": {
8 "layout": [ 8 "layout": [
9 {"label":"F13", "x":3.25, "y":0}, 9 {"x": 3.25, "y": 0},
10 {"label":"F14", "x":4.25, "y":0}, 10 {"x": 4.25, "y": 0},
11 {"label":"F15", "x":5.25, "y":0}, 11 {"x": 5.25, "y": 0},
12 {"label":"F16", "x":6.25, "y":0}, 12 {"x": 6.25, "y": 0},
13 {"label":"F17", "x":7.25, "y":0}, 13 {"x": 7.25, "y": 0},
14 {"label":"F18", "x":8.25, "y":0}, 14 {"x": 8.25, "y": 0},
15 {"label":"F19", "x":9.25, "y":0}, 15 {"x": 9.25, "y": 0},
16 {"label":"F20", "x":10.25, "y":0}, 16 {"x": 10.25, "y": 0},
17 {"label":"F21", "x":11.25, "y":0}, 17 {"x": 11.25, "y": 0},
18 {"label":"F22", "x":12.25, "y":0}, 18 {"x": 12.25, "y": 0},
19 {"label":"F23", "x":13.25, "y":0}, 19 {"x": 13.25, "y": 0},
20 {"label":"F24", "x":14.25, "y":0}, 20 {"x": 14.25, "y": 0},
21 {"label":"F1", "x":3.25, "y":1}, 21
22 {"label":"F2", "x":4.25, "y":1}, 22 {"x": 3.25, "y": 1},
23 {"label":"F3", "x":5.25, "y":1}, 23 {"x": 4.25, "y": 1},
24 {"label":"F4", "x":6.25, "y":1}, 24 {"x": 5.25, "y": 1},
25 {"label":"F5", "x":7.25, "y":1}, 25 {"x": 6.25, "y": 1},
26 {"label":"F6", "x":8.25, "y":1}, 26 {"x": 7.25, "y": 1},
27 {"label":"F7", "x":9.25, "y":1}, 27 {"x": 8.25, "y": 1},
28 {"label":"F8", "x":10.25, "y":1}, 28 {"x": 9.25, "y": 1},
29 {"label":"F9", "x":11.25, "y":1}, 29 {"x": 10.25, "y": 1},
30 {"label":"F10", "x":12.25, "y":1}, 30 {"x": 11.25, "y": 1},
31 {"label":"F11", "x":13.25, "y":1}, 31 {"x": 12.25, "y": 1},
32 {"label":"F12", "x":14.25, "y":1}, 32 {"x": 13.25, "y": 1},
33 {"label":"Esc", "x":0, "y":3}, 33 {"x": 14.25, "y": 1},
34 {"x":1, "y":3}, 34
35 {"label":"`", "x":2.25, "y":3}, 35 {"x": 0, "y": 3},
36 {"label":"1", "x":3.25, "y":3}, 36 {"x": 1, "y": 3},
37 {"label":"2", "x":4.25, "y":3}, 37
38 {"label":"3", "x":5.25, "y":3}, 38 {"x": 2.25, "y": 3},
39 {"label":"4", "x":6.25, "y":3}, 39 {"x": 3.25, "y": 3},
40 {"label":"5", "x":7.25, "y":3}, 40 {"x": 4.25, "y": 3},
41 {"label":"6", "x":8.25, "y":3}, 41 {"x": 5.25, "y": 3},
42 {"label":"7", "x":9.25, "y":3}, 42 {"x": 6.25, "y": 3},
43 {"label":"8", "x":10.25, "y":3}, 43 {"x": 7.25, "y": 3},
44 {"label":"9", "x":11.25, "y":3}, 44 {"x": 8.25, "y": 3},
45 {"label":"0", "x":12.25, "y":3}, 45 {"x": 9.25, "y": 3},
46 {"label":"-", "x":13.25, "y":3}, 46 {"x": 10.25, "y": 3},
47 {"label":"=", "x":14.25, "y":3}, 47 {"x": 11.25, "y": 3},
48 {"label":"Backspace", "x":15.25, "y":3, "w":2}, 48 {"x": 12.25, "y": 3},
49 {"label":"Insert", "x":17.5, "y":3}, 49 {"x": 13.25, "y": 3},
50 {"label":"Home", "x":18.5, "y":3}, 50 {"x": 14.25, "y": 3},
51 {"label":"Page Up", "x":19.5, "y":3}, 51 {"x": 15.25, "y": 3, "w": 2},
52 {"label":"Num Lock", "x":20.75, "y":3}, 52
53 {"label":"/", "x":21.75, "y":3}, 53 {"x": 17.5, "y": 3},
54 {"label":"*", "x":22.75, "y":3}, 54 {"x": 18.5, "y": 3},
55 {"label":"-", "x":23.75, "y":3}, 55 {"x": 19.5, "y": 3},
56 {"x":0, "y":4}, 56
57 {"x":1, "y":4}, 57 {"x": 20.75, "y": 3},
58 {"label":"Tab", "x":2.25, "y":4, "w":1.5}, 58 {"x": 21.75, "y": 3},
59 {"label":"Q", "x":3.75, "y":4}, 59 {"x": 22.75, "y": 3},
60 {"label":"W", "x":4.75, "y":4}, 60 {"x": 23.75, "y": 3},
61 {"label":"E", "x":5.75, "y":4}, 61
62 {"label":"R", "x":6.75, "y":4}, 62 {"x": 0, "y": 4},
63 {"label":"T", "x":7.75, "y":4}, 63 {"x": 1, "y": 4},
64 {"label":"Y", "x":8.75, "y":4}, 64
65 {"label":"U", "x":9.75, "y":4}, 65 {"x": 2.25, "y": 4, "w": 1.5},
66 {"label":"I", "x":10.75, "y":4}, 66 {"x": 3.75, "y": 4},
67 {"label":"O", "x":11.75, "y":4}, 67 {"x": 4.75, "y": 4},
68 {"label":"P", "x":12.75, "y":4}, 68 {"x": 5.75, "y": 4},
69 {"label":"[", "x":13.75, "y":4}, 69 {"x": 6.75, "y": 4},
70 {"label":"]", "x":14.75, "y":4}, 70 {"x": 7.75, "y": 4},
71 {"label":"Enter", "x":16, "y":4, "w":1.25, "h":2}, 71 {"x": 8.75, "y": 4},
72 {"label":"Delete", "x":17.5, "y":4}, 72 {"x": 9.75, "y": 4},
73 {"label":"End", "x":18.5, "y":4}, 73 {"x": 10.75, "y": 4},
74 {"label":"Page Down", "x":19.5, "y":4}, 74 {"x": 11.75, "y": 4},
75 {"label":"7", "x":20.75, "y":4}, 75 {"x": 12.75, "y": 4},
76 {"label":"8", "x":21.75, "y":4}, 76 {"x": 13.75, "y": 4},
77 {"label":"9", "x":22.75, "y":4}, 77 {"x": 14.75, "y": 4},
78 {"label":"+", "x":23.75, "y":4}, 78 {"x": 16, "y": 4, "w": 1.25, "h": 2},
79 {"x":0, "y":5}, 79
80 {"x":1, "y":5}, 80 {"x": 17.5, "y": 4},
81 {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75}, 81 {"x": 18.5, "y": 4},
82 {"label":"A", "x":4, "y":5}, 82 {"x": 19.5, "y": 4},
83 {"label":"S", "x":5, "y":5}, 83
84 {"label":"D", "x":6, "y":5}, 84 {"x": 20.75, "y": 4},
85 {"label":"F", "x":7, "y":5}, 85 {"x": 21.75, "y": 4},
86 {"label":"G", "x":8, "y":5}, 86 {"x": 22.75, "y": 4},
87 {"label":"H", "x":9, "y":5}, 87 {"x": 23.75, "y": 4},
88 {"label":"J", "x":10, "y":5}, 88
89 {"label":"K", "x":11, "y":5}, 89 {"x": 0, "y": 5},
90 {"label":"L", "x":12, "y":5}, 90 {"x": 1, "y": 5},
91 {"label":";", "x":13, "y":5}, 91
92 {"label":"'", "x":14, "y":5}, 92 {"x": 2.25, "y": 5, "w": 1.75},
93 {"label":"#", "x":15, "y":5}, 93 {"x": 4, "y": 5},
94 {"label":"Up", "x":18.5, "y":5}, 94 {"x": 5, "y": 5},
95 {"label":"4", "x":20.75, "y":5}, 95 {"x": 6, "y": 5},
96 {"label":"5", "x":21.75, "y":5}, 96 {"x": 7, "y": 5},
97 {"label":"6", "x":22.75, "y":5}, 97 {"x": 8, "y": 5},
98 {"x":23.75, "y":5}, 98 {"x": 9, "y": 5},
99 {"x":0, "y":6}, 99 {"x": 10, "y": 5},
100 {"x":1, "y":6}, 100 {"x": 11, "y": 5},
101 {"label":"Shift", "x":2.25, "y":6, "w":1.25}, 101 {"x": 12, "y": 5},
102 {"label":"\\", "x":3.5, "y":6}, 102 {"x": 13, "y": 5},
103 {"label":"Z", "x":4.5, "y":6}, 103 {"x": 14, "y": 5},
104 {"label":"X", "x":5.5, "y":6}, 104 {"x": 15, "y": 5},
105 {"label":"C", "x":6.5, "y":6}, 105
106 {"label":"V", "x":7.5, "y":6}, 106 {"x": 18.5, "y": 5},
107 {"label":"B", "x":8.5, "y":6}, 107
108 {"label":"N", "x":9.5, "y":6}, 108 {"x": 20.75, "y": 5},
109 {"label":"M", "x":10.5, "y":6}, 109 {"x": 21.75, "y": 5},
110 {"label":",", "x":11.5, "y":6}, 110 {"x": 22.75, "y": 5},
111 {"label":".", "x":12.5, "y":6}, 111 {"x": 23.75, "y": 5},
112 {"label":"/", "x":13.5, "y":6}, 112
113 {"label":"Shift", "x":14.5, "y":6, "w":2.75}, 113 {"x": 0, "y": 6},
114 {"label":"Left", "x":17.5, "y":6}, 114 {"x": 1, "y": 6},
115 {"x":18.5, "y":6}, 115
116 {"label":"Right", "x":19.5, "y":6}, 116 {"x": 2.25, "y": 6, "w": 1.25},
117 {"label":"1", "x":20.75, "y":6}, 117 {"x": 3.5, "y": 6},
118 {"label":"2", "x":21.75, "y":6}, 118 {"x": 4.5, "y": 6},
119 {"label":"3", "x":22.75, "y":6}, 119 {"x": 5.5, "y": 6},
120 {"label":"Enter", "x":23.75, "y":6, "h":2}, 120 {"x": 6.5, "y": 6},
121 {"x":0, "y":7}, 121 {"x": 7.5, "y": 6},
122 {"x":1, "y":7}, 122 {"x": 8.5, "y": 6},
123 {"label":"Ctrl", "x":2.25, "y":7, "w":1.5}, 123 {"x": 9.5, "y": 6},
124 {"label":"Alt", "x":4.75, "y":7, "w":1.5}, 124 {"x": 10.5, "y": 6},
125 {"x":6.25, "y":7, "w":7}, 125 {"x": 11.5, "y": 6},
126 {"label":"AltGr", "x":13.25, "y":7, "w":1.5}, 126 {"x": 12.5, "y": 6},
127 {"label":"Ctrl", "x":15.75, "y":7, "w":1.5}, 127 {"x": 13.5, "y": 6},
128 {"label":"Down", "x":18.5, "y":7}, 128 {"x": 14.5, "y": 6, "w": 2.75},
129 {"label":"0", "x":20.75, "y":7, "w":2}, 129
130 {"label":".", "x":22.75, "y":7} 130 {"x": 17.5, "y": 6},
131 ] 131 {"x": 18.5, "y": 6},
132 {"x": 19.5, "y": 6},
133
134 {"x": 20.75, "y": 6},
135 {"x": 21.75, "y": 6},
136 {"x": 22.75, "y": 6},
137 {"x": 23.75, "y": 6, "h": 2},
138
139 {"x": 0, "y": 7},
140 {"x": 1, "y": 7},
141
142 {"x": 2.25, "y": 7, "w": 1.5},
143
144 {"x": 4.75, "y": 7, "w": 1.5},
145 {"x": 6.25, "y": 7, "w": 7},
146 {"x": 13.25, "y": 7, "w": 1.5},
147
148 {"x": 15.75, "y": 7, "w": 1.5},
149
150 {"x": 18.5, "y": 7},
151
152 {"x": 20.75, "y": 7, "w": 2},
153 {"x": 22.75, "y": 7}
154 ]
155 }
132 } 156 }
133 }
134} 157}
diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c b/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
index a79d3c637..fb4813f67 100644
--- a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
+++ b/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
@@ -17,58 +17,62 @@
17 17
18enum custom_keycodes { 18enum custom_keycodes {
19 JM_DOT = SAFE_RANGE, // . both shifted and unshifted 19 JM_DOT = SAFE_RANGE, // . both shifted and unshifted
20 JM_COMM, // , both shifted and unshifted 20 JM_COMM, // , both shifted and unshifted
21 JM_GRLS, // < and > on one key 21 JM_GRLS, // < and > on one key
22 JM_CBRC, // { and } on one key 22 JM_CBRC, // { and } on one key
23 JM_CENT, // cent sign and ! on one key 23 JM_CENT, // cent sign and ! on one key
24 JM_JUMP, // JUMP/PA3, 24 JM_JUMP, // JUMP/PA3,
25 JM_DEL // Delete 25 JM_DEL // Delete
26}; 26};
27 27
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 // PC/3270 layout: PC legends (blue) 29 // PC/3270 layout: PC legends (blue)
30 [0] = LAYOUT( 30 [0] = LAYOUT(
31 KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, 31 KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
32 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 32 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
33 KC_NO, KC_NO, 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_ESC, KC_PGUP, KC_PGDN, KC_NLCK, KC_SLCK, KC_PAST, KC_PSLS, 33
34 KC_NO, KC_PAUS, 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_ENT, KC_END, KC_INS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PPLS, 34 KC_NO, KC_NO, 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_ESC, KC_PGUP, KC_PGDN, KC_NLCK, KC_SLCK, KC_PAST, KC_PSLS,
35 KC_NO, KC_NO, 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_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS, 35 KC_NO, KC_PAUS, 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_ENT, KC_END, KC_INS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PPLS,
36 KC_PSCR, KC_NO, KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_HOME, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT, 36 KC_NO, KC_NO, 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_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS,
37 MO(10), KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT 37 KC_PSCR, KC_NO, KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_HOME, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
38 MO(2), KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT
38 ), 39 ),
39 40
40 // PC/3270 layout: 3270 legends (black), with x3270 keycodes 41 // PC/3270 layout: 3270 legends (black), with x3270 keycodes
41 [1] = LAYOUT( 42 [1] = LAYOUT(
42 A(KC_F1), A(KC_F2), A(KC_F3), A(KC_F4), A(KC_F5), A(KC_F6), A(KC_F7), A(KC_F8), A(KC_F9), A(KC_F10), A(KC_F11), A(KC_F12), 43 A(KC_F1), A(KC_F2), A(KC_F3), A(KC_F4), A(KC_F5), A(KC_F6), A(KC_F7), A(KC_F8), A(KC_F9), A(KC_F10), A(KC_F11), A(KC_F12),
43 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, 44 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
44 A(KC_A), A(KC_C), 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, A(KC_1), A(KC_2), JM_JUMP, KC_NO, KC_NO, KC_PCMM, KC_SPC, 45
45 KC_CRSEL, KC_PAUS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JM_CENT, KC_BSLS, S(KC_ENT), S(KC_TAB), KC_INS, JM_DEL, KC_P7, KC_P8, KC_P9, KC_TAB, 46 A(KC_A), A(KC_C), 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, A(KC_1), A(KC_2), JM_JUMP, KC_NO, KC_NO, KC_PCMM, KC_SPC,
46 KC_EXSEL, A(KC_E), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, JM_CBRC, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS, 47 KC_CRSEL, KC_PAUS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JM_CENT, KC_BSLS, S(KC_ENT), S(KC_TAB), KC_INS, JM_DEL, KC_P7, KC_P8, KC_P9, KC_TAB,
47 A(KC_B), C(KC_C), KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JM_COMM, JM_DOT, KC_SLSH, KC_RSFT, KC_LEFT, A(KC_H), KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT, 48 KC_EXSEL, A(KC_E), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, JM_CBRC, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS,
48 MO(10), KC_LGUI, A(KC_R), KC_LALT, KC_SPC, KC_RALT, KC_ENT, KC_DOWN, KC_P0, KC_PDOT 49 A(KC_B), C(KC_C), KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JM_COMM, JM_DOT, KC_SLSH, KC_RSFT, KC_LEFT, A(KC_H), KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
50 MO(2), KC_LGUI, A(KC_R), KC_LALT, KC_SPC, KC_RALT, KC_ENT, KC_DOWN, KC_P0, KC_PDOT
49 ), 51 ),
50 52
51// Function layer, accessed by the Zoom key 53 // Function layer, accessed by the Zoom key
52 [10] = LAYOUT( 54 [2] = LAYOUT(
53 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 55 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
54 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 56 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
55 DF(0), DF(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 57
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 58 DF(0), DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 59 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 60 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 61 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
62 _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______
60 ), 63 ),
61 64
62// Firmware layer, accessed by the Zoom/Space key pair (hold both down) 65// Firmware layer, accessed by the Zoom/Space key pair (hold both down)
63 [11] = LAYOUT( 66 [3] = LAYOUT(
64 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
65 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 69
67 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 70 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
68 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEBUG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 71 _______, _______, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
69 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 72 _______, _______, _______, _______, _______, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
70 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 73 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
71 ), 74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
75 )
72}; 76};
73 77
74bool left_shift_down = false; 78bool left_shift_down = false;
@@ -79,115 +83,84 @@ bool right_alt_down = false;
79bool process_record_user(uint16_t keycode, keyrecord_t *record) { 83bool process_record_user(uint16_t keycode, keyrecord_t *record) {
80 switch (keycode) { 84 switch (keycode) {
81 case KC_LSHIFT: 85 case KC_LSHIFT:
82 if (record->event.pressed) { 86 left_shift_down = record->event.pressed;
83 left_shift_down = true; 87 break;
84 return true;
85 } else {
86 left_shift_down = false;
87 return true;
88 }
89 break;
90 case KC_RSHIFT: 88 case KC_RSHIFT:
91 if (record->event.pressed) { 89 right_shift_down = record->event.pressed;
92 right_shift_down = true; 90 break;
93 return true;
94 } else {
95 right_shift_down = false;
96 return true;
97 }
98 break;
99 case KC_LALT: 91 case KC_LALT:
100 if (record->event.pressed) { 92 left_alt_down = record->event.pressed;
101 left_alt_down = true; 93 break;
102 return true;
103 } else {
104 left_alt_down = false;
105 return true;
106 }
107 break;
108 case KC_RALT: 94 case KC_RALT:
109 if (record->event.pressed) { 95 right_alt_down = record->event.pressed;
110 right_alt_down = true; 96 break;
111 return true;
112 } else {
113 right_alt_down = false;
114 return true;
115 }
116 break;
117 case JM_GRLS: 97 case JM_GRLS:
118 if (left_shift_down || right_shift_down) { 98 if (left_shift_down || right_shift_down) {
119 if(record->event.pressed) { 99 if (record->event.pressed) {
120 SEND_STRING(">"); 100 SEND_STRING(">");
121 } 101 }
122 return false; 102 } else {
123 } else { 103 if (record->event.pressed) {
124 if(record->event.pressed) { 104 SEND_STRING("<");
125 SEND_STRING("<"); 105 }
126 } 106 }
127 return false; 107 return false;
128 }
129 break;
130 case JM_CBRC: 108 case JM_CBRC:
131 if (left_shift_down || right_shift_down) { 109 if (left_shift_down || right_shift_down) {
132 if (record->event.pressed) { 110 if (record->event.pressed) {
133 SEND_STRING("}"); 111 SEND_STRING("}");
112 }
113 } else {
114 if (record->event.pressed) {
115 SEND_STRING("{");
116 }
134 } 117 }
135 return false; 118 return false;
136 } else { 119 case JM_CENT:
137 if(record->event.pressed) { 120 if (left_shift_down || right_shift_down) {
138 SEND_STRING("{"); 121 if (record->event.pressed) {
122 SEND_STRING("!");
123 }
124 } else {
125 if (record->event.pressed) {
126 SEND_STRING("<"); // TODO: what does tn3270 want for a cent sign?
127 }
139 } 128 }
140 return false; 129 return false;
141 } 130 case JM_COMM:
142 break;
143 case JM_CENT:
144 if (left_shift_down || right_shift_down) {
145 if (record->event.pressed) { 131 if (record->event.pressed) {
146 SEND_STRING("!"); 132 SEND_STRING(",");
147 } 133 }
148 return false; 134 return false;
149 } else { 135 case JM_DOT:
150 if (record->event.pressed) { 136 if (record->event.pressed) {
151 SEND_STRING("<"); // TODO: what does tn3270 want for a cent sign? 137 SEND_STRING(".");
152 } 138 }
153 return false; 139 return false;
154 }
155 break;
156 case JM_COMM:
157 if (record->event.pressed){
158 SEND_STRING(",");
159 }
160 return false;
161 case JM_DOT:
162 if (record->event.pressed) {
163 SEND_STRING(".");
164 }
165 return false;
166 case JM_JUMP: 140 case JM_JUMP:
167 if (record->event.pressed) { 141 if (record->event.pressed) {
168 if (left_alt_down || right_alt_down) { 142 if (left_alt_down || right_alt_down) {
169 SEND_STRING("3"); 143 SEND_STRING("3");
144 }
170 } 145 }
171 } 146 return false;
172 return false;
173 case JM_DEL: 147 case JM_DEL:
174 if (record->event.pressed) { 148 if (record->event.pressed) {
175 if (left_alt_down || right_alt_down) { 149 if (left_alt_down || right_alt_down) {
176 unregister_code(KC_LALT); 150 unregister_code(KC_LALT);
177 unregister_code(KC_RALT); 151 unregister_code(KC_RALT);
178 tap_code16(C(KC_W)); 152 tap_code16(C(KC_W));
179 if (left_alt_down) { 153 if (left_alt_down) {
180 register_code(KC_LALT); 154 register_code(KC_LALT);
181 } 155 }
182 if (right_alt_down) { 156 if (right_alt_down) {
183 register_code(KC_RALT); 157 register_code(KC_RALT);
158 }
159 } else {
160 tap_code16(KC_DEL);
184 } 161 }
185 } else {
186 tap_code16(KC_DEL);
187 } 162 }
188 } 163 return false;
189 return false;
190 } 164 }
191
192 return true; 165 return true;
193} 166}
diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md b/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md
index befa267fa..3b59718ed 100644
--- a/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md
+++ b/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md
@@ -1,4 +1,5 @@
1# Default keymap for m122-3270 1# Default keymap for m122-3270
2
2This keymap is intended to make the PC/3270 122-key IBM keyboard work as closely as possible to the standard 3This keymap is intended to make the PC/3270 122-key IBM keyboard work as closely as possible to the standard
3PC/3270 keyboard's original mapping. Two layers are defined: layer 0 is the PC layout, using the blue legends 4PC/3270 keyboard's original mapping. Two layers are defined: layer 0 is the PC layout, using the blue legends
4on the PC/3270 keys (as shipped by Unicomp; I don't have the original keycaps, and I know there are a few 5on the PC/3270 keys (as shipped by Unicomp; I don't have the original keycaps, and I know there are a few
diff --git a/keyboards/tronguylabs/m122_3270/m122_3270.c b/keyboards/tronguylabs/m122_3270/m122_3270.c
index b206d66ae..397d495c2 100644
--- a/keyboards/tronguylabs/m122_3270/m122_3270.c
+++ b/keyboards/tronguylabs/m122_3270/m122_3270.c
@@ -13,4 +13,5 @@
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 "m122_3270.h" 17#include "m122_3270.h"
diff --git a/keyboards/tronguylabs/m122_3270/m122_3270.h b/keyboards/tronguylabs/m122_3270/m122_3270.h
index 71ccf7b66..c18020ebc 100644
--- a/keyboards/tronguylabs/m122_3270/m122_3270.h
+++ b/keyboards/tronguylabs/m122_3270/m122_3270.h
@@ -13,28 +13,28 @@
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
18
17#include "quantum.h" 19#include "quantum.h"
18 20
19// This a shortcut to help you visually see your layout. 21#define XXX KC_NO
20// The first section contains all of the arguments 22
21// The second converts the arguments into a two-dimensional array
22#define LAYOUT( \ 23#define LAYOUT( \
23 k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, \ 24 k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, \
24 k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, \ 25 k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, \
25 k31, k32, k34, k24, k25, k26, k27, k37, k38, k28, k2C, k2D, k2E, k3E, k3C, k3F, k3G, k3H, k2G, k2F, k2H, k2I, k20, \ 26 k31, k32, k34, k24, k25, k26, k27, k37, k38, k28, k2C, k2D, k2E, k3E, k3C, k3F, k3G, k3H, k2G, k2F, k2H, k2I, k20, \
26 k21, k41, k42, k44, k45, k46, k47, k57, k58, k48, k4C, k4D, k4E, k5E, k5C, k6F, k1G, k5G, k4G, k4F, k4H, k4I, k40, \ 27 k21, k41, k42, k44, k45, k46, k47, k57, k58, k48, k4C, k4D, k4E, k5E, k5C, k6F, k1G, k5G, k4G, k4F, k4H, k4I, k40, \
27 k51, k52, k62, k14, k15, k16, k17, k07, k08, k18, k1C, k1D, k1E, k0E, k6E, k0G, k1F, k1H, k1I, k10, \ 28 k51, k52, k62, k14, k15, k16, k17, k07, k08, k18, k1C, k1D, k1E, k0E, k6E, k0G, k1F, k1H, k1I, k10, \
28 k11, k12, k73, k74, k64, k65, k66, k67, k77, k78, k68, k6C, k6D, k7E, k63, k60, k0J, k1J, k61, k6H, k6I, k7J, \ 29 k11, k12, k73, k74, k64, k65, k66, k67, k77, k78, k68, k6C, k6D, k7E, k63, k60, k0J, k1J, k61, k6H, k6I, k7J, \
29 k02, k01, k00, k70, k71, k03, k72, k0F, k7H, k7I \ 30 k02, k01, k00, k70, k71, k03, k72, k0F, k7H, k7I \
30) \ 31) { \
31{ \ 32 { k00, k01, k02, k03, XXX, XXX, XXX, k07, k08, k09, k0A, k0B, XXX, XXX, k0E, k0F, k0G, XXX, XXX, k0J }, \
32 { k00, k01, k02, k03, KC_NO, KC_NO, KC_NO, k07, k08, k09, k0A, k0B, KC_NO, KC_NO, k0E, k0F, k0G, KC_NO, KC_NO, k0J }, \ 33 { k10, k11, k12, XXX, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J }, \
33 { k10, k11, k12, KC_NO, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J }, \ 34 { k20, k21, XXX, XXX, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, XXX }, \
34 { k20, k21, KC_NO, KC_NO, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, KC_NO }, \ 35 { XXX, k31, k32, XXX, k34, XXX, XXX, k37, k38, k39, k3A, k3B, k3C, XXX, k3E, k3F, k3G, k3H, XXX, XXX }, \
35 { KC_NO, k31, k32, KC_NO, k34, KC_NO, KC_NO, k37, k38, k39, k3A, k3B, k3C, KC_NO, k3E, k3F, k3G, k3H, KC_NO, KC_NO }, \ 36 { k40, k41, k42, XXX, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, XXX }, \
36 { k40, k41, k42, KC_NO, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, KC_NO }, \ 37 { XXX, k51, k52, XXX, XXX, XXX, XXX, k57, k58, k59, k5A, k5B, k5C, XXX, k5E, XXX, k5G, XXX, XXX, XXX }, \
37 { KC_NO, k51, k52, KC_NO, KC_NO, KC_NO, KC_NO, k57, k58, k59, k5A, k5B, k5C, KC_NO, k5E, KC_NO, k5G, KC_NO, KC_NO, KC_NO }, \ 38 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, XXX, k6H, k6I, XXX }, \
38 { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, KC_NO, k6H, k6I, KC_NO }, \ 39 { k70, k71, k72, k73, k74, XXX, XXX, k77, k78, k79, k7A, k7B, XXX, XXX, k7E, XXX, XXX, k7H, k7I, k7J } \
39 { k70, k71, k72, k73, k74, KC_NO, KC_NO, k77, k78, k79, k7A, k7B, KC_NO, KC_NO, k7E, KC_NO, KC_NO, k7H, k7I, k7J }, \
40} 40}
diff --git a/keyboards/tronguylabs/m122_3270/readme.md b/keyboards/tronguylabs/m122_3270/readme.md
index b8de84678..1dd1580bc 100644
--- a/keyboards/tronguylabs/m122_3270/readme.md
+++ b/keyboards/tronguylabs/m122_3270/readme.md
@@ -2,8 +2,7 @@
2 2
3![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqzh.jpg) 3![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqzh.jpg)
4 4
5This is a replacement controller for the IBM Model M 122 key terminal keyboard running on a STM32F411 BlackPill, intended 5This is a replacement controller for the IBM Model M 122 key terminal keyboard running on a STM32F411 BlackPill, intended to act as closely to the 3270 keyboard's functioning as possible while still being usable on a PC.
6to act as closely to the 3270 keyboard's functioning as possible while still being usable on a PC.
7 6
8* Keyboard Maintainer: [Jay Maynard](https://github.com/jmaynard) 7* Keyboard Maintainer: [Jay Maynard](https://github.com/jmaynard)
9* Hardware Supported: BlackPill STM32F411, Teensy++ 2.0 8* Hardware Supported: BlackPill STM32F411, Teensy++ 2.0
@@ -14,14 +13,10 @@ Make example for this keyboard (after setting up your build environment):
14 make tronguylabs/m122_3270/blackpill:default 13 make tronguylabs/m122_3270/blackpill:default
15 make tronguylabs/m122_3270/teensy:default 14 make tronguylabs/m122_3270/teensy:default
16 15
17See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the 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).
18[make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
19 17
20A schematic and Gerber files are publicly available for those wishing to have carrier boards made 18A schematic and Gerber files are publicly available for those wishing to have carrier boards made
21professionally instead of handwiring things. The M122 matrix connectors plug right into it. It can 19professionally instead of handwiring things. The M122 matrix connectors plug right into it. It can
22be found at https://github.com/jmaynard/tronguylabs-m122-blackpill . 20be found at https://github.com/jmaynard/tronguylabs-m122-blackpill.
23 21
24This is derived from Luke Stanley's handwired/ibm122m keyboard, with my own keymapping and 22This is derived from Luke Stanley's handwired/ibm122m keyboard, with my own keymapping and rework of the I/O for the BlackPill. There's also a version for the Teensy++ 2.0, since that was my original design and I still use one on one board, even though I switched to the BlackPill for future-proofing. The Teensy++ 2.0 is not recommended for new designs.
25rework of the I/O for the BlackPill. There's also a version for the Teensy++ 2.0, since that
26was my original design and I still use one on one board, even though I switched to the
27BlackPill for future-proofing. The Teensy++ 2.0 is not recommended for new designs.
diff --git a/keyboards/tronguylabs/m122_3270/rules.mk b/keyboards/tronguylabs/m122_3270/rules.mk
deleted file mode 100644
index 2604f4818..000000000
--- a/keyboards/tronguylabs/m122_3270/rules.mk
+++ /dev/null
@@ -1,16 +0,0 @@
1# Build Options
2# change yes to no to disable
3#
4BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
5MOUSEKEY_ENABLE = yes # Mouse keys
6EXTRAKEY_ENABLE = yes # Audio control and System control
7CONSOLE_ENABLE = yes # Console for debug
8COMMAND_ENABLE = yes # Commands for debug and configuration
9# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
10SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
11# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12NKRO_ENABLE = yes # USB Nkey Rollover
13BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
14RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
15BLUETOOTH_ENABLE = no # Enable Bluetooth
16AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/tronguylabs/m122_3270/teensy/config.h b/keyboards/tronguylabs/m122_3270/teensy/config.h
index c23c5931e..33590b406 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/config.h
+++ b/keyboards/tronguylabs/m122_3270/teensy/config.h
@@ -16,12 +16,10 @@
16 16
17#pragma once 17#pragma once
18 18
19// place overrides below
20
21// Teensy pin assignments: I'm wiring things a bit more straightforwardly, and 19// Teensy pin assignments: I'm wiring things a bit more straightforwardly, and
22// avoiding the LED on PD6 20// avoiding the LED on PD6
23#define MATRIX_COL_PINS { B5, B6, B7, D0, D1, D2, D3, D4, D5, D7, E0, E1, C0, C1, C2, C3, C4, C5, C6, C7 } 21#define MATRIX_COL_PINS { B5, B6, B7, D0, D1, D2, D3, D4, D5, D7, E0, E1, C0, C1, C2, C3, C4, C5, C6, C7 }
24#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 } 22#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 }
25 23
26// The Teensy version is version 1 24// The Teensy version is version 1
27#define DEVICE_VER 0x0001 25#define DEVICE_VER 0x0001
diff --git a/keyboards/tronguylabs/m122_3270/teensy/readme.md b/keyboards/tronguylabs/m122_3270/teensy/readme.md
index 99946d746..43357ea61 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/readme.md
+++ b/keyboards/tronguylabs/m122_3270/teensy/readme.md
@@ -1,2 +1,3 @@
1# Teensy controller for m122-3270 1# Teensy controller for m122-3270
2
2This directory contains the Teensy++ 2.0-specific definitions for the M122-3270 keyboard. 3This directory contains the Teensy++ 2.0-specific definitions for the M122-3270 keyboard.
diff --git a/keyboards/tronguylabs/m122_3270/teensy/rules.mk b/keyboards/tronguylabs/m122_3270/teensy/rules.mk
index 2919fdedf..af0bee465 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/rules.mk
+++ b/keyboards/tronguylabs/m122_3270/teensy/rules.mk
@@ -1,7 +1,22 @@
1# Overrides for the Teensy version
2
3# MCU name 1# MCU name
4MCU = at90usb1286 2MCU = at90usb1286
5 3
6# Bootloader selection 4# Bootloader selection
7BOOTLOADER = halfkay 5BOOTLOADER = halfkay
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output