diff options
-rw-r--r-- | keyboards/converter/ibm_terminal/README.md | 40 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/ibm_terminal.h | 10 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/info.json | 245 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/keymaps/default/config.h | 7 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/keymaps/default/keymap.c | 12 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/keymaps/priyadi/config.h | 7 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c | 28 | ||||
-rw-r--r-- | keyboards/converter/ibm_terminal/readme.md | 39 |
8 files changed, 305 insertions, 83 deletions
diff --git a/keyboards/converter/ibm_terminal/README.md b/keyboards/converter/ibm_terminal/README.md deleted file mode 100644 index dff26e059..000000000 --- a/keyboards/converter/ibm_terminal/README.md +++ /dev/null | |||
@@ -1,40 +0,0 @@ | |||
1 | Keyboard converter for IBM terminal keyboard | ||
2 | ============================================ | ||
3 | |||
4 | This is a port of TMK's converter/terminal_usb to QMK. | ||
5 | |||
6 | It supports PS/2 Scan Code Set 3 and runs on USB AVR chips such like PJRC Teensy. | ||
7 | I tested the converter on ATMega32U4 with 1392595(102keys) and 6110345(122keys). | ||
8 | |||
9 | Source code: https://github.com/qmk/qmk_firmware.git | ||
10 | Article: http://geekhack.org/index.php?topic=27272.0 | ||
11 | |||
12 | |||
13 | CONNECTION | ||
14 | ---------- | ||
15 | Keyboard ATMega32U4 | ||
16 | ---------------------- | ||
17 | Data: PD2 | ||
18 | Clock: PD5 | ||
19 | |||
20 | And VCC and GND, of course. See RESOURCE for keyboard connector pin assign. | ||
21 | |||
22 | |||
23 | BUILD | ||
24 | ----- | ||
25 | $ git clone https://github.com/qmk/qmk_firmware.git | ||
26 | $ cd qmk_firmware | ||
27 | $ make converter/ibm_terminal:default | ||
28 | |||
29 | |||
30 | RESOURCE | ||
31 | -------- | ||
32 | Soarer's Converter: http://geekhack.org/index.php?topic=17458.0 | ||
33 | 102keys(1392595): http://geekhack.org/index.php?topic=10737.0 | ||
34 | 122keys(1390876): http://www.seasip.info/VintagePC/ibm_1390876.html | ||
35 | KbdBabel: http://www.kbdbabel.org/ | ||
36 | RJ45 Connector: http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png | ||
37 | DIN Connector: http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png | ||
38 | WinAVR: http://winavr.sourceforge.net/ | ||
39 | |||
40 | EOF | ||
diff --git a/keyboards/converter/ibm_terminal/ibm_terminal.h b/keyboards/converter/ibm_terminal/ibm_terminal.h index c6468349c..adf048206 100644 --- a/keyboards/converter/ibm_terminal/ibm_terminal.h +++ b/keyboards/converter/ibm_terminal/ibm_terminal.h | |||
@@ -19,7 +19,7 @@ void matrix_init_user(void); | |||
19 | * 17| | | 19 | * 17| | |
20 | * +---------+ | 20 | * +---------+ |
21 | */ | 21 | */ |
22 | #define KEYMAP( \ | 22 | #define LAYOUT( \ |
23 | K08,K10,K18,K20,K28,K30,K38,K40,K48,K50,K57,K5F, \ | 23 | K08,K10,K18,K20,K28,K30,K38,K40,K48,K50,K57,K5F, \ |
24 | K07,K0F,K17,K1F,K27,K2F,K37,K3F,K47,K4F,K56,K5E, \ | 24 | K07,K0F,K17,K1F,K27,K2F,K37,K3F,K47,K4F,K56,K5E, \ |
25 | \ | 25 | \ |
@@ -45,13 +45,13 @@ void matrix_init_user(void); | |||
45 | { K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ | 45 | { K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ |
46 | { K70, K71, K72, K73, K74, K75, K76, K77 }, \ | 46 | { K70, K71, K72, K73, K74, K75, K76, K77 }, \ |
47 | { K78, K79, K7A, K7B, K7C, K7D, K7E, KC_NO }, \ | 47 | { K78, K79, K7A, K7B, K7C, K7D, K7E, KC_NO }, \ |
48 | { KC_NO, KC_NO, KC_NO, K83, K84, KC_NO, KC_NO, KC_NO,}, \ | 48 | { KC_NO, KC_NO, KC_NO, K83, K84, KC_NO, KC_NO, KC_NO } \ |
49 | } | 49 | } |
50 | 50 | ||
51 | /* | 51 | /* |
52 | * IBM Terminal keyboard 1399625, 101-key | 52 | * IBM Terminal keyboard 1399625, 101-key |
53 | */ | 53 | */ |
54 | #define KEYMAP_101( \ | 54 | #define LAYOUT_101( \ |
55 | K08, K07,K0F,K17,K1F,K27,K2F,K37,K3F,K47,K4F,K56,K5E, K57,K5F,K62, \ | 55 | K08, K07,K0F,K17,K1F,K27,K2F,K37,K3F,K47,K4F,K56,K5E, K57,K5F,K62, \ |
56 | \ | 56 | \ |
57 | K0E,K16,K1E,K26,K25,K2E,K36,K3D,K3E,K46,K45,K4E,K55,K66, K67,K6E,K6F, K76,K77,K7E,K84, \ | 57 | K0E,K16,K1E,K26,K25,K2E,K36,K3D,K3E,K46,K45,K4E,K55,K66, K67,K6E,K6F, K76,K77,K7E,K84, \ |
@@ -76,7 +76,7 @@ void matrix_init_user(void); | |||
76 | { KC_NO, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ | 76 | { KC_NO, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ |
77 | { K70, K71, K72, K73, K74, K75, K76, K77 }, \ | 77 | { K70, K71, K72, K73, K74, K75, K76, K77 }, \ |
78 | { KC_NO, K79, K7A, KC_NO, K7C, K7D, K7E, KC_NO }, \ | 78 | { KC_NO, K79, K7A, KC_NO, K7C, K7D, K7E, KC_NO }, \ |
79 | { KC_NO, KC_NO, KC_NO, KC_NO, K84, KC_NO, KC_NO, KC_NO,}, \ | 79 | { KC_NO, KC_NO, KC_NO, KC_NO, K84, KC_NO, KC_NO, KC_NO } \ |
80 | } | 80 | } |
81 | 81 | ||
82 | #endif \ No newline at end of file | 82 | #endif |
diff --git a/keyboards/converter/ibm_terminal/info.json b/keyboards/converter/ibm_terminal/info.json new file mode 100644 index 000000000..f064f3c5b --- /dev/null +++ b/keyboards/converter/ibm_terminal/info.json | |||
@@ -0,0 +1,245 @@ | |||
1 | { | ||
2 | "keyboard_name": "Keyboard converter for IBM terminal keyboard", | ||
3 | "url": "", | ||
4 | "maintainer": "qmk", | ||
5 | "width": 24.75, | ||
6 | "height": 8, | ||
7 | "layouts": { | ||
8 | "LAYOUT": { | ||
9 | "layout": [ | ||
10 | {"label":"F13", "x":3.25, "y":0}, | ||
11 | {"label":"F14", "x":4.25, "y":0}, | ||
12 | {"label":"F15", "x":5.25, "y":0}, | ||
13 | {"label":"F16", "x":6.25, "y":0}, | ||
14 | {"label":"F17", "x":7.25, "y":0}, | ||
15 | {"label":"F18", "x":8.25, "y":0}, | ||
16 | {"label":"F19", "x":9.25, "y":0}, | ||
17 | {"label":"F20", "x":10.25, "y":0}, | ||
18 | {"label":"F21", "x":11.25, "y":0}, | ||
19 | {"label":"F22", "x":12.25, "y":0}, | ||
20 | {"label":"F23", "x":13.25, "y":0}, | ||
21 | {"label":"F24", "x":14.25, "y":0}, | ||
22 | {"label":"F1", "x":3.25, "y":1}, | ||
23 | {"label":"F2", "x":4.25, "y":1}, | ||
24 | {"label":"F3", "x":5.25, "y":1}, | ||
25 | {"label":"F4", "x":6.25, "y":1}, | ||
26 | {"label":"F5", "x":7.25, "y":1}, | ||
27 | {"label":"F6", "x":8.25, "y":1}, | ||
28 | {"label":"F7", "x":9.25, "y":1}, | ||
29 | {"label":"F8", "x":10.25, "y":1}, | ||
30 | {"label":"F9", "x":11.25, "y":1}, | ||
31 | {"label":"F10", "x":12.25, "y":1}, | ||
32 | {"label":"F11", "x":13.25, "y":1}, | ||
33 | {"label":"F12", "x":14.25, "y":1}, | ||
34 | {"label":"Print Screen", "x":0, "y":3}, | ||
35 | {"label":"Esc", "x":1, "y":3}, | ||
36 | {"label":"Esc", "x":2.25, "y":3}, | ||
37 | {"label":"1", "x":3.25, "y":3}, | ||
38 | {"label":"2", "x":4.25, "y":3}, | ||
39 | {"label":"3", "x":5.25, "y":3}, | ||
40 | {"label":"4", "x":6.25, "y":3}, | ||
41 | {"label":"5", "x":7.25, "y":3}, | ||
42 | {"label":"6", "x":8.25, "y":3}, | ||
43 | {"label":"7", "x":9.25, "y":3}, | ||
44 | {"label":"8", "x":10.25, "y":3}, | ||
45 | {"label":"9", "x":11.25, "y":3}, | ||
46 | {"label":"0", "x":12.25, "y":3}, | ||
47 | {"label":"-", "x":13.25, "y":3}, | ||
48 | {"label":"=", "x":14.25, "y":3}, | ||
49 | {"label":"No", "x":15.25, "y":3}, | ||
50 | {"label":"Back Space", "x":16.25, "y":3}, | ||
51 | {"label":"Insert", "x":17.5, "y":3}, | ||
52 | {"label":"Home", "x":18.5, "y":3}, | ||
53 | {"label":"Page Up", "x":19.5, "y":3}, | ||
54 | {"label":"Num Lock", "x":20.75, "y":3}, | ||
55 | {"label":"/", "x":21.75, "y":3}, | ||
56 | {"label":"*", "x":22.75, "y":3}, | ||
57 | {"label":"-", "x":23.75, "y":3}, | ||
58 | {"label":"Scroll Lock", "x":0, "y":4}, | ||
59 | {"label":"Int4", "x":1, "y":4}, | ||
60 | {"label":"Tab", "x":2.25, "y":4, "w":1.5}, | ||
61 | {"label":"Q", "x":3.75, "y":4}, | ||
62 | {"label":"W", "x":4.75, "y":4}, | ||
63 | {"label":"E", "x":5.75, "y":4}, | ||
64 | {"label":"R", "x":6.75, "y":4}, | ||
65 | {"label":"T", "x":7.75, "y":4}, | ||
66 | {"label":"Y", "x":8.75, "y":4}, | ||
67 | {"label":"U", "x":9.75, "y":4}, | ||
68 | {"label":"I", "x":10.75, "y":4}, | ||
69 | {"label":"O", "x":11.75, "y":4}, | ||
70 | {"label":"P", "x":12.75, "y":4}, | ||
71 | {"label":"[", "x":13.75, "y":4}, | ||
72 | {"label":"]", "x":14.75, "y":4}, | ||
73 | {"label":"No", "x":15.75, "y":4, "w":1.5}, | ||
74 | {"label":"Delete", "x":17.5, "y":4}, | ||
75 | {"label":"End", "x":18.5, "y":4}, | ||
76 | {"label":"Page Down", "x":19.5, "y":4}, | ||
77 | {"label":"7", "x":20.75, "y":4}, | ||
78 | {"label":"8", "x":21.75, "y":4}, | ||
79 | {"label":"9", "x":22.75, "y":4}, | ||
80 | {"label":"+", "x":23.75, "y":4}, | ||
81 | {"label":"Pause", "x":0, "y":5}, | ||
82 | {"label":"Int5", "x":1, "y":5}, | ||
83 | {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75}, | ||
84 | {"label":"A", "x":4, "y":5}, | ||
85 | {"label":"S", "x":5, "y":5}, | ||
86 | {"label":"D", "x":6, "y":5}, | ||
87 | {"label":"F", "x":7, "y":5}, | ||
88 | {"label":"G", "x":8, "y":5}, | ||
89 | {"label":"H", "x":9, "y":5}, | ||
90 | {"label":"J", "x":10, "y":5}, | ||
91 | {"label":"K", "x":11, "y":5}, | ||
92 | {"label":"L", "x":12, "y":5}, | ||
93 | {"label":";", "x":13, "y":5}, | ||
94 | {"label":"'", "x":14, "y":5}, | ||
95 | {"label":"\\", "x":15, "y":5}, | ||
96 | {"label":"Enter", "x":16, "y":5, "w":1.25}, | ||
97 | {"label":"Up", "x":18.5, "y":5}, | ||
98 | {"label":"4", "x":20.75, "y":5}, | ||
99 | {"label":"5", "x":21.75, "y":5}, | ||
100 | {"label":"6", "x":22.75, "y":5}, | ||
101 | {"label":",", "x":23.75, "y":5}, | ||
102 | {"label":"App", "x":0, "y":6}, | ||
103 | {"label":"Int6", "x":1, "y":6}, | ||
104 | {"label":"Shift", "x":2.25, "y":6, "w":1.25}, | ||
105 | {"label":"ISO \\", "x":3.5, "y":6}, | ||
106 | {"label":"Z", "x":4.5, "y":6}, | ||
107 | {"label":"X", "x":5.5, "y":6}, | ||
108 | {"label":"C", "x":6.5, "y":6}, | ||
109 | {"label":"V", "x":7.5, "y":6}, | ||
110 | {"label":"B", "x":8.5, "y":6}, | ||
111 | {"label":"N", "x":9.5, "y":6}, | ||
112 | {"label":"M", "x":10.5, "y":6}, | ||
113 | {"label":",", "x":11.5, "y":6}, | ||
114 | {"label":".", "x":12.5, "y":6}, | ||
115 | {"label":"/", "x":13.5, "y":6}, | ||
116 | {"label":"No", "x":14.5, "y":6}, | ||
117 | {"label":"Shift", "x":15.5, "y":6, "w":1.75}, | ||
118 | {"label":"Left", "x":17.5, "y":6}, | ||
119 | {"label":"Int2", "x":18.5, "y":6}, | ||
120 | {"label":"Right", "x":19.5, "y":6}, | ||
121 | {"label":"1", "x":20.75, "y":6}, | ||
122 | {"label":"2", "x":21.75, "y":6}, | ||
123 | {"label":"3", "x":22.75, "y":6}, | ||
124 | {"label":"Enter", "x":23.75, "y":6}, | ||
125 | {"label":"RGUI", "x":0, "y":7}, | ||
126 | {"label":"lgui", "x":1, "y":7}, | ||
127 | {"label":"Ctrl", "x":2.25, "y":7, "w":1.5}, | ||
128 | {"label":"Alt", "x":4.75, "y":7, "w":1.5}, | ||
129 | {"label":"Space", "x":6.25, "y":7, "w":7}, | ||
130 | {"label":"Alt", "x":13.25, "y":7, "w":1.5}, | ||
131 | {"label":"Ctrl", "x":15.75, "y":7, "w":1.5}, | ||
132 | {"label":"Down", "x":18.5, "y":7}, | ||
133 | {"label":"No", "x":20.75, "y":7}, | ||
134 | {"label":"0", "x":21.75, "y":7}, | ||
135 | {"label":".", "x":22.75, "y":7}, | ||
136 | {"label":"No", "x":23.75, "y":7} | ||
137 | ] | ||
138 | }, | ||
139 | "LAYOUT_101": { | ||
140 | "layout": [ | ||
141 | {"label":"Esc", "x":0, "y":0}, | ||
142 | {"label":"F1", "x":2, "y":0}, | ||
143 | {"label":"F2", "x":3, "y":0}, | ||
144 | {"label":"F3", "x":4, "y":0}, | ||
145 | {"label":"F4", "x":5, "y":0}, | ||
146 | {"label":"F5", "x":6.5, "y":0}, | ||
147 | {"label":"F6", "x":7.5, "y":0}, | ||
148 | {"label":"F7", "x":8.5, "y":0}, | ||
149 | {"label":"F8", "x":9.5, "y":0}, | ||
150 | {"label":"F9", "x":11, "y":0}, | ||
151 | {"label":"F10", "x":12, "y":0}, | ||
152 | {"label":"F11", "x":13, "y":0}, | ||
153 | {"label":"F12", "x":14, "y":0}, | ||
154 | {"label":"Print Screen", "x":15.25, "y":0}, | ||
155 | {"label":"Scroll Lock", "x":16.25, "y":0}, | ||
156 | {"label":"Pause", "x":17.25, "y":0}, | ||
157 | {"label":"`", "x":0, "y":2}, | ||
158 | {"label":"1", "x":1, "y":2}, | ||
159 | {"label":"2", "x":2, "y":2}, | ||
160 | {"label":"3", "x":3, "y":2}, | ||
161 | {"label":"4", "x":4, "y":2}, | ||
162 | {"label":"5", "x":5, "y":2}, | ||
163 | {"label":"6", "x":6, "y":2}, | ||
164 | {"label":"7", "x":7, "y":2}, | ||
165 | {"label":"8", "x":8, "y":2}, | ||
166 | {"label":"9", "x":9, "y":2}, | ||
167 | {"label":"0", "x":10, "y":2}, | ||
168 | {"label":"-", "x":11, "y":2}, | ||
169 | {"label":"=", "x":12, "y":2}, | ||
170 | {"label":"Back Space", "x":13, "y":2, "w":2}, | ||
171 | {"label":"Insert", "x":15.25, "y":2}, | ||
172 | {"label":"Home", "x":16.25, "y":2}, | ||
173 | {"label":"Page Up", "x":17.25, "y":2}, | ||
174 | {"label":"Num Lock", "x":18.5, "y":2}, | ||
175 | {"label":"/", "x":19.5, "y":2}, | ||
176 | {"label":"*", "x":20.5, "y":2}, | ||
177 | {"label":"-", "x":21.5, "y":2}, | ||
178 | {"label":"Tab", "x":0, "y":3, "w":1.5}, | ||
179 | {"label":"Q", "x":1.5, "y":3}, | ||
180 | {"label":"W", "x":2.5, "y":3}, | ||
181 | {"label":"E", "x":3.5, "y":3}, | ||
182 | {"label":"R", "x":4.5, "y":3}, | ||
183 | {"label":"T", "x":5.5, "y":3}, | ||
184 | {"label":"Y", "x":6.5, "y":3}, | ||
185 | {"label":"U", "x":7.5, "y":3}, | ||
186 | {"label":"I", "x":8.5, "y":3}, | ||
187 | {"label":"O", "x":9.5, "y":3}, | ||
188 | {"label":"P", "x":10.5, "y":3}, | ||
189 | {"label":"[", "x":11.5, "y":3}, | ||
190 | {"label":"]", "x":12.5, "y":3}, | ||
191 | {"label":"\\", "x":13.5, "y":3, "w":1.5}, | ||
192 | {"label":"Delete", "x":15.25, "y":3}, | ||
193 | {"label":"End", "x":16.25, "y":3}, | ||
194 | {"label":"Page Down", "x":17.25, "y":3}, | ||
195 | {"label":"7", "x":18.5, "y":3}, | ||
196 | {"label":"8", "x":19.5, "y":3}, | ||
197 | {"label":"9", "x":20.5, "y":3}, | ||
198 | {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, | ||
199 | {"label":"A", "x":1.75, "y":4}, | ||
200 | {"label":"S", "x":2.75, "y":4}, | ||
201 | {"label":"D", "x":3.75, "y":4}, | ||
202 | {"label":"F", "x":4.75, "y":4}, | ||
203 | {"label":"G", "x":5.75, "y":4}, | ||
204 | {"label":"H", "x":6.75, "y":4}, | ||
205 | {"label":"J", "x":7.75, "y":4}, | ||
206 | {"label":"K", "x":8.75, "y":4}, | ||
207 | {"label":"L", "x":9.75, "y":4}, | ||
208 | {"label":";", "x":10.75, "y":4}, | ||
209 | {"label":"'", "x":11.75, "y":4}, | ||
210 | {"label":"Enter", "x":12.75, "y":4, "w":2.25}, | ||
211 | {"label":"4", "x":18.5, "y":4}, | ||
212 | {"label":"5", "x":19.5, "y":4}, | ||
213 | {"label":"6", "x":20.5, "y":4}, | ||
214 | {"label":"+", "x":21.5, "y":3, "h":2}, | ||
215 | {"label":"Shift", "x":0, "y":5, "w":2.25}, | ||
216 | {"label":"Z", "x":2.25, "y":5}, | ||
217 | {"label":"X", "x":3.25, "y":5}, | ||
218 | {"label":"C", "x":4.25, "y":5}, | ||
219 | {"label":"V", "x":5.25, "y":5}, | ||
220 | {"label":"B", "x":6.25, "y":5}, | ||
221 | {"label":"N", "x":7.25, "y":5}, | ||
222 | {"label":"M", "x":8.25, "y":5}, | ||
223 | {"label":",", "x":9.25, "y":5}, | ||
224 | {"label":".", "x":10.25, "y":5}, | ||
225 | {"label":"/", "x":11.25, "y":5}, | ||
226 | {"label":"Shift", "x":12.25, "y":5, "w":2.75}, | ||
227 | {"label":"Up", "x":16.25, "y":5}, | ||
228 | {"label":"1", "x":18.5, "y":5}, | ||
229 | {"label":"2", "x":19.5, "y":5}, | ||
230 | {"label":"3", "x":20.5, "y":5}, | ||
231 | {"label":"Ctrl", "x":0, "y":6, "w":1.5}, | ||
232 | {"label":"Alt", "x":2.5, "y":6, "w":1.5}, | ||
233 | {"label":"Space", "x":4, "y":6, "w":7}, | ||
234 | {"label":"Alt", "x":11, "y":6, "w":1.5}, | ||
235 | {"label":"Ctrl", "x":13.5, "y":6, "w":1.5}, | ||
236 | {"label":"Left", "x":15.25, "y":6}, | ||
237 | {"label":"Down", "x":16.25, "y":6}, | ||
238 | {"label":"Right", "x":17.25, "y":6}, | ||
239 | {"label":"0", "x":18.5, "y":6, "w":2}, | ||
240 | {"label":".", "x":20.5, "y":6}, | ||
241 | {"label":"Enter", "x":21.5, "y":5, "h":2} | ||
242 | ] | ||
243 | } | ||
244 | } | ||
245 | } | ||
diff --git a/keyboards/converter/ibm_terminal/keymaps/default/config.h b/keyboards/converter/ibm_terminal/keymaps/default/config.h index 7fa3bf328..271f48d00 100644 --- a/keyboards/converter/ibm_terminal/keymaps/default/config.h +++ b/keyboards/converter/ibm_terminal/keymaps/default/config.h | |||
@@ -1,6 +1,3 @@ | |||
1 | #ifndef CONFIG_USER_H | 1 | #pragma once |
2 | #define CONFIG_USER_H | ||
3 | 2 | ||
4 | #include "../../config.h" | 3 | // place overrides here |
5 | |||
6 | #endif | ||
diff --git a/keyboards/converter/ibm_terminal/keymaps/default/keymap.c b/keyboards/converter/ibm_terminal/keymaps/default/keymap.c index 2beb51106..59187ef33 100644 --- a/keyboards/converter/ibm_terminal/keymaps/default/keymap.c +++ b/keyboards/converter/ibm_terminal/keymaps/default/keymap.c | |||
@@ -15,18 +15,12 @@ You should have received a copy of the GNU General Public License | |||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <stdint.h> | 18 | #include QMK_KEYBOARD_H |
19 | #include <stdbool.h> | ||
20 | #include "keycode.h" | ||
21 | #include "print.h" | ||
22 | #include "debug.h" | ||
23 | #include "util.h" | ||
24 | #include "ibm_terminal.h" | ||
25 | 19 | ||
26 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 20 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
27 | // Layer 0 | 21 | // Layer 0 |
28 | 22 | ||
29 | KEYMAP( | 23 | LAYOUT( |
30 | KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, | 24 | 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | 25 | 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 | 26 | ||
@@ -56,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
56 | * `----' `---------------------------------------' `----' `-----------' `---------------' | 50 | * `----' `---------------------------------------' `----' `-----------' `---------------' |
57 | */ | 51 | */ |
58 | /* | 52 | /* |
59 | KEYMAP_101( | 53 | LAYOUT_101( |
60 | 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, KC_PSCR,KC_SLCK, KC_BRK, | 54 | 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, KC_PSCR,KC_SLCK, KC_BRK, |
61 | 55 | ||
62 | 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_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, | 56 | 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_INS,KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, |
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h index 7fa3bf328..271f48d00 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h | |||
@@ -1,6 +1,3 @@ | |||
1 | #ifndef CONFIG_USER_H | 1 | #pragma once |
2 | #define CONFIG_USER_H | ||
3 | 2 | ||
4 | #include "../../config.h" | 3 | // place overrides here |
5 | |||
6 | #endif | ||
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c index 47a5181dd..3d6da6eab 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c | |||
@@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License | |||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | 15 | along with this program. If not, see <http://www.gnu.org/licenses/>. |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include "keycode.h" | 18 | #include QMK_KEYBOARD_H |
19 | #include "print.h" | ||
20 | #include "debug.h" | ||
21 | #include "util.h" | ||
22 | #include "ibm_terminal.h" | ||
23 | #include "action_layer.h" | ||
24 | |||
25 | // Fillers to make layering clearer | ||
26 | |||
27 | #define _______ KC_TRNS | ||
28 | #define XXXXXXX KC_NO | ||
29 | 19 | ||
30 | enum layers { | 20 | enum layers { |
31 | QWE, // qwerty | 21 | QWE, // qwerty |
@@ -159,7 +149,7 @@ const uint32_t PROGMEM unicode_map[] = { | |||
159 | 149 | ||
160 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 150 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
161 | /* qwerty */ | 151 | /* qwerty */ |
162 | [QWE] = KEYMAP( | 152 | [QWE] = LAYOUT( |
163 | KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_PSCR, KC_SLCK, KC_PAUS, | 153 | KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_PSCR, KC_SLCK, KC_PAUS, |
164 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, | 154 | KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, |
165 | 155 | ||
@@ -171,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
171 | ), | 161 | ), |
172 | 162 | ||
173 | /* colemak */ | 163 | /* colemak */ |
174 | [COL] = KEYMAP( | 164 | [COL] = LAYOUT( |
175 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 165 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
176 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 166 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
177 | 167 | ||
@@ -183,7 +173,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
183 | ), | 173 | ), |
184 | 174 | ||
185 | /* workman */ | 175 | /* workman */ |
186 | [WOR] = KEYMAP( | 176 | [WOR] = LAYOUT( |
187 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 177 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
188 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 178 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
189 | 179 | ||
@@ -195,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
195 | ), | 185 | ), |
196 | 186 | ||
197 | /* dvorak */ | 187 | /* dvorak */ |
198 | [DVO] = KEYMAP( | 188 | [DVO] = LAYOUT( |
199 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 189 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
200 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 190 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
201 | 191 | ||
@@ -207,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
207 | ), | 197 | ), |
208 | 198 | ||
209 | /* system */ | 199 | /* system */ |
210 | [SYS] = KEYMAP( | 200 | [SYS] = LAYOUT( |
211 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 201 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
212 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 202 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
213 | 203 | ||
@@ -219,7 +209,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
219 | ), | 209 | ), |
220 | 210 | ||
221 | /* mouse keys */ | 211 | /* mouse keys */ |
222 | [MOU] = KEYMAP( | 212 | [MOU] = LAYOUT( |
223 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 213 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
224 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 214 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
225 | 215 | ||
@@ -231,7 +221,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
231 | ), | 221 | ), |
232 | 222 | ||
233 | /* emoji */ | 223 | /* emoji */ |
234 | [EMO] = KEYMAP( | 224 | [EMO] = LAYOUT( |
235 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 225 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
236 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 226 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
237 | 227 | ||
@@ -243,7 +233,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
243 | ), | 233 | ), |
244 | 234 | ||
245 | /* | 235 | /* |
246 | [XXX] = KEYMAP( | 236 | [XXX] = LAYOUT( |
247 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 237 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
248 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | 238 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, |
249 | 239 | ||
diff --git a/keyboards/converter/ibm_terminal/readme.md b/keyboards/converter/ibm_terminal/readme.md new file mode 100644 index 000000000..b781b0468 --- /dev/null +++ b/keyboards/converter/ibm_terminal/readme.md | |||
@@ -0,0 +1,39 @@ | |||
1 | # Keyboard converter for IBM terminal keyboard | ||
2 | |||
3 | This is a port of TMK's converter/terminal_usb to QMK. | ||
4 | |||
5 | It supports PS/2 Scan Code Set 3 and runs on USB AVR chips such like PJRC Teensy. | ||
6 | I tested the converter on ATMega32U4 with 1392595(102keys) and 6110345(122keys). | ||
7 | |||
8 | Source code: https://github.com/qmk/qmk_firmware.git | ||
9 | Article: http://geekhack.org/index.php?topic=27272.0 | ||
10 | |||
11 | |||
12 | ## Connection | ||
13 | |||
14 | Keyboard | ATMega32U4 | ||
15 | :------- | :--------- | ||
16 | Data | PD2 | ||
17 | Clock | PD5 | ||
18 | |||
19 | And VCC and GND, of course. See Resource section for keyboard connector pin assign. | ||
20 | |||
21 | |||
22 | ## Build | ||
23 | |||
24 | ``` | ||
25 | git clone https://github.com/qmk/qmk_firmware.git | ||
26 | cd qmk_firmware | ||
27 | make converter/ibm_terminal:default | ||
28 | ``` | ||
29 | |||
30 | ## Resource | ||
31 | |||
32 | - Soarer's Converter: http://geekhack.org/index.php?topic=17458.0 | ||
33 | - 102keys(1392595): http://geekhack.org/index.php?topic=10737.0 | ||
34 | - 122keys(1390876): http://www.seasip.info/VintagePC/ibm_1390876.html | ||
35 | - KbdBabel: http://www.kbdbabel.org/ | ||
36 | - RJ45 Connector: http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png | ||
37 | - DIN Connector: http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png | ||
38 | - WinAVR: http://winavr.sourceforge.net/ | ||
39 | |||