diff options
| author | noroadsleft <18669334+noroadsleft@users.noreply.github.com> | 2018-11-13 08:26:55 -0800 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2018-11-13 08:26:55 -0800 |
| commit | 7e87532ec261bcc30d7fa5dfc5bf6427e2d3d36e (patch) | |
| tree | 8afaabc3a405debe4b964829c72fe9172cde9641 /keyboards/converter/ibm_terminal | |
| parent | 709bf386f4429687a8ec73ebd29193e5f209461b (diff) | |
| download | qmk_firmware-7e87532ec261bcc30d7fa5dfc5bf6427e2d3d36e.tar.gz qmk_firmware-7e87532ec261bcc30d7fa5dfc5bf6427e2d3d36e.zip | |
converter/ibm_terminal Refactor and Configurator support (#4414)
* IBM Terminal converter: layout macro refactor
- Renamed KEYMAP to LAYOUT
- Renamed KEYMAP_101 to LAYOUT_101
- minor matrix array fixes
* IBM Terminal converter: default keymap refactor
- Updated layout macro names
- Updated to #include QMK_KEYBOARD_H
- config.h updated to use #pragma once
* IBM Terminal converter: priyadi keymap refactor
- Updated layout macro names
- Updated to #include QMK_KEYBOARD_H
- Removed redundant KC_TRNS and KC_NO defines
- config.h updated to use #pragma once
* IBM Terminal converter: Configurator support
* IBM Terminal converter: readme cleanup
Updated markdown formatting.
* IBM Terminal converter: readme rename
Renamed file to fully lowercase.
Diffstat (limited to 'keyboards/converter/ibm_terminal')
| -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 | |||
