aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorQMK Bot <hello@qmk.fm>2021-03-18 00:48:52 +0000
committerQMK Bot <hello@qmk.fm>2021-03-18 00:48:52 +0000
commit4aa57e9e46b8d0ed1814131bf2944b2b45ee077c (patch)
tree1ad17b424b4771a5de4678a0b0fbb162e19e66b5 /keyboards
parentd0c2f3c403f184d318c61b55b2ad049880a8d15c (diff)
parent9331c22620fb9a4012a370d717e6362a5ab84ec4 (diff)
downloadqmk_firmware-4aa57e9e46b8d0ed1814131bf2944b2b45ee077c.tar.gz
qmk_firmware-4aa57e9e46b8d0ed1814131bf2944b2b45ee077c.zip
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/converter/xt_usb/config.h63
-rw-r--r--keyboards/converter/xt_usb/info.json450
-rw-r--r--keyboards/converter/xt_usb/keymaps/default/config.h1
-rw-r--r--keyboards/converter/xt_usb/keymaps/default/keymap.c27
-rw-r--r--keyboards/converter/xt_usb/matrix.c81
-rw-r--r--keyboards/converter/xt_usb/rules.mk35
-rw-r--r--keyboards/converter/xt_usb/xt_usb.h90
7 files changed, 366 insertions, 381 deletions
diff --git a/keyboards/converter/xt_usb/config.h b/keyboards/converter/xt_usb/config.h
index e5624d843..5f93fbfc6 100644
--- a/keyboards/converter/xt_usb/config.h
+++ b/keyboards/converter/xt_usb/config.h
@@ -19,14 +19,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20#include "config_common.h" 20#include "config_common.h"
21 21
22#define VENDOR_ID 0xFEED 22/* USB Device descriptor parameter */
23#define PRODUCT_ID 0x6512 23#define VENDOR_ID 0xFEED
24#define DEVICE_VER 0x0001 24#define PRODUCT_ID 0x6512
25#define MANUFACTURER QMK 25#define DEVICE_VER 0x0001
26#define PRODUCT XT keyboard converter 26#define MANUFACTURER QMK
27#define PRODUCT XT keyboard converter
27 28
28 29/* key matrix size */
29/* matrix size */
30#define MATRIX_ROWS 16 // keycode bit: 3-0 30#define MATRIX_ROWS 16 // keycode bit: 3-0
31#define MATRIX_COLS 8 // keycode bit: 6-4 31#define MATRIX_COLS 8 // keycode bit: 6-4
32 32
@@ -36,44 +36,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
36 get_mods() == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \ 36 get_mods() == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \
37) 37)
38 38
39 39#define XT_CLOCK_PIN D1
40//#define NO_SUSPEND_POWER_DOWN 40#define XT_DATA_PIN D0
41 41#define XT_RST_PIN B7
42/*
43 * XT Pin interrupt
44 */
45#define XT_CLOCK_PORT PORTD
46#define XT_CLOCK_PIN PIND
47#define XT_CLOCK_DDR DDRD
48#define XT_CLOCK_BIT 1
49#define XT_DATA_PORT PORTD
50#define XT_DATA_PIN PIND
51#define XT_DATA_DDR DDRD
52#define XT_DATA_BIT 0
53#define XT_RST_PORT PORTB
54#define XT_RST_PIN PINB
55#define XT_RST_DDR DDRB
56#define XT_RST_BIT 7
57 42
58/* hard reset: low pulse for 500ms and after that HiZ for safety */ 43/* hard reset: low pulse for 500ms and after that HiZ for safety */
59#define XT_RESET() do { \ 44#define XT_RESET() do { \
60 XT_RST_PORT &= ~(1<<XT_RST_BIT); \ 45 writePinLow(XT_RST_PIN); \
61 XT_RST_DDR |= (1<<XT_RST_BIT); \ 46 setPinOutput(XT_RST_PIN); \
62 _delay_ms(500); \ 47 wait_ms(500); \
63 XT_RST_DDR &= ~(1<<XT_RST_BIT); \ 48 setPinInput(XT_RST_PIN); \
64} while (0) 49} while (0)
65 50
66/* INT1 for falling edge of clock line */ 51/* INT1 for falling edge of clock line */
67#define XT_INT_INIT() do { \ 52#define XT_INT_INIT() do { \
68 EICRA |= ((1<<ISC11) | \ 53 EICRA |= ((1 << ISC11) | (0 << ISC10)); \
69 (0<<ISC10)); \
70} while (0) 54} while (0)
55
71/* clears flag and enables interrupt */ 56/* clears flag and enables interrupt */
72#define XT_INT_ON() do { \ 57#define XT_INT_ON() do { \
73 EIFR |= (1<<INTF1); \ 58 EIFR |= (1 << INTF1); \
74 EIMSK |= (1<<INT1); \ 59 EIMSK |= (1 << INT1); \
75} while (0) 60} while (0)
76#define XT_INT_OFF() do { \ 61
77 EIMSK &= ~(1<<INT1); \ 62#define XT_INT_OFF() do { \
63 EIMSK &= ~(1 << INT1); \
78} while (0) 64} while (0)
79#define XT_INT_VECT INT1_vect 65
66#define XT_INT_VECT INT1_vect
diff --git a/keyboards/converter/xt_usb/info.json b/keyboards/converter/xt_usb/info.json
index db8a03cac..4bae77362 100644
--- a/keyboards/converter/xt_usb/info.json
+++ b/keyboards/converter/xt_usb/info.json
@@ -1,228 +1,228 @@
1{ 1{
2 "keyboard_name": "IBM PC XT", 2 "keyboard_name": "IBM PC XT",
3 "url": "", 3 "url": "",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 21, 5 "width": 21,
6 "height": 5, 6 "height": 5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_xt": { 8 "LAYOUT_xt": {
9 "layout": [ 9 "layout": [
10 {"label":"F1", "x":0, "y":0}, 10 {"x": 0, "y": 0},
11 {"label":"F2", "x":1, "y":0}, 11 {"x": 1, "y": 0},
12 {"label":"Esc", "x":2.25, "y":0}, 12 {"x": 2.25, "y": 0},
13 {"label":"1", "x":3.25, "y":0}, 13 {"x": 3.25, "y": 0},
14 {"label":"2", "x":4.25, "y":0}, 14 {"x": 4.25, "y": 0},
15 {"label":"3", "x":5.25, "y":0}, 15 {"x": 5.25, "y": 0},
16 {"label":"4", "x":6.25, "y":0}, 16 {"x": 6.25, "y": 0},
17 {"label":"5", "x":7.25, "y":0}, 17 {"x": 7.25, "y": 0},
18 {"label":"6", "x":8.25, "y":0}, 18 {"x": 8.25, "y": 0},
19 {"label":"7", "x":9.25, "y":0}, 19 {"x": 9.25, "y": 0},
20 {"label":"8", "x":10.25, "y":0}, 20 {"x": 10.25, "y": 0},
21 {"label":"9", "x":11.25, "y":0}, 21 {"x": 11.25, "y": 0},
22 {"label":"0", "x":12.25, "y":0}, 22 {"x": 12.25, "y": 0},
23 {"label":"-", "x":13.25, "y":0}, 23 {"x": 13.25, "y": 0},
24 {"label":"=", "x":14.25, "y":0}, 24 {"x": 14.25, "y": 0},
25 {"label":"Backspace", "x":15.25, "y":0, "w":1.75}, 25 {"x": 15.25, "y": 0, "w": 1.75},
26 {"label":"Num Lock", "x":17, "y":0, "w":2}, 26 {"x": 17, "y": 0, "w": 2},
27 {"label":"Scroll Lock", "x":19, "y":0, "w":2}, 27 {"x": 19, "y": 0, "w": 2},
28 {"label":"F3", "x":0, "y":1}, 28 {"x": 0, "y": 1},
29 {"label":"F4", "x":1, "y":1}, 29 {"x": 1, "y": 1},
30 {"label":"Tab", "x":2.25, "y":1, "w":1.5}, 30 {"x": 2.25, "y": 1, "w": 1.5},
31 {"label":"Q", "x":3.75, "y":1}, 31 {"x": 3.75, "y": 1},
32 {"label":"W", "x":4.75, "y":1}, 32 {"x": 4.75, "y": 1},
33 {"label":"E", "x":5.75, "y":1}, 33 {"x": 5.75, "y": 1},
34 {"label":"R", "x":6.75, "y":1}, 34 {"x": 6.75, "y": 1},
35 {"label":"T", "x":7.75, "y":1}, 35 {"x": 7.75, "y": 1},
36 {"label":"Y", "x":8.75, "y":1}, 36 {"x": 8.75, "y": 1},
37 {"label":"U", "x":9.75, "y":1}, 37 {"x": 9.75, "y": 1},
38 {"label":"I", "x":10.75, "y":1}, 38 {"x": 10.75, "y": 1},
39 {"label":"O", "x":11.75, "y":1}, 39 {"x": 11.75, "y": 1},
40 {"label":"P", "x":12.75, "y":1}, 40 {"x": 12.75, "y": 1},
41 {"label":"[", "x":13.75, "y":1}, 41 {"x": 13.75, "y": 1},
42 {"label":"]", "x":14.75, "y":1, "w": 1.25}, 42 {"x": 14.75, "y": 1, "w": 1.25},
43 {"label":"7", "x":17, "y":1}, 43 {"x": 17, "y": 1},
44 {"label":"8", "x":18, "y":1}, 44 {"x": 18, "y": 1},
45 {"label":"9", "x":19, "y":1}, 45 {"x": 19, "y": 1},
46 {"label":"-", "x":20, "y":1}, 46 {"x": 20, "y": 1},
47 {"label":"F5", "x":0, "y":2}, 47 {"x": 0, "y": 2},
48 {"label":"F6", "x":1, "y":2}, 48 {"x": 1, "y": 2},
49 {"label":"Ctrl", "x":2.25, "y":2, "w":1.75}, 49 {"x": 2.25, "y": 2, "w": 1.75},
50 {"label":"A", "x":4, "y":2}, 50 {"x": 4, "y": 2},
51 {"label":"S", "x":5, "y":2}, 51 {"x": 5, "y": 2},
52 {"label":"D", "x":6, "y":2}, 52 {"x": 6, "y": 2},
53 {"label":"F", "x":7, "y":2}, 53 {"x": 7, "y": 2},
54 {"label":"G", "x":8, "y":2}, 54 {"x": 8, "y": 2},
55 {"label":"H", "x":9, "y":2}, 55 {"x": 9, "y": 2},
56 {"label":"J", "x":10, "y":2}, 56 {"x": 10, "y": 2},
57 {"label":"K", "x":11, "y":2}, 57 {"x": 11, "y": 2},
58 {"label":"L", "x":12, "y":2}, 58 {"x": 12, "y": 2},
59 {"label":";", "x":13, "y":2}, 59 {"x": 13, "y": 2},
60 {"label":"'", "x":14, "y":2}, 60 {"x": 14, "y": 2},
61 {"label":"`", "x":15, "y":2}, 61 {"x": 15, "y": 2},
62 {"label":"Enter", "x":16, "y":1, "h":2}, 62 {"x": 16, "y": 1, "h": 2},
63 {"label":"4", "x":17, "y":2}, 63 {"x": 17, "y": 2},
64 {"label":"5", "x":18, "y":2}, 64 {"x": 18, "y": 2},
65 {"label":"6", "x":19, "y":2}, 65 {"x": 19, "y": 2},
66 {"label":"F7", "x":0, "y":3}, 66 {"x": 0, "y": 3},
67 {"label":"F8", "x":1, "y":3}, 67 {"x": 1, "y": 3},
68 {"label":"Shift", "x":2.25, "y":3, "w":1.25}, 68 {"x": 2.25, "y": 3, "w": 1.25},
69 {"label":"\\", "x":3.5, "y":3}, 69 {"x": 3.5, "y": 3},
70 {"label":"Z", "x":4.5, "y":3}, 70 {"x": 4.5, "y": 3},
71 {"label":"X", "x":5.5, "y":3}, 71 {"x": 5.5, "y": 3},
72 {"label":"C", "x":6.5, "y":3}, 72 {"x": 6.5, "y": 3},
73 {"label":"V", "x":7.5, "y":3}, 73 {"x": 7.5, "y": 3},
74 {"label":"B", "x":8.5, "y":3}, 74 {"x": 8.5, "y": 3},
75 {"label":"N", "x":9.5, "y":3}, 75 {"x": 9.5, "y": 3},
76 {"label":"M", "x":10.5, "y":3}, 76 {"x": 10.5, "y": 3},
77 {"label":",", "x":11.5, "y":3}, 77 {"x": 11.5, "y": 3},
78 {"label":".", "x":12.5, "y":3}, 78 {"x": 12.5, "y": 3},
79 {"label":"/", "x":13.5, "y":3}, 79 {"x": 13.5, "y": 3},
80 {"label":"Shift", "x":14.5, "y":3, "w":1.5}, 80 {"x": 14.5, "y": 3, "w": 1.5},
81 {"label":"*", "x":16, "y":3}, 81 {"x": 16, "y": 3},
82 {"label":"1", "x":17, "y":3}, 82 {"x": 17, "y": 3},
83 {"label":"2", "x":18, "y":3}, 83 {"x": 18, "y": 3},
84 {"label":"3", "x":19, "y":3}, 84 {"x": 19, "y": 3},
85 {"label":"+", "x":20, "y":2, "h":3}, 85 {"x": 20, "y": 2, "h": 3},
86 {"label":"F9", "x":0, "y":4}, 86 {"x": 0, "y": 4},
87 {"label":"F10", "x":1, "y":4}, 87 {"x": 1, "y": 4},
88 {"label":"Alt", "x":2.25, "y":4, "w":2}, 88 {"x": 2.25, "y": 4, "w": 2},
89 {"label":"Space", "x":4.25, "y":4, "w":9.75}, 89 {"x": 4.25, "y": 4, "w": 9.75},
90 {"label":"Caps Lock", "x":14, "y":4, "w":2}, 90 {"x": 14, "y": 4, "w": 2},
91 {"label":"0", "x":16, "y":4, "w":2}, 91 {"x": 16, "y": 4, "w": 2},
92 {"label":".", "x":18, "y":4, "w":2} 92 {"x": 18, "y": 4, "w": 2}
93 ] 93 ]
94 }, 94 },
95 "LAYOUT": { 95 "LAYOUT": {
96 "layout": [ 96 "layout": [
97 {"label":"F13", "x":2, "y":0}, 97 {"x": 2, "y": 0},
98 {"label":"F14", "x":3, "y":0}, 98 {"x": 3, "y": 0},
99 {"label":"F15", "x":4, "y":0}, 99 {"x": 4, "y": 0},
100 {"label":"F16", "x":5, "y":0}, 100 {"x": 5, "y": 0},
101 {"label":"F17", "x":6, "y":0}, 101 {"x": 6, "y": 0},
102 {"label":"F18", "x":7, "y":0}, 102 {"x": 7, "y": 0},
103 {"label":"F19", "x":8, "y":0}, 103 {"x": 8, "y": 0},
104 {"label":"F20", "x":9, "y":0}, 104 {"x": 9, "y": 0},
105 {"label":"F21", "x":10, "y":0}, 105 {"x": 10, "y": 0},
106 {"label":"F22", "x":11, "y":0}, 106 {"x": 11, "y": 0},
107 {"label":"F23", "x":12, "y":0}, 107 {"x": 12, "y": 0},
108 {"label":"F24", "x":13, "y":0}, 108 {"x": 13, "y": 0},
109 {"label":"Esc", "x":0, "y":1}, 109 {"x": 0, "y": 1},
110 {"label":"F1", "x":2, "y":1}, 110 {"x": 2, "y": 1},
111 {"label":"F2", "x":3, "y":1}, 111 {"x": 3, "y": 1},
112 {"label":"F3", "x":4, "y":1}, 112 {"x": 4, "y": 1},
113 {"label":"F4", "x":5, "y":1}, 113 {"x": 5, "y": 1},
114 {"label":"F5", "x":6, "y":1}, 114 {"x": 6, "y": 1},
115 {"label":"F6", "x":7, "y":1}, 115 {"x": 7, "y": 1},
116 {"label":"F7", "x":8, "y":1}, 116 {"x": 8, "y": 1},
117 {"label":"F8", "x":9, "y":1}, 117 {"x": 9, "y": 1},
118 {"label":"F9", "x":10, "y":1}, 118 {"x": 10, "y": 1},
119 {"label":"F10", "x":11, "y":1}, 119 {"x": 11, "y": 1},
120 {"label":"F11", "x":12, "y":1}, 120 {"x": 12, "y": 1},
121 {"label":"F12", "x":13, "y":1}, 121 {"x": 13, "y": 1},
122 {"label":"Print Screen", "x":15.25, "y":1}, 122 {"x": 15.25, "y": 1},
123 {"label":"Scroll Lock", "x":16.25, "y":1}, 123 {"x": 16.25, "y": 1},
124 {"label":"Pause", "x":17.25, "y":1}, 124 {"x": 17.25, "y": 1},
125 {"label":"Volume Down", "x":19.5, "y":1}, 125 {"x": 19.5, "y": 1},
126 {"label":"Volume Up", "x":20.5, "y":1}, 126 {"x": 20.5, "y": 1},
127 {"label":"Mute", "x":21.5, "y":1}, 127 {"x": 21.5, "y": 1},
128 {"label":"`", "x":0, "y":2.5}, 128 {"x": 0, "y": 2.5},
129 {"label":"1", "x":1, "y":2.5}, 129 {"x": 1, "y": 2.5},
130 {"label":"2", "x":2, "y":2.5}, 130 {"x": 2, "y": 2.5},
131 {"label":"3", "x":3, "y":2.5}, 131 {"x": 3, "y": 2.5},
132 {"label":"4", "x":4, "y":2.5}, 132 {"x": 4, "y": 2.5},
133 {"label":"5", "x":5, "y":2.5}, 133 {"x": 5, "y": 2.5},
134 {"label":"6", "x":6, "y":2.5}, 134 {"x": 6, "y": 2.5},
135 {"label":"7", "x":7, "y":2.5}, 135 {"x": 7, "y": 2.5},
136 {"label":"8", "x":8, "y":2.5}, 136 {"x": 8, "y": 2.5},
137 {"label":"9", "x":9, "y":2.5}, 137 {"x": 9, "y": 2.5},
138 {"label":"0", "x":10, "y":2.5}, 138 {"x": 10, "y": 2.5},
139 {"label":"-", "x":11, "y":2.5}, 139 {"x": 11, "y": 2.5},
140 {"label":"=", "x":12, "y":2.5}, 140 {"x": 12, "y": 2.5},
141 {"label":"JP Yen", "x":13, "y":2.5}, 141 {"x": 13, "y": 2.5},
142 {"label":"Back Space", "x":14, "y":2.5}, 142 {"x": 14, "y": 2.5},
143 {"label":"Insert", "x":15.25, "y":2.5}, 143 {"x": 15.25, "y": 2.5},
144 {"label":"Home", "x":16.25, "y":2.5}, 144 {"x": 16.25, "y": 2.5},
145 {"label":"Page Up", "x":17.25, "y":2.5}, 145 {"x": 17.25, "y": 2.5},
146 {"label":"Num Lock", "x":18.5, "y":2.5}, 146 {"x": 18.5, "y": 2.5},
147 {"label":"KP/", "x":19.5, "y":2.5}, 147 {"x": 19.5, "y": 2.5},
148 {"label":"KP*", "x":20.5, "y":2.5}, 148 {"x": 20.5, "y": 2.5},
149 {"label":"KP-", "x":21.5, "y":2.5}, 149 {"x": 21.5, "y": 2.5},
150 {"label":"Tab", "x":0, "y":3.5, "w":1.5}, 150 {"x": 0, "y": 3.5, "w": 1.5},
151 {"label":"Q", "x":1.5, "y":3.5}, 151 {"x": 1.5, "y": 3.5},
152 {"label":"W", "x":2.5, "y":3.5}, 152 {"x": 2.5, "y": 3.5},
153 {"label":"E", "x":3.5, "y":3.5}, 153 {"x": 3.5, "y": 3.5},
154 {"label":"R", "x":4.5, "y":3.5}, 154 {"x": 4.5, "y": 3.5},
155 {"label":"T", "x":5.5, "y":3.5}, 155 {"x": 5.5, "y": 3.5},
156 {"label":"Y", "x":6.5, "y":3.5}, 156 {"x": 6.5, "y": 3.5},
157 {"label":"U", "x":7.5, "y":3.5}, 157 {"x": 7.5, "y": 3.5},
158 {"label":"I", "x":8.5, "y":3.5}, 158 {"x": 8.5, "y": 3.5},
159 {"label":"O", "x":9.5, "y":3.5}, 159 {"x": 9.5, "y": 3.5},
160 {"label":"P", "x":10.5, "y":3.5}, 160 {"x": 10.5, "y": 3.5},
161 {"label":"[", "x":11.5, "y":3.5}, 161 {"x": 11.5, "y": 3.5},
162 {"label":"]", "x":12.5, "y":3.5}, 162 {"x": 12.5, "y": 3.5},
163 {"label":"\\", "x":13.5, "y":3.5, "w":1.5}, 163 {"x": 13.5, "y": 3.5, "w": 1.5},
164 {"label":"Delete", "x":15.25, "y":3.5}, 164 {"x": 15.25, "y": 3.5},
165 {"label":"End", "x":16.25, "y":3.5}, 165 {"x": 16.25, "y": 3.5},
166 {"label":"Page Down", "x":17.25, "y":3.5}, 166 {"x": 17.25, "y": 3.5},
167 {"label":"KP 7", "x":18.5, "y":3.5}, 167 {"x": 18.5, "y": 3.5},
168 {"label":"KP 8", "x":19.5, "y":3.5}, 168 {"x": 19.5, "y": 3.5},
169 {"label":"KP 9", "x":20.5, "y":3.5}, 169 {"x": 20.5, "y": 3.5},
170 {"label":"KP+", "x":21.5, "y":3.5}, 170 {"x": 21.5, "y": 3.5},
171 {"label":"Caps Lock", "x":0, "y":4.5, "w":1.75}, 171 {"x": 0, "y": 4.5, "w": 1.75},
172 {"label":"A", "x":1.75, "y":4.5}, 172 {"x": 1.75, "y": 4.5},
173 {"label":"S", "x":2.75, "y":4.5}, 173 {"x": 2.75, "y": 4.5},
174 {"label":"D", "x":3.75, "y":4.5}, 174 {"x": 3.75, "y": 4.5},
175 {"label":"F", "x":4.75, "y":4.5}, 175 {"x": 4.75, "y": 4.5},
176 {"label":"G", "x":5.75, "y":4.5}, 176 {"x": 5.75, "y": 4.5},
177 {"label":"H", "x":6.75, "y":4.5}, 177 {"x": 6.75, "y": 4.5},
178 {"label":"J", "x":7.75, "y":4.5}, 178 {"x": 7.75, "y": 4.5},
179 {"label":"K", "x":8.75, "y":4.5}, 179 {"x": 8.75, "y": 4.5},
180 {"label":"L", "x":9.75, "y":4.5}, 180 {"x": 9.75, "y": 4.5},
181 {"label":";", "x":10.75, "y":4.5}, 181 {"x": 10.75, "y": 4.5},
182 {"label":"'", "x":11.75, "y":4.5}, 182 {"x": 11.75, "y": 4.5},
183 {"label":"ISO #", "x":12.75, "y":4.5}, 183 {"x": 12.75, "y": 4.5},
184 {"label":"Enter", "x":13.75, "y":4.5, "w":1.25}, 184 {"x": 13.75, "y": 4.5, "w": 1.25},
185 {"label":"KP 4", "x":18.5, "y":4.5}, 185 {"x": 18.5, "y": 4.5},
186 {"label":"KP 5", "x":19.5, "y":4.5}, 186 {"x": 19.5, "y": 4.5},
187 {"label":"KP 6", "x":20.5, "y":4.5}, 187 {"x": 20.5, "y": 4.5},
188 {"label":"KP ,", "x":21.5, "y":4.5}, 188 {"x": 21.5, "y": 4.5},
189 {"label":"Shift", "x":0, "y":5.5, "w":1.25}, 189 {"x": 0, "y": 5.5, "w": 1.25},
190 {"label":"ISO \\", "x":1.25, "y":5.5}, 190 {"x": 1.25, "y": 5.5},
191 {"label":"Z", "x":2.25, "y":5.5}, 191 {"x": 2.25, "y": 5.5},
192 {"label":"X", "x":3.25, "y":5.5}, 192 {"x": 3.25, "y": 5.5},
193 {"label":"C", "x":4.25, "y":5.5}, 193 {"x": 4.25, "y": 5.5},
194 {"label":"V", "x":5.25, "y":5.5}, 194 {"x": 5.25, "y": 5.5},
195 {"label":"B", "x":6.25, "y":5.5}, 195 {"x": 6.25, "y": 5.5},
196 {"label":"N", "x":7.25, "y":5.5}, 196 {"x": 7.25, "y": 5.5},
197 {"label":"M", "x":8.25, "y":5.5}, 197 {"x": 8.25, "y": 5.5},
198 {"label":",", "x":9.25, "y":5.5}, 198 {"x": 9.25, "y": 5.5},
199 {"label":".", "x":10.25, "y":5.5}, 199 {"x": 10.25, "y": 5.5},
200 {"label":"/", "x":11.25, "y":5.5}, 200 {"x": 11.25, "y": 5.5},
201 {"label":"JP RO", "x":12.25, "y":5.5}, 201 {"x": 12.25, "y": 5.5},
202 {"label":"Shift", "x":13.25, "y":5.5, "w":1.75}, 202 {"x": 13.25, "y": 5.5, "w": 1.75},
203 {"label":"Up", "x":16.25, "y":5.5}, 203 {"x": 16.25, "y": 5.5},
204 {"label":"KP 1", "x":18.5, "y":5.5}, 204 {"x": 18.5, "y": 5.5},
205 {"label":"KP 2", "x":19.5, "y":5.5}, 205 {"x": 19.5, "y": 5.5},
206 {"label":"KP 3", "x":20.5, "y":5.5}, 206 {"x": 20.5, "y": 5.5},
207 {"label":"KP Enter", "x":21.5, "y":5.5}, 207 {"x": 21.5, "y": 5.5},
208 {"label":"Ctrl", "x":0, "y":6.5, "w":1.25}, 208 {"x": 0, "y": 6.5, "w": 1.25},
209 {"label":"GUI", "x":1.25, "y":6.5, "w":1.25}, 209 {"x": 1.25, "y": 6.5, "w": 1.25},
210 {"label":"Alt", "x":2.5, "y":6.5, "w":1.25}, 210 {"x": 2.5, "y": 6.5, "w": 1.25},
211 {"label":"Muhenkan", "x":3.75, "y":6.5, "w":1.25}, 211 {"x": 3.75, "y": 6.5, "w": 1.25},
212 {"label":"Space", "x":5, "y":6.5, "w":3.25}, 212 {"x": 5, "y": 6.5, "w": 3.25},
213 {"label":"Henkan", "x":8.25, "y":6.5, "w":1.25}, 213 {"x": 8.25, "y": 6.5, "w": 1.25},
214 {"label":"Kana", "x":9.5, "y":6.5, "w":1.25}, 214 {"x": 9.5, "y": 6.5, "w": 1.25},
215 {"label":"Alt", "x":10.75, "y":6.5}, 215 {"x": 10.75, "y": 6.5},
216 {"label":"GUI", "x":11.75, "y":6.5}, 216 {"x": 11.75, "y": 6.5},
217 {"label":"Menu", "x":12.75, "y":6.5}, 217 {"x": 12.75, "y": 6.5},
218 {"label":"Ctrl", "x":13.75, "y":6.5, "w":1.25}, 218 {"x": 13.75, "y": 6.5, "w": 1.25},
219 {"label":"Left", "x":15.25, "y":6.5}, 219 {"x": 15.25, "y": 6.5},
220 {"label":"Down", "x":16.25, "y":6.5}, 220 {"x": 16.25, "y": 6.5},
221 {"label":"Right", "x":17.25, "y":6.5}, 221 {"x": 17.25, "y": 6.5},
222 {"label":"KP 0", "x":18.5, "y":6.5, "w":2}, 222 {"x": 18.5, "y": 6.5, "w": 2},
223 {"label":"KP .", "x":20.5, "y":6.5}, 223 {"x": 20.5, "y": 6.5},
224 {"label":"KP =", "x":21.5, "y":6.5} 224 {"x": 21.5, "y": 6.5}
225 ] 225 ]
226 }
226 } 227 }
227 }
228} 228}
diff --git a/keyboards/converter/xt_usb/keymaps/default/config.h b/keyboards/converter/xt_usb/keymaps/default/config.h
deleted file mode 100644
index 6f70f09be..000000000
--- a/keyboards/converter/xt_usb/keymaps/default/config.h
+++ /dev/null
@@ -1 +0,0 @@
1#pragma once
diff --git a/keyboards/converter/xt_usb/keymaps/default/keymap.c b/keyboards/converter/xt_usb/keymaps/default/keymap.c
index b44b946e8..a8cd66cce 100644
--- a/keyboards/converter/xt_usb/keymaps/default/keymap.c
+++ b/keyboards/converter/xt_usb/keymaps/default/keymap.c
@@ -1,6 +1,5 @@
1#include QMK_KEYBOARD_H 1#include QMK_KEYBOARD_H
2 2
3
4const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5 /* IBM XT keyboard layout 4 /* IBM XT keyboard layout
6 * ,-------. ,--------------------------------------------------------------------------. 5 * ,-------. ,--------------------------------------------------------------------------.
@@ -15,12 +14,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15 * | F9|F10| | Alt | Space |CapsLck| 0 | . | | 14 * | F9|F10| | Alt | Space |CapsLck| 0 | . | |
16 * `-------' `--------------------------------------------------------------------------' 15 * `-------' `--------------------------------------------------------------------------'
17 */ 16 */
18 LAYOUT_xt( \ 17 LAYOUT_xt(
19 KC_F1, KC_F2, 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_BSPC, KC_NLCK, KC_SLCK, 18 KC_F1, KC_F2, 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_BSPC, KC_NLCK, KC_SLCK,
20 KC_F3, KC_F4, 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_P7, KC_P8, KC_P9, KC_PMNS, 19 KC_F3, KC_F4, 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_P7, KC_P8, KC_P9, KC_PMNS,
21 KC_F5, KC_F6, 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_GRV, KC_ENT, KC_P4, KC_P5, KC_P6, 20 KC_F5, KC_F6, 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_GRV, KC_ENT, KC_P4, KC_P5, KC_P6,
22 KC_F7, KC_F8, KC_LSFT,KC_BSLS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_PAST,KC_P1, KC_P2, KC_P3, KC_PPLS, 21 KC_F7, KC_F8, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PPLS,
23 KC_F9, KC_F10, KC_LALT, KC_SPC, KC_CAPS, KC_P0, KC_PDOT 22 KC_F9, KC_F10, KC_LALT, KC_SPC, KC_CAPS, KC_P0, KC_PDOT
24 ), 23 ),
25 24
26 /* Extended keyboard layout 25 /* Extended keyboard layout
@@ -43,13 +42,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 */ 42 */
44 /* Try this if your keyboad has exotic keys. 43 /* Try this if your keyboad has exotic keys.
45 LAYOUT( 44 LAYOUT(
46 KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, 45 KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
47 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_PAUS, KC_VOLD,KC_VOLU,KC_MUTE, 46 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_PAUS, KC_VOLD, KC_VOLU, KC_MUTE,
48 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_JYEN,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS, 47 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_JYEN, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
49 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_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, 48 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_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
50 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_NUHS,KC_ENT, KC_P4, KC_P5, KC_P6, KC_PCMM, 49 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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PCMM,
51 KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT, 50 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PEQL,
52 KC_LCTL,KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_HENK,KC_KANA,KC_RALT,KC_RGUI,KC_APP, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT,KC_PEQL 51 KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
53 ), 52 ),
54 */ 53 */
55}; 54};
diff --git a/keyboards/converter/xt_usb/matrix.c b/keyboards/converter/xt_usb/matrix.c
index d75f077ce..7a1675043 100644
--- a/keyboards/converter/xt_usb/matrix.c
+++ b/keyboards/converter/xt_usb/matrix.c
@@ -25,13 +25,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25#include "xt.h" 25#include "xt.h"
26#include "matrix.h" 26#include "matrix.h"
27 27
28
29static void matrix_make(uint8_t code); 28static void matrix_make(uint8_t code);
30static void matrix_break(uint8_t code); 29static void matrix_break(uint8_t code);
31 30
32static uint8_t matrix[MATRIX_ROWS]; 31static uint8_t matrix[MATRIX_ROWS];
33#define ROW(code) (code>>3) 32
34#define COL(code) (code&0x07) 33#define ROW(code) (code >> 3)
34#define COL(code) (code & 0x07)
35 35
36__attribute__ ((weak)) 36__attribute__ ((weak))
37void matrix_init_kb(void) { 37void matrix_init_kb(void) {
@@ -48,16 +48,16 @@ void matrix_init_user(void) {
48} 48}
49 49
50__attribute__ ((weak)) 50__attribute__ ((weak))
51void matrix_scan_user(void) { 51void matrix_scan_user(void) { }
52}
53 52
54void matrix_init(void) 53void matrix_init(void) {
55{
56 debug_enable = true; 54 debug_enable = true;
57 xt_host_init(); 55 xt_host_init();
58 56
59 // initialize matrix state: all keys off 57 // initialize matrix state: all keys off
60 for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00; 58 for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
59 matrix[i] = 0x00;
60 }
61 61
62 matrix_init_quantum(); 62 matrix_init_quantum();
63} 63}
@@ -71,7 +71,7 @@ static uint8_t move_e0code(uint8_t code) {
71 case 0x1C: return 0x6F; // Keypad Enter 71 case 0x1C: return 0x6F; // Keypad Enter
72 case 0x35: return 0x7F; // Keypad / 72 case 0x35: return 0x7F; // Keypad /
73 73
74 // Any XT keyobard with these keys? 74 // Any XT keyboard with these keys?
75 // http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf 75 // http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf
76 // https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc 76 // https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
77 case 0x5B: return 0x5A; // Left GUI 77 case 0x5B: return 0x5A; // Left GUI
@@ -96,8 +96,7 @@ static uint8_t move_e0code(uint8_t code) {
96 return 0x00; 96 return 0x00;
97} 97}
98 98
99uint8_t matrix_scan(void) 99uint8_t matrix_scan(void) {
100{
101 static enum { 100 static enum {
102 XT_STATE_INIT, 101 XT_STATE_INIT,
103 XT_STATE_E0, 102 XT_STATE_E0,
@@ -108,8 +107,13 @@ uint8_t matrix_scan(void)
108 } state = XT_STATE_INIT; 107 } state = XT_STATE_INIT;
109 108
110 uint8_t code = xt_host_recv(); 109 uint8_t code = xt_host_recv();
111 if (!code) return 0; 110
111 if (!code) {
112 return 0;
113 }
114
112 xprintf("%02X ", code); 115 xprintf("%02X ", code);
116
113 switch (state) { 117 switch (state) {
114 case XT_STATE_INIT: 118 case XT_STATE_INIT:
115 switch (code) { 119 switch (code) {
@@ -120,10 +124,11 @@ uint8_t matrix_scan(void)
120 state = XT_STATE_E1; 124 state = XT_STATE_E1;
121 break; 125 break;
122 default: 126 default:
123 if (code < 0x80) 127 if (code < 0x80) {
124 matrix_make(code); 128 matrix_make(code);
125 else 129 } else {
126 matrix_break(code & 0x7F); 130 matrix_break(code & 0x7F);
131 }
127 break; 132 break;
128 } 133 }
129 break; 134 break;
@@ -137,10 +142,11 @@ uint8_t matrix_scan(void)
137 state = XT_STATE_INIT; 142 state = XT_STATE_INIT;
138 break; 143 break;
139 default: 144 default:
140 if (code < 0x80) 145 if (code < 0x80) {
141 matrix_make(move_e0code(code)); 146 matrix_make(move_e0code(code));
142 else 147 } else {
143 matrix_break(move_e0code(code & 0x7F)); 148 matrix_break(move_e0code(code & 0x7F));
149 }
144 state = XT_STATE_INIT; 150 state = XT_STATE_INIT;
145 break; 151 break;
146 } 152 }
@@ -181,59 +187,54 @@ uint8_t matrix_scan(void)
181 default: 187 default:
182 state = XT_STATE_INIT; 188 state = XT_STATE_INIT;
183 } 189 }
190
184 matrix_scan_quantum(); 191 matrix_scan_quantum();
192
185 return 1; 193 return 1;
186} 194}
187 195
188inline 196inline
189uint8_t matrix_get_row(uint8_t row) 197uint8_t matrix_get_row(uint8_t row) {
190{
191 return matrix[row]; 198 return matrix[row];
192} 199}
193 200
194inline 201inline static void matrix_make(uint8_t code) {
195static void matrix_make(uint8_t code)
196{
197 if (!matrix_is_on(ROW(code), COL(code))) { 202 if (!matrix_is_on(ROW(code), COL(code))) {
198 matrix[ROW(code)] |= 1<<COL(code); 203 matrix[ROW(code)] |= 1 << COL(code);
199 } 204 }
200} 205}
201 206
202inline 207inline static void matrix_break(uint8_t code) {
203static void matrix_break(uint8_t code)
204{
205 if (matrix_is_on(ROW(code), COL(code))) { 208 if (matrix_is_on(ROW(code), COL(code))) {
206 matrix[ROW(code)] &= ~(1<<COL(code)); 209 matrix[ROW(code)] &= ~(1 << COL(code));
207 } 210 }
208} 211}
209 212
210void matrix_clear(void) 213void matrix_clear(void) {
211{
212 for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00; 214 for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
213} 215}
214 216
215bool matrix_is_on(uint8_t row, uint8_t col) 217bool matrix_is_on(uint8_t row, uint8_t col) {
216{ 218 return (matrix_get_row(row) & (1 << col));
217 return (matrix_get_row(row) & (1<<col));
218} 219}
219 220
220#if (MATRIX_COLS <= 8) 221#if (MATRIX_COLS <= 8)
221# define print_matrix_header() print("\nr/c 01234567\n") 222# define print_matrix_header() print("\nr/c 01234567\n")
222# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row)) 223# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
223#elif (MATRIX_COLS <= 16) 224#elif (MATRIX_COLS <= 16)
224# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n") 225# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
225# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row)) 226# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
226#elif (MATRIX_COLS <= 32) 227#elif (MATRIX_COLS <= 32)
227# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n") 228# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
228# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row)) 229# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
229#endif 230#endif
230 231
231void matrix_print(void) 232void matrix_print(void) {
232{
233 print_matrix_header(); 233 print_matrix_header();
234 234
235 for (uint8_t row = 0; row < MATRIX_ROWS; row++) { 235 for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
236 print_hex8(row); print(": "); 236 print_hex8(row);
237 print(": ");
237 print_matrix_row(row); 238 print_matrix_row(row);
238 print("\n"); 239 print("\n");
239 } 240 }
diff --git a/keyboards/converter/xt_usb/rules.mk b/keyboards/converter/xt_usb/rules.mk
index 986cdd4dc..ca9382f8a 100644
--- a/keyboards/converter/xt_usb/rules.mk
+++ b/keyboards/converter/xt_usb/rules.mk
@@ -2,28 +2,25 @@
2MCU = atmega32u4 2MCU = atmega32u4
3 3
4# Bootloader selection 4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = halfkay 5BOOTLOADER = halfkay
13 6
14# Build Options 7# Build Options
15# comment out to disable the options. 8# change yes to no to disable
16# 9#
17BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration 10BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug 13CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration 14COMMAND_ENABLE = yes # Commands for debug and configuration
22NKRO_ENABLE = yes # USB Nkey Rollover 15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23XT_ENABLE = yes 16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24CUSTOM_MATRIX = yes 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
23XT_ENABLE = yes
24CUSTOM_MATRIX = yes
25 25
26SRC += matrix.c 26SRC += matrix.c
27
28# Optimize size but this may cause error "relocation truncated to fit"
29#EXTRALDFLAGS = -Wl,--relax
diff --git a/keyboards/converter/xt_usb/xt_usb.h b/keyboards/converter/xt_usb/xt_usb.h
index 88d9f576c..570f1a376 100644
--- a/keyboards/converter/xt_usb/xt_usb.h
+++ b/keyboards/converter/xt_usb/xt_usb.h
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
18 18
19#include "quantum.h" 19#include "quantum.h"
20 20
21#define XXX KC_NO
22
21/* IBM XT keyboard layout 23/* IBM XT keyboard layout
22 * ,-------. ,--------------------------------------------------------------------------. 24 * ,-------. ,--------------------------------------------------------------------------.
23 * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck | 25 * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck |
@@ -44,28 +46,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
44 * `-------' `--------------------------------------------------------------------------' 46 * `-------' `--------------------------------------------------------------------------'
45 */ 47 */
46#define LAYOUT_xt( \ 48#define LAYOUT_xt( \
47 K3B,K3C, K01,K02,K03,K04,K05,K06,K07,K08,K09,K0A,K0B,K0C,K0D,K0E, K45, K46, \ 49 k3B, k3C, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k45, k46, \
48 K3D,K3E, K0F,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K1A,K1B, K47,K48,K49,K4A, \ 50 k3D, k3E, k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k47, k48, k49, k4A, \
49 K3F,K40, K1D,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K1C,K4B,K4C,K4D, \ 51 k3F, k40, k1D, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k1C, k4B, k4C, k4D, \
50 K41,K42, K2A,K2B,K2C,K2D,K2E,K2F,K30,K31,K32,K33,K34,K35,K36,K37,K4F,K50,K51,K4E, \ 52 k41, k42, k2A, k2B, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k36, k37, k4F, k50, k51, k4E, \
51 K43,K44, K38, K39, K3A, K52, K53 \ 53 k43, k44, k38, k39, k3A, k52, k53 \
52) { \ 54) { \
53 { KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \ 55 { XXX, k01, k02, k03, k04, k05, k06, k07 }, \
54 { K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ 56 { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
55 { K10, K11, K12, K13, K14, K15, K16, K17 }, \ 57 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
56 { K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ 58 { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
57 { K20, K21, K22, K23, K24, K25, K26, K27 }, \ 59 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
58 { K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ 60 { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
59 { K30, K31, K32, K33, K34, K35, K36, K37 }, \ 61 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
60 { K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ 62 { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
61 { K40, K41, K42, K43, K44, K45, K46, K47 }, \ 63 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
62 { K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ 64 { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
63 { K50, K51, K52, K53, KC_NO, KC_NO, KC_NO, KC_NO }, \ 65 { k50, k51, k52, k53, XXX, XXX, XXX, XXX }, \
64 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ 66 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
65 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ 67 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
66 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ 68 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
67 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \ 69 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
68 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \ 70 { XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
69} 71}
70 72
71/* Extended keyboard layout 73/* Extended keyboard layout
@@ -105,28 +107,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
105 * *: special handling codes 107 * *: special handling codes
106 */ 108 */
107#define LAYOUT( \ 109#define LAYOUT( \
108 K64,K65,K66,K67,K68,K69,K6A,K6B,K6C,K6D,K6E,K76, \ 110 k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k76, \
109 K01, K3B,K3C,K3D,K3E,K3F,K40,K41,K42,K43,K44,K57,K58, K54,K46,K55, K5D,K5E,K5F, \ 111 k01, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k57, k58, k54, k46, k55, k5D, k5E, k5F, \
110 K29,K02,K03,K04,K05,K06,K07,K08,K09,K0A,K0B,K0C,K0D,K7D,K0E, K71,K74,K77, K45,K7F,K37,K4A, \ 112 k29, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k7D, k0E, k71, k74, k77, k45, k7F, k37, k4A, \
111 K0F,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K1A,K1B, K2B, K72,K75,K78, K47,K48,K49,K4E, \ 113 k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k2B, k72, k75, k78, k47, k48, k49, k4E, \
112 K3A,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K28, K00,K1C, K4B,K4C,K4D,K7E, \ 114 k3A, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k00, k1C, k4B, k4C, k4D, k7E, \
113 K2A,K56,K2C,K2D,K2E,K2F,K30,K31,K32,K33,K34,K35, K73,K36, K60, K4F,K50,K51,K6F, \ 115 k2A, k56, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k73, k36, k60, k4F, k50, k51, k6F, \
114 K1D,K5A,K38,K7B, K39, K79,K70,K7C,K5B,K5C,K7A, K61,K62,K63, K52,K53,K59 \ 116 k1D, k5A, k38, k7B, k39, k79, k70, k7C, k5B, k5C, k7A, k61, k62, k63, k52, k53, k59 \
115) { \ 117) { \
116 { K00, K01, K02, K03, K04, K05, K06, K07 }, \ 118 { k00, k01, k02, k03, k04, k05, k06, k07 }, \
117 { K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \ 119 { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
118 { K10, K11, K12, K13, K14, K15, K16, K17 }, \ 120 { k10, k11, k12, k13, k14, k15, k16, k17 }, \
119 { K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ 121 { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
120 { K20, K21, K22, K23, K24, K25, K26, K27 }, \ 122 { k20, k21, k22, k23, k24, k25, k26, k27 }, \
121 { K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ 123 { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
122 { K30, K31, K32, K33, K34, K35, K36, K37 }, \ 124 { k30, k31, k32, k33, k34, k35, k36, k37 }, \
123 { K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \ 125 { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
124 { K40, K41, K42, K43, K44, K45, K46, K47 }, \ 126 { k40, k41, k42, k43, k44, k45, k46, k47 }, \
125 { K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \ 127 { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
126 { K50, K51, K52, K53, K54, K55, K56, K57 }, \ 128 { k50, k51, k52, k53, k54, k55, k56, k57 }, \
127 { K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \ 129 { k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
128 { K60, K61, K62, K63, K64, K65, K66, K67 }, \ 130 { k60, k61, k62, k63, k64, k65, k66, k67 }, \
129 { K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ 131 { k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \
130 { K70, K71, K72, K73, K74, K75, K76, K77 }, \ 132 { k70, k71, k72, k73, k74, k75, k76, k77 }, \
131 { K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \ 133 { k78, k79, k7A, k7B, k7C, k7D, k7E, k7F } \
132} 134}