From 7e87532ec261bcc30d7fa5dfc5bf6427e2d3d36e Mon Sep 17 00:00:00 2001 From: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 13 Nov 2018 08:26:55 -0800 Subject: [PATCH] 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. --- keyboards/converter/ibm_terminal/README.md | 40 --- .../converter/ibm_terminal/ibm_terminal.h | 10 +- keyboards/converter/ibm_terminal/info.json | 245 ++++++++++++++++++ .../ibm_terminal/keymaps/default/config.h | 7 +- .../ibm_terminal/keymaps/default/keymap.c | 12 +- .../ibm_terminal/keymaps/priyadi/config.h | 7 +- .../ibm_terminal/keymaps/priyadi/keymap.c | 28 +- keyboards/converter/ibm_terminal/readme.md | 39 +++ 8 files changed, 305 insertions(+), 83 deletions(-) delete mode 100644 keyboards/converter/ibm_terminal/README.md create mode 100644 keyboards/converter/ibm_terminal/info.json create mode 100644 keyboards/converter/ibm_terminal/readme.md diff --git a/keyboards/converter/ibm_terminal/README.md b/keyboards/converter/ibm_terminal/README.md deleted file mode 100644 index dff26e0594..0000000000 --- a/keyboards/converter/ibm_terminal/README.md +++ /dev/null @@ -1,40 +0,0 @@ -Keyboard converter for IBM terminal keyboard -============================================ - -This is a port of TMK's converter/terminal_usb to QMK. - -It supports PS/2 Scan Code Set 3 and runs on USB AVR chips such like PJRC Teensy. -I tested the converter on ATMega32U4 with 1392595(102keys) and 6110345(122keys). - -Source code: https://github.com/qmk/qmk_firmware.git -Article: http://geekhack.org/index.php?topic=27272.0 - - -CONNECTION ----------- -Keyboard ATMega32U4 ----------------------- -Data: PD2 -Clock: PD5 - -And VCC and GND, of course. See RESOURCE for keyboard connector pin assign. - - -BUILD ------ -$ git clone https://github.com/qmk/qmk_firmware.git -$ cd qmk_firmware -$ make converter/ibm_terminal:default - - -RESOURCE --------- -Soarer's Converter: http://geekhack.org/index.php?topic=17458.0 -102keys(1392595): http://geekhack.org/index.php?topic=10737.0 -122keys(1390876): http://www.seasip.info/VintagePC/ibm_1390876.html -KbdBabel: http://www.kbdbabel.org/ -RJ45 Connector: http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png -DIN Connector: http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png -WinAVR: http://winavr.sourceforge.net/ - -EOF diff --git a/keyboards/converter/ibm_terminal/ibm_terminal.h b/keyboards/converter/ibm_terminal/ibm_terminal.h index c6468349ca..adf048206e 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); * 17| | * +---------+ */ -#define KEYMAP( \ +#define LAYOUT( \ K08,K10,K18,K20,K28,K30,K38,K40,K48,K50,K57,K5F, \ K07,K0F,K17,K1F,K27,K2F,K37,K3F,K47,K4F,K56,K5E, \ \ @@ -45,13 +45,13 @@ void matrix_init_user(void); { K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ { K70, K71, K72, K73, K74, K75, K76, K77 }, \ { K78, K79, K7A, K7B, K7C, K7D, K7E, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, K83, K84, KC_NO, KC_NO, KC_NO,}, \ + { KC_NO, KC_NO, KC_NO, K83, K84, KC_NO, KC_NO, KC_NO } \ } /* * IBM Terminal keyboard 1399625, 101-key */ -#define KEYMAP_101( \ +#define LAYOUT_101( \ K08, K07,K0F,K17,K1F,K27,K2F,K37,K3F,K47,K4F,K56,K5E, K57,K5F,K62, \ \ 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); { KC_NO, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \ { K70, K71, K72, K73, K74, K75, K76, K77 }, \ { KC_NO, K79, K7A, KC_NO, K7C, K7D, K7E, KC_NO }, \ - { KC_NO, KC_NO, KC_NO, KC_NO, K84, KC_NO, KC_NO, KC_NO,}, \ + { KC_NO, KC_NO, KC_NO, KC_NO, K84, KC_NO, KC_NO, KC_NO } \ } -#endif \ No newline at end of file +#endif diff --git a/keyboards/converter/ibm_terminal/info.json b/keyboards/converter/ibm_terminal/info.json new file mode 100644 index 0000000000..f064f3c5bd --- /dev/null +++ b/keyboards/converter/ibm_terminal/info.json @@ -0,0 +1,245 @@ +{ + "keyboard_name": "Keyboard converter for IBM terminal keyboard", + "url": "", + "maintainer": "qmk", + "width": 24.75, + "height": 8, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"F13", "x":3.25, "y":0}, + {"label":"F14", "x":4.25, "y":0}, + {"label":"F15", "x":5.25, "y":0}, + {"label":"F16", "x":6.25, "y":0}, + {"label":"F17", "x":7.25, "y":0}, + {"label":"F18", "x":8.25, "y":0}, + {"label":"F19", "x":9.25, "y":0}, + {"label":"F20", "x":10.25, "y":0}, + {"label":"F21", "x":11.25, "y":0}, + {"label":"F22", "x":12.25, "y":0}, + {"label":"F23", "x":13.25, "y":0}, + {"label":"F24", "x":14.25, "y":0}, + {"label":"F1", "x":3.25, "y":1}, + {"label":"F2", "x":4.25, "y":1}, + {"label":"F3", "x":5.25, "y":1}, + {"label":"F4", "x":6.25, "y":1}, + {"label":"F5", "x":7.25, "y":1}, + {"label":"F6", "x":8.25, "y":1}, + {"label":"F7", "x":9.25, "y":1}, + {"label":"F8", "x":10.25, "y":1}, + {"label":"F9", "x":11.25, "y":1}, + {"label":"F10", "x":12.25, "y":1}, + {"label":"F11", "x":13.25, "y":1}, + {"label":"F12", "x":14.25, "y":1}, + {"label":"Print Screen", "x":0, "y":3}, + {"label":"Esc", "x":1, "y":3}, + {"label":"Esc", "x":2.25, "y":3}, + {"label":"1", "x":3.25, "y":3}, + {"label":"2", "x":4.25, "y":3}, + {"label":"3", "x":5.25, "y":3}, + {"label":"4", "x":6.25, "y":3}, + {"label":"5", "x":7.25, "y":3}, + {"label":"6", "x":8.25, "y":3}, + {"label":"7", "x":9.25, "y":3}, + {"label":"8", "x":10.25, "y":3}, + {"label":"9", "x":11.25, "y":3}, + {"label":"0", "x":12.25, "y":3}, + {"label":"-", "x":13.25, "y":3}, + {"label":"=", "x":14.25, "y":3}, + {"label":"No", "x":15.25, "y":3}, + {"label":"Back Space", "x":16.25, "y":3}, + {"label":"Insert", "x":17.5, "y":3}, + {"label":"Home", "x":18.5, "y":3}, + {"label":"Page Up", "x":19.5, "y":3}, + {"label":"Num Lock", "x":20.75, "y":3}, + {"label":"/", "x":21.75, "y":3}, + {"label":"*", "x":22.75, "y":3}, + {"label":"-", "x":23.75, "y":3}, + {"label":"Scroll Lock", "x":0, "y":4}, + {"label":"Int4", "x":1, "y":4}, + {"label":"Tab", "x":2.25, "y":4, "w":1.5}, + {"label":"Q", "x":3.75, "y":4}, + {"label":"W", "x":4.75, "y":4}, + {"label":"E", "x":5.75, "y":4}, + {"label":"R", "x":6.75, "y":4}, + {"label":"T", "x":7.75, "y":4}, + {"label":"Y", "x":8.75, "y":4}, + {"label":"U", "x":9.75, "y":4}, + {"label":"I", "x":10.75, "y":4}, + {"label":"O", "x":11.75, "y":4}, + {"label":"P", "x":12.75, "y":4}, + {"label":"[", "x":13.75, "y":4}, + {"label":"]", "x":14.75, "y":4}, + {"label":"No", "x":15.75, "y":4, "w":1.5}, + {"label":"Delete", "x":17.5, "y":4}, + {"label":"End", "x":18.5, "y":4}, + {"label":"Page Down", "x":19.5, "y":4}, + {"label":"7", "x":20.75, "y":4}, + {"label":"8", "x":21.75, "y":4}, + {"label":"9", "x":22.75, "y":4}, + {"label":"+", "x":23.75, "y":4}, + {"label":"Pause", "x":0, "y":5}, + {"label":"Int5", "x":1, "y":5}, + {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75}, + {"label":"A", "x":4, "y":5}, + {"label":"S", "x":5, "y":5}, + {"label":"D", "x":6, "y":5}, + {"label":"F", "x":7, "y":5}, + {"label":"G", "x":8, "y":5}, + {"label":"H", "x":9, "y":5}, + {"label":"J", "x":10, "y":5}, + {"label":"K", "x":11, "y":5}, + {"label":"L", "x":12, "y":5}, + {"label":";", "x":13, "y":5}, + {"label":"'", "x":14, "y":5}, + {"label":"\\", "x":15, "y":5}, + {"label":"Enter", "x":16, "y":5, "w":1.25}, + {"label":"Up", "x":18.5, "y":5}, + {"label":"4", "x":20.75, "y":5}, + {"label":"5", "x":21.75, "y":5}, + {"label":"6", "x":22.75, "y":5}, + {"label":",", "x":23.75, "y":5}, + {"label":"App", "x":0, "y":6}, + {"label":"Int6", "x":1, "y":6}, + {"label":"Shift", "x":2.25, "y":6, "w":1.25}, + {"label":"ISO \\", "x":3.5, "y":6}, + {"label":"Z", "x":4.5, "y":6}, + {"label":"X", "x":5.5, "y":6}, + {"label":"C", "x":6.5, "y":6}, + {"label":"V", "x":7.5, "y":6}, + {"label":"B", "x":8.5, "y":6}, + {"label":"N", "x":9.5, "y":6}, + {"label":"M", "x":10.5, "y":6}, + {"label":",", "x":11.5, "y":6}, + {"label":".", "x":12.5, "y":6}, + {"label":"/", "x":13.5, "y":6}, + {"label":"No", "x":14.5, "y":6}, + {"label":"Shift", "x":15.5, "y":6, "w":1.75}, + {"label":"Left", "x":17.5, "y":6}, + {"label":"Int2", "x":18.5, "y":6}, + {"label":"Right", "x":19.5, "y":6}, + {"label":"1", "x":20.75, "y":6}, + {"label":"2", "x":21.75, "y":6}, + {"label":"3", "x":22.75, "y":6}, + {"label":"Enter", "x":23.75, "y":6}, + {"label":"RGUI", "x":0, "y":7}, + {"label":"lgui", "x":1, "y":7}, + {"label":"Ctrl", "x":2.25, "y":7, "w":1.5}, + {"label":"Alt", "x":4.75, "y":7, "w":1.5}, + {"label":"Space", "x":6.25, "y":7, "w":7}, + {"label":"Alt", "x":13.25, "y":7, "w":1.5}, + {"label":"Ctrl", "x":15.75, "y":7, "w":1.5}, + {"label":"Down", "x":18.5, "y":7}, + {"label":"No", "x":20.75, "y":7}, + {"label":"0", "x":21.75, "y":7}, + {"label":".", "x":22.75, "y":7}, + {"label":"No", "x":23.75, "y":7} + ] + }, + "LAYOUT_101": { + "layout": [ + {"label":"Esc", "x":0, "y":0}, + {"label":"F1", "x":2, "y":0}, + {"label":"F2", "x":3, "y":0}, + {"label":"F3", "x":4, "y":0}, + {"label":"F4", "x":5, "y":0}, + {"label":"F5", "x":6.5, "y":0}, + {"label":"F6", "x":7.5, "y":0}, + {"label":"F7", "x":8.5, "y":0}, + {"label":"F8", "x":9.5, "y":0}, + {"label":"F9", "x":11, "y":0}, + {"label":"F10", "x":12, "y":0}, + {"label":"F11", "x":13, "y":0}, + {"label":"F12", "x":14, "y":0}, + {"label":"Print Screen", "x":15.25, "y":0}, + {"label":"Scroll Lock", "x":16.25, "y":0}, + {"label":"Pause", "x":17.25, "y":0}, + {"label":"`", "x":0, "y":2}, + {"label":"1", "x":1, "y":2}, + {"label":"2", "x":2, "y":2}, + {"label":"3", "x":3, "y":2}, + {"label":"4", "x":4, "y":2}, + {"label":"5", "x":5, "y":2}, + {"label":"6", "x":6, "y":2}, + {"label":"7", "x":7, "y":2}, + {"label":"8", "x":8, "y":2}, + {"label":"9", "x":9, "y":2}, + {"label":"0", "x":10, "y":2}, + {"label":"-", "x":11, "y":2}, + {"label":"=", "x":12, "y":2}, + {"label":"Back Space", "x":13, "y":2, "w":2}, + {"label":"Insert", "x":15.25, "y":2}, + {"label":"Home", "x":16.25, "y":2}, + {"label":"Page Up", "x":17.25, "y":2}, + {"label":"Num Lock", "x":18.5, "y":2}, + {"label":"/", "x":19.5, "y":2}, + {"label":"*", "x":20.5, "y":2}, + {"label":"-", "x":21.5, "y":2}, + {"label":"Tab", "x":0, "y":3, "w":1.5}, + {"label":"Q", "x":1.5, "y":3}, + {"label":"W", "x":2.5, "y":3}, + {"label":"E", "x":3.5, "y":3}, + {"label":"R", "x":4.5, "y":3}, + {"label":"T", "x":5.5, "y":3}, + {"label":"Y", "x":6.5, "y":3}, + {"label":"U", "x":7.5, "y":3}, + {"label":"I", "x":8.5, "y":3}, + {"label":"O", "x":9.5, "y":3}, + {"label":"P", "x":10.5, "y":3}, + {"label":"[", "x":11.5, "y":3}, + {"label":"]", "x":12.5, "y":3}, + {"label":"\\", "x":13.5, "y":3, "w":1.5}, + {"label":"Delete", "x":15.25, "y":3}, + {"label":"End", "x":16.25, "y":3}, + {"label":"Page Down", "x":17.25, "y":3}, + {"label":"7", "x":18.5, "y":3}, + {"label":"8", "x":19.5, "y":3}, + {"label":"9", "x":20.5, "y":3}, + {"label":"Caps Lock", "x":0, "y":4, "w":1.75}, + {"label":"A", "x":1.75, "y":4}, + {"label":"S", "x":2.75, "y":4}, + {"label":"D", "x":3.75, "y":4}, + {"label":"F", "x":4.75, "y":4}, + {"label":"G", "x":5.75, "y":4}, + {"label":"H", "x":6.75, "y":4}, + {"label":"J", "x":7.75, "y":4}, + {"label":"K", "x":8.75, "y":4}, + {"label":"L", "x":9.75, "y":4}, + {"label":";", "x":10.75, "y":4}, + {"label":"'", "x":11.75, "y":4}, + {"label":"Enter", "x":12.75, "y":4, "w":2.25}, + {"label":"4", "x":18.5, "y":4}, + {"label":"5", "x":19.5, "y":4}, + {"label":"6", "x":20.5, "y":4}, + {"label":"+", "x":21.5, "y":3, "h":2}, + {"label":"Shift", "x":0, "y":5, "w":2.25}, + {"label":"Z", "x":2.25, "y":5}, + {"label":"X", "x":3.25, "y":5}, + {"label":"C", "x":4.25, "y":5}, + {"label":"V", "x":5.25, "y":5}, + {"label":"B", "x":6.25, "y":5}, + {"label":"N", "x":7.25, "y":5}, + {"label":"M", "x":8.25, "y":5}, + {"label":",", "x":9.25, "y":5}, + {"label":".", "x":10.25, "y":5}, + {"label":"/", "x":11.25, "y":5}, + {"label":"Shift", "x":12.25, "y":5, "w":2.75}, + {"label":"Up", "x":16.25, "y":5}, + {"label":"1", "x":18.5, "y":5}, + {"label":"2", "x":19.5, "y":5}, + {"label":"3", "x":20.5, "y":5}, + {"label":"Ctrl", "x":0, "y":6, "w":1.5}, + {"label":"Alt", "x":2.5, "y":6, "w":1.5}, + {"label":"Space", "x":4, "y":6, "w":7}, + {"label":"Alt", "x":11, "y":6, "w":1.5}, + {"label":"Ctrl", "x":13.5, "y":6, "w":1.5}, + {"label":"Left", "x":15.25, "y":6}, + {"label":"Down", "x":16.25, "y":6}, + {"label":"Right", "x":17.25, "y":6}, + {"label":"0", "x":18.5, "y":6, "w":2}, + {"label":".", "x":20.5, "y":6}, + {"label":"Enter", "x":21.5, "y":5, "h":2} + ] + } + } +} diff --git a/keyboards/converter/ibm_terminal/keymaps/default/config.h b/keyboards/converter/ibm_terminal/keymaps/default/config.h index 7fa3bf328e..271f48d001 100644 --- a/keyboards/converter/ibm_terminal/keymaps/default/config.h +++ b/keyboards/converter/ibm_terminal/keymaps/default/config.h @@ -1,6 +1,3 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once -#include "../../config.h" - -#endif +// place overrides here diff --git a/keyboards/converter/ibm_terminal/keymaps/default/keymap.c b/keyboards/converter/ibm_terminal/keymaps/default/keymap.c index 2beb51106e..59187ef339 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 along with this program. If not, see . */ -#include -#include -#include "keycode.h" -#include "print.h" -#include "debug.h" -#include "util.h" -#include "ibm_terminal.h" +#include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Layer 0 - KEYMAP( + LAYOUT( KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, @@ -56,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * `----' `---------------------------------------' `----' `-----------' `---------------' */ /* - KEYMAP_101( + LAYOUT_101( 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, 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 7fa3bf328e..271f48d001 100644 --- a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h +++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h @@ -1,6 +1,3 @@ -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once -#include "../../config.h" - -#endif +// place overrides here diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c b/keyboards/converter/ibm_terminal/keymaps/priyadi/keymap.c index 47a5181dde..3d6da6eab8 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 along with this program. If not, see . */ -#include "keycode.h" -#include "print.h" -#include "debug.h" -#include "util.h" -#include "ibm_terminal.h" -#include "action_layer.h" - -// Fillers to make layering clearer - -#define _______ KC_TRNS -#define XXXXXXX KC_NO +#include QMK_KEYBOARD_H enum layers { QWE, // qwerty @@ -159,7 +149,7 @@ const uint32_t PROGMEM unicode_map[] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* qwerty */ - [QWE] = KEYMAP( + [QWE] = LAYOUT( KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_PSCR, KC_SLCK, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, @@ -171,7 +161,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* colemak */ - [COL] = KEYMAP( + [COL] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -183,7 +173,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* workman */ - [WOR] = KEYMAP( + [WOR] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -195,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* dvorak */ - [DVO] = KEYMAP( + [DVO] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -207,7 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* system */ - [SYS] = KEYMAP( + [SYS] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -219,7 +209,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* mouse keys */ - [MOU] = KEYMAP( + [MOU] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, @@ -231,7 +221,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* emoji */ - [EMO] = KEYMAP( + [EMO] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, @@ -243,7 +233,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* - [XXX] = KEYMAP( + [XXX] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/converter/ibm_terminal/readme.md b/keyboards/converter/ibm_terminal/readme.md new file mode 100644 index 0000000000..b781b04687 --- /dev/null +++ b/keyboards/converter/ibm_terminal/readme.md @@ -0,0 +1,39 @@ +# Keyboard converter for IBM terminal keyboard + +This is a port of TMK's converter/terminal_usb to QMK. + +It supports PS/2 Scan Code Set 3 and runs on USB AVR chips such like PJRC Teensy. +I tested the converter on ATMega32U4 with 1392595(102keys) and 6110345(122keys). + +Source code: https://github.com/qmk/qmk_firmware.git +Article: http://geekhack.org/index.php?topic=27272.0 + + +## Connection + +Keyboard | ATMega32U4 +:------- | :--------- +Data | PD2 +Clock | PD5 + +And VCC and GND, of course. See Resource section for keyboard connector pin assign. + + +## Build + +``` +git clone https://github.com/qmk/qmk_firmware.git +cd qmk_firmware +make converter/ibm_terminal:default +``` + +## Resource + +- Soarer's Converter: http://geekhack.org/index.php?topic=17458.0 +- 102keys(1392595): http://geekhack.org/index.php?topic=10737.0 +- 122keys(1390876): http://www.seasip.info/VintagePC/ibm_1390876.html +- KbdBabel: http://www.kbdbabel.org/ +- RJ45 Connector: http://www.kbdbabel.org/conn/kbd_connector_ibmterm.png +- DIN Connector: http://www.kbdbabel.org/conn/kbd_connector_ibm3179_318x_319x.png +- WinAVR: http://winavr.sourceforge.net/ +