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.
This commit is contained in:
		
				
					committed by
					
						 Drashna Jaelre
						Drashna Jaelre
					
				
			
			
				
	
			
			
			
						parent
						
							709bf386f4
						
					
				
				
					commit
					7e87532ec2
				
			| @@ -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 | ||||
| @@ -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 | ||||
| #endif | ||||
|   | ||||
							
								
								
									
										245
									
								
								keyboards/converter/ibm_terminal/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										245
									
								
								keyboards/converter/ibm_terminal/info.json
									
									
									
									
									
										Normal file
									
								
							| @@ -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} | ||||
|       ] | ||||
|     } | ||||
|   } | ||||
| } | ||||
| @@ -1,6 +1,3 @@ | ||||
| #ifndef CONFIG_USER_H | ||||
| #define CONFIG_USER_H | ||||
| #pragma once | ||||
|  | ||||
| #include "../../config.h" | ||||
|  | ||||
| #endif | ||||
| // place overrides here | ||||
|   | ||||
| @@ -15,18 +15,12 @@ You should have received a copy of the GNU General Public License | ||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| */ | ||||
|  | ||||
| #include <stdint.h> | ||||
| #include <stdbool.h> | ||||
| #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, | ||||
|   | ||||
| @@ -1,6 +1,3 @@ | ||||
| #ifndef CONFIG_USER_H | ||||
| #define CONFIG_USER_H | ||||
| #pragma once | ||||
|  | ||||
| #include "../../config.h" | ||||
|  | ||||
| #endif | ||||
| // place overrides here | ||||
|   | ||||
| @@ -15,17 +15,7 @@ You should have received a copy of the GNU General Public License | ||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||
| */ | ||||
|  | ||||
| #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( | ||||
|                                    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|                                    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, | ||||
|  | ||||
|   | ||||
							
								
								
									
										39
									
								
								keyboards/converter/ibm_terminal/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								keyboards/converter/ibm_terminal/readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -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/ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user