diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 7b27f3415b6..a656288a8fb 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -41,6 +41,9 @@ "angel64": { "target": "angel64/alpha" }, + "ashpil/modelm_usbc": { + "target": "ibm/model_m/ashpil_usbc" + }, "at101_blackheart": { "target": "viktus/at101_bh" }, @@ -113,6 +116,15 @@ "cmm_studio/saka68": { "target": "cmm_studio/saka68/solder" }, + "converter/modelm101": { + "target": "ibm/model_m/teensypp" + }, + "converter/modelm101_teensy2": { + "target": "ibm/model_m/teensy2" + }, + "converter/modelm_ssk": { + "target": "ibm/model_m_ssk/teensypp_ssk" + }, "cospad": { "target": "kprepublic/cospad" }, @@ -203,6 +215,9 @@ "handwired/ferris": { "target": "ferris/0_1" }, + "handwired/ibm122m": { + "target": "ibm/model_m_122/ibm122m" + }, "handwired/p1800fl": { "target": "team0110/p1800fl" }, @@ -425,6 +440,9 @@ "montsinger/rebound": { "target": "montsinger/rebound/rev1" }, + "mschwingen/modelm": { + "target": "ibm/model_m/mschwingen" + }, "noxary/268_2": { "layouts": { "LAYOUT": "LAYOUT_65_ansi_blocker" @@ -1246,6 +1264,9 @@ "treadstone48/rev2": { "target": "marksard/treadstone48/rev2" }, + "tronguylabs/m122_3270": { + "target": "ibm/model_m_122/m122_3270" + }, "ua62": { "target": "nacly/ua62" }, @@ -1306,6 +1327,9 @@ "ymdk_np21": { "target": "ymdk/np21" }, + "yugo_m/model_m_101": { + "target": "ibm/model_m/yugo_m" + }, "yurei": { "target": "kkatano/yurei" }, diff --git a/docs/ChangeLog/20230528/PR14996.md b/docs/ChangeLog/20230528/PR14996.md new file mode 100644 index 00000000000..d59b407e4cc --- /dev/null +++ b/docs/ChangeLog/20230528/PR14996.md @@ -0,0 +1,21 @@ +# QMK Breaking Changes - 2023 May 28 Changelog + +## Notable Features :id=notable-features + +### Consolidate modelm ([#14996](https://github.com/qmk/qmk_firmware/pull/14996) + +Several build targets for the IBM Model M were cluttered in different folders. +The maintainers of several Model M replacement controller projects agreed to +consolidate them under one common folder. + +List of the consolidations now in keyboards/modelm/: + +- ashpil_usbc +- ibm122m +- mschwingen +- teensy2 (renamed from modelm101_teensy2) +- teensypp (renamed from modelm101) +- teensypp_ssk (renamed from modelm_ssk) +- ibm122m +- m122_3270 +- yugo_m diff --git a/keyboards/handwired/ibm122m/readme.md b/keyboards/handwired/ibm122m/readme.md deleted file mode 100644 index de89d7596e6..00000000000 --- a/keyboards/handwired/ibm122m/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -# ibm122m - -![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqz.jpg) - -This is a keymap for the IBM Model M 122 key terminal keyboard running on a Teensy 2.0++ -I wired it to weird pins on mine (mainly to accomodate speakers), so make sure to update the pin arrays. - -Keyboard Maintainer: [Luke Stanley](https://github.com/lukexorz) -Hardware Supported: Teensy 2.0++ -Hardware Availability: https://www.pjrc.com/store/teensypp.html - -Make example for this keyboard (after setting up your build environment): - - make handwired/ibm122m:default - -See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/ashpil/modelm_usbc/modelm_usbc.c b/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c similarity index 100% rename from keyboards/ashpil/modelm_usbc/modelm_usbc.c rename to keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c diff --git a/keyboards/ashpil/modelm_usbc/info.json b/keyboards/ibm/model_m/ashpil_usbc/info.json similarity index 99% rename from keyboards/ashpil/modelm_usbc/info.json rename to keyboards/ibm/model_m/ashpil_usbc/info.json index 4d8eec3167d..ffdb608edc5 100644 --- a/keyboards/ashpil/modelm_usbc/info.json +++ b/keyboards/ibm/model_m/ashpil_usbc/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "IBM Model M 101/102", "manufacturer": "ashpil", - "url": "https://github.com/ashpil/qmk_firmware/tree/master/keyboards/ashpil/modelm_usbc", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/ashpil_usbc", "maintainer": "ashpil", "usb": { "vid": "0xFEED", diff --git a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/config.h b/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/config.h similarity index 100% rename from keyboards/ashpil/modelm_usbc/keymaps/ashpil/config.h rename to keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/config.h diff --git a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/keymap.c b/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/keymap.c similarity index 100% rename from keyboards/ashpil/modelm_usbc/keymaps/ashpil/keymap.c rename to keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/keymap.c diff --git a/keyboards/ashpil/modelm_usbc/keymaps/ashpil/rules.mk b/keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/rules.mk similarity index 100% rename from keyboards/ashpil/modelm_usbc/keymaps/ashpil/rules.mk rename to keyboards/ibm/model_m/ashpil_usbc/keymaps/ashpil/rules.mk diff --git a/keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c b/keyboards/ibm/model_m/ashpil_usbc/keymaps/default/keymap.c similarity index 100% rename from keyboards/ashpil/modelm_usbc/keymaps/default/keymap.c rename to keyboards/ibm/model_m/ashpil_usbc/keymaps/default/keymap.c diff --git a/keyboards/ashpil/modelm_usbc/readme.md b/keyboards/ibm/model_m/ashpil_usbc/readme.md similarity index 95% rename from keyboards/ashpil/modelm_usbc/readme.md rename to keyboards/ibm/model_m/ashpil_usbc/readme.md index 261d97ab490..801cb612fd4 100644 --- a/keyboards/ashpil/modelm_usbc/readme.md +++ b/keyboards/ibm/model_m/ashpil_usbc/readme.md @@ -9,6 +9,6 @@ This is a configuration of QMK intended to be used with the [USB C Model M alt c Make example for this keyboard (after setting up your build environment): - make ashpil/modelm_usbc:default + make ibm/model_m/ashpil_usbc:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/ashpil/modelm_usbc/rules.mk b/keyboards/ibm/model_m/ashpil_usbc/rules.mk similarity index 100% rename from keyboards/ashpil/modelm_usbc/rules.mk rename to keyboards/ibm/model_m/ashpil_usbc/rules.mk diff --git a/keyboards/ibm/model_m/modelm/readme.md b/keyboards/ibm/model_m/modelm/readme.md new file mode 100644 index 00000000000..048b02495a9 --- /dev/null +++ b/keyboards/ibm/model_m/modelm/readme.md @@ -0,0 +1,24 @@ +# IBM Model M + +This is the parent directory for all projects that replace the controller +of IBM's Model M Keyboard and then run QMK on it. + +These controllers differ in their use of microcontrollers, connection (mainly +USB) optional speakers etc. + +Some of them can be bought fully assembled others are do-it-yourself. + +## Warning - Model M Variants + +**Not all of these projects will fit into your keyboard!** + +As the Model M was produced over several years there are many variants of the +controller PCB. Check what fits your keyboard before you build/order one. + +The variants built for PCs differ in: +* PCB size +* Connectors (8/12 pin flex, location) +* Ground wire connector location + +Additionally IBM built Model M variants for terminals with 122 keys, the +space saving keyboard (SSK, 84-key) etc. diff --git a/keyboards/mschwingen/modelm/config.h b/keyboards/ibm/model_m/mschwingen/config.h similarity index 91% rename from keyboards/mschwingen/modelm/config.h rename to keyboards/ibm/model_m/mschwingen/config.h index c828bd36ff8..b1dc81b8c78 100644 --- a/keyboards/mschwingen/modelm/config.h +++ b/keyboards/ibm/model_m/mschwingen/config.h @@ -56,15 +56,15 @@ #define MODELM_LED2 B6 #define MODELM_LED3 D0 -#if defined(KEYBOARD_mschwingen_modelm_led_wired) +#if defined(KEYBOARD_ibm_model_m_mschwingen_led_wired) # define MODELM_LED_CAPSLOCK MODELM_LED1 # define MODELM_LED_SCROLLOCK MODELM_LED2 # define MODELM_LED_NUMLOCK MODELM_LED3 -#elif defined(KEYBOARD_mschwingen_modelm_led_ffc) +#elif defined(KEYBOARD_ibm_model_m_mschwingen_led_ffc) # define MODELM_LED_CAPSLOCK MODELM_LED2 # define MODELM_LED_SCROLLOCK MODELM_LED3 # define MODELM_LED_NUMLOCK MODELM_LED1 -#elif defined(KEYBOARD_mschwingen_modelm_led_ws2812) +#elif defined(KEYBOARD_ibm_model_m_mschwingen_led_ws2812) #else # error one of MODELM_LEDS_FFC, MODELM_LEDS_WIRED or MODELM_LEDS_WS2812 must be set! #endif diff --git a/keyboards/mschwingen/modelm/info.json b/keyboards/ibm/model_m/mschwingen/info.json similarity index 97% rename from keyboards/mschwingen/modelm/info.json rename to keyboards/ibm/model_m/mschwingen/info.json index 8005f5e7f77..1ba525de6c8 100644 --- a/keyboards/mschwingen/modelm/info.json +++ b/keyboards/ibm/model_m/mschwingen/info.json @@ -1,7 +1,7 @@ { - "keyboard_name": "IBM Model M 101/102", + "keyboard_name": "atmega32U4 board for IBM Model M", "manufacturer": "mschwingen", - "url": "", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/mschwingen", "maintainer": "mschwingen", "usb": { "vid": "0xFEED", diff --git a/keyboards/mschwingen/modelm/keymaps/default/keymap.c b/keyboards/ibm/model_m/mschwingen/keymaps/default/keymap.c similarity index 100% rename from keyboards/mschwingen/modelm/keymaps/default/keymap.c rename to keyboards/ibm/model_m/mschwingen/keymaps/default/keymap.c diff --git a/keyboards/ibm/model_m/mschwingen/led_ffc/readme.md b/keyboards/ibm/model_m/mschwingen/led_ffc/readme.md new file mode 100644 index 00000000000..722567c18f0 --- /dev/null +++ b/keyboards/ibm/model_m/mschwingen/led_ffc/readme.md @@ -0,0 +1,21 @@ +# atmega32U4 board for IBM Model M, LEDs connected with flexible flat cable (FFC) + +![modelm](https://raw.githubusercontent.com/mschwingen/hardware/master/modelm-usb/images/PCB.jpg) + +This is a configuration of QMK intended to be used with the [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb). + +* Keyboard Maintainer: [Michael Schwingen](https://github.com/mschwingen/) +* Hardware Supported: [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb) +* Hardware Availability: need to build your own. + +Make example for this keyboard (after setting up your build environment), run one of: + + make ibm/model_m/mschwingen/led_ffc:default + +Flashing example for this keyboard: + + make ibm/model_m/mschwingen/led_ffc:default:flash + +Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader) + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/mschwingen/modelm/led_ffc/rules.mk b/keyboards/ibm/model_m/mschwingen/led_ffc/rules.mk similarity index 100% rename from keyboards/mschwingen/modelm/led_ffc/rules.mk rename to keyboards/ibm/model_m/mschwingen/led_ffc/rules.mk diff --git a/keyboards/ibm/model_m/mschwingen/led_wired/readme.md b/keyboards/ibm/model_m/mschwingen/led_wired/readme.md new file mode 100644 index 00000000000..073c75c10dc --- /dev/null +++ b/keyboards/ibm/model_m/mschwingen/led_wired/readme.md @@ -0,0 +1,21 @@ +# atmega32U4 board for IBM Model M, LEDs connected with wires + +![modelm](https://raw.githubusercontent.com/mschwingen/hardware/master/modelm-usb/images/PCB.jpg) + +This is a configuration of QMK intended to be used with the [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb). + +* Keyboard Maintainer: [Michael Schwingen](https://github.com/mschwingen/) +* Hardware Supported: [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb) +* Hardware Availability: need to build your own. + +Make example for this keyboard (after setting up your build environment), run one of: + + make ibm/model_m/mschwingen/led_wired:default + +Flashing example for this keyboard: + + make ibm/model_m/mschwingen/led_wired:default:flash + +Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader) + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/mschwingen/modelm/led_wired/rules.mk b/keyboards/ibm/model_m/mschwingen/led_wired/rules.mk similarity index 100% rename from keyboards/mschwingen/modelm/led_wired/rules.mk rename to keyboards/ibm/model_m/mschwingen/led_wired/rules.mk diff --git a/keyboards/ibm/model_m/mschwingen/led_ws2812/readme.md b/keyboards/ibm/model_m/mschwingen/led_ws2812/readme.md new file mode 100644 index 00000000000..669f7f37a1c --- /dev/null +++ b/keyboards/ibm/model_m/mschwingen/led_ws2812/readme.md @@ -0,0 +1,21 @@ +# atmega32U4 board for IBM Model M, old LEDs replaces with WS2812 RGB LEDs + +![modelm](https://raw.githubusercontent.com/mschwingen/hardware/master/modelm-usb/images/PCB.jpg) + +This is a configuration of QMK intended to be used with the [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb). + +* Keyboard Maintainer: [Michael Schwingen](https://github.com/mschwingen/) +* Hardware Supported: [Model M USB PCB](https://github.com/mschwingen/hardware/tree/master/modelm-usb) +* Hardware Availability: need to build your own. + +Make example for this keyboard (after setting up your build environment), run one of: + + make ibm/model_m/mschwingen/led_ws2812:default + +Flashing example for this keyboard: + + make ibm/model_m/mschwingen/led_ws2812:default:flash + +Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader) + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/mschwingen/modelm/led_ws2812/rules.mk b/keyboards/ibm/model_m/mschwingen/led_ws2812/rules.mk similarity index 100% rename from keyboards/mschwingen/modelm/led_ws2812/rules.mk rename to keyboards/ibm/model_m/mschwingen/led_ws2812/rules.mk diff --git a/keyboards/mschwingen/modelm/matrix.c b/keyboards/ibm/model_m/mschwingen/matrix.c similarity index 99% rename from keyboards/mschwingen/modelm/matrix.c rename to keyboards/ibm/model_m/mschwingen/matrix.c index 7ea20b5a11f..9997b659756 100644 --- a/keyboards/mschwingen/modelm/matrix.c +++ b/keyboards/ibm/model_m/mschwingen/matrix.c @@ -22,7 +22,7 @@ #include "quantum.h" #include "spi_master.h" #include "print.h" -#include "modelm.h" +#include "mschwingen.h" #define SPI_TIMEOUT 100 @@ -93,7 +93,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) void matrix_init_custom(void) { unselect_cols(); - + // set 4MHz SPI clock SPSR = 0; SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPOL); diff --git a/keyboards/mschwingen/modelm/modelm.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c similarity index 96% rename from keyboards/mschwingen/modelm/modelm.c rename to keyboards/ibm/model_m/mschwingen/mschwingen.c index 23d1b1484a4..b764660e217 100644 --- a/keyboards/mschwingen/modelm/modelm.c +++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c @@ -15,12 +15,11 @@ * along with this program. If not, see . */ #include -#include "modelm.h" +#include "mschwingen.h" #include "uart.h" #include "print.h" #include "sendchar.h" #include "ws2812.h" -#include "modelm.h" #include "sleep_led.h" #ifdef UART_DEBUG @@ -36,7 +35,7 @@ static uint16_t blink_cycle_timer; static bool blink_state = false; static uint8_t isRecording = 0; -#ifdef KEYBOARD_mschwingen_modelm_led_ws2812 +#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 # if RGBLED_NUM < 3 # error we need at least 3 RGB LEDs! # endif @@ -81,7 +80,7 @@ void sleep_led_disable(void) { void sleep_led_enable(void) { suspend_active = true; writePinLow(MODELM_STATUS_LED); -#ifdef KEYBOARD_mschwingen_modelm_led_ws2812 +#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 led[0] = black; led[1] = black; led[2] = black; @@ -90,7 +89,7 @@ void sleep_led_enable(void) { } void keyboard_pre_init_kb(void) { -#ifdef KEYBOARD_mschwingen_modelm_led_ws2812 +#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 ws2812_setleds(led, RGBLED_NUM); #else /* Set status LEDs pins to output and Low (on) */ @@ -116,7 +115,7 @@ void keyboard_pre_init_kb(void) { writePinLow(SR_CLK_PIN); } -#ifdef KEYBOARD_mschwingen_modelm_led_ws2812 +#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812 static void led_update_rgb(void) { if (isRecording && blink_state) { led[0] = white; diff --git a/keyboards/mschwingen/modelm/modelm.h b/keyboards/ibm/model_m/mschwingen/mschwingen.h similarity index 100% rename from keyboards/mschwingen/modelm/modelm.h rename to keyboards/ibm/model_m/mschwingen/mschwingen.h diff --git a/keyboards/mschwingen/modelm/post_rules.mk b/keyboards/ibm/model_m/mschwingen/post_rules.mk similarity index 100% rename from keyboards/mschwingen/modelm/post_rules.mk rename to keyboards/ibm/model_m/mschwingen/post_rules.mk diff --git a/keyboards/mschwingen/modelm/readme.md b/keyboards/ibm/model_m/mschwingen/readme.md similarity index 76% rename from keyboards/mschwingen/modelm/readme.md rename to keyboards/ibm/model_m/mschwingen/readme.md index f4cb3606252..69c5c8b268b 100644 --- a/keyboards/mschwingen/modelm/readme.md +++ b/keyboards/ibm/model_m/mschwingen/readme.md @@ -10,15 +10,15 @@ This is a configuration of QMK intended to be used with the [Model M USB PCB](ht Make example for this keyboard (after setting up your build environment), run one of: - make mschwingen/modelm/led_wired:default - make mschwingen/modelm/led_ffc:default - make mschwingen/modelm/led_ws2812:default + make ibm/model_m/mschwingen/led_wired:default + make ibm/model_m/mschwingen/led_ffc:default + make ibm/model_m/mschwingen/led_ws2812:default flash: - make mschwingen/modelm/led_wired:default:flash - make mschwingen/modelm/led_ffc:default:flash - make mschwingen/modelm/led_ws2812:default:flash + make ibm/model_m/mschwingen/led_wired:default:flash + make ibm/model_m/mschwingen/led_ffc:default:flash + make ibm/model_m/mschwingen/led_ws2812:default:flash Bootloader: do not use the QMK bootloader, use the bootloader from [here](https://github.com/mschwingen/modelm-lufa-bootloader) diff --git a/keyboards/mschwingen/modelm/rules.mk b/keyboards/ibm/model_m/mschwingen/rules.mk similarity index 94% rename from keyboards/mschwingen/modelm/rules.mk rename to keyboards/ibm/model_m/mschwingen/rules.mk index 94830f7a75d..5ccab87d9b6 100644 --- a/keyboards/mschwingen/modelm/rules.mk +++ b/keyboards/ibm/model_m/mschwingen/rules.mk @@ -26,4 +26,4 @@ OPT_DEFS += -DSLEEP_LED_ENABLE # we need our own sleep callbacks to turn of WS28 LTO_ENABLE = yes -DEFAULT_FOLDER = mschwingen/modelm/led_wired +DEFAULT_FOLDER = ibm/model_m/mschwingen/led_wired diff --git a/keyboards/converter/modelm101/config.h b/keyboards/ibm/model_m/teensy2/config.h similarity index 100% rename from keyboards/converter/modelm101/config.h rename to keyboards/ibm/model_m/teensy2/config.h diff --git a/keyboards/converter/modelm101_teensy2/info.json b/keyboards/ibm/model_m/teensy2/info.json similarity index 98% rename from keyboards/converter/modelm101_teensy2/info.json rename to keyboards/ibm/model_m/teensy2/info.json index 86dc44de0e6..19603adb7a5 100644 --- a/keyboards/converter/modelm101_teensy2/info.json +++ b/keyboards/ibm/model_m/teensy2/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "IBM Model M 101/102", "manufacturer": "wangfuco", - "url": "https://github.com/wangfuco/qmk_firmware/tree/modelm101_teensy2/keyboards/converter/modelm101_teensy2", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensy2", "maintainer": "wangfuco", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/modelm101/keymaps/default/keymap.c b/keyboards/ibm/model_m/teensy2/keymaps/default/keymap.c similarity index 100% rename from keyboards/converter/modelm101/keymaps/default/keymap.c rename to keyboards/ibm/model_m/teensy2/keymaps/default/keymap.c diff --git a/keyboards/converter/modelm101/keymaps/default/readme.md b/keyboards/ibm/model_m/teensy2/keymaps/default/readme.md similarity index 100% rename from keyboards/converter/modelm101/keymaps/default/readme.md rename to keyboards/ibm/model_m/teensy2/keymaps/default/readme.md diff --git a/keyboards/converter/modelm101_teensy2/readme.md b/keyboards/ibm/model_m/teensy2/readme.md similarity index 76% rename from keyboards/converter/modelm101_teensy2/readme.md rename to keyboards/ibm/model_m/teensy2/readme.md index d65df72580b..20f10d47914 100644 --- a/keyboards/converter/modelm101_teensy2/readme.md +++ b/keyboards/ibm/model_m/teensy2/readme.md @@ -2,7 +2,7 @@ ![IBM Model M 101 ANSI/102 ISO](https://user-images.githubusercontent.com/46733695/161862805-c891735b-e2e8-418a-ad82-d71c00570eab.jpg) -This is based on the modelm101 keyboard by iw0rm3r. The difference is that Teensy 2.0 board (produced by PJRC) is used instead of the Teensy 2.0++ due to the availability issues. Only CapsLock LED is supported since Teensy 2.0 only has 25 digital I/0 pins. +This is based on the modelm101 teensypp keyboard by iw0rm3r. The difference is that Teensy 2.0 board (produced by PJRC) is used instead of the Teensy++ 2.0 due to the availability issues. Only CapsLock LED is supported since Teensy 2.0 only has 25 digital I/0 pins. Configuration is build for the Atmel ATmega32U4 controller, which you can easily use on the Teensy 2.0 board (produced by PJRC). @@ -18,12 +18,12 @@ Status LEDs: CapsLock +5V ScrollLock NumLock Pins: E6 5V - - ``` -Keyboard Maintainer: [wangfuco](https://github.com/wangfuco) +Keyboard Maintainer: [wangfuco](https://github.com/wangfuco) Hardware Supported: Teensy 2.0 board by PJRC Hardware Availability: https://www.pjrc.com/store/teensy.html Make example for this keyboard (after setting up your build environment): - make converter/modelm101_teensy2:default:teensy + make ibm/model_m/teensy2:default:teensy See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/converter/modelm101_teensy2/rules.mk b/keyboards/ibm/model_m/teensy2/rules.mk similarity index 100% rename from keyboards/converter/modelm101_teensy2/rules.mk rename to keyboards/ibm/model_m/teensy2/rules.mk diff --git a/keyboards/converter/modelm101_teensy2/config.h b/keyboards/ibm/model_m/teensypp/config.h similarity index 100% rename from keyboards/converter/modelm101_teensy2/config.h rename to keyboards/ibm/model_m/teensypp/config.h diff --git a/keyboards/converter/modelm101/info.json b/keyboards/ibm/model_m/teensypp/info.json similarity index 98% rename from keyboards/converter/modelm101/info.json rename to keyboards/ibm/model_m/teensypp/info.json index c59df57e811..dcbed72aebf 100644 --- a/keyboards/converter/modelm101/info.json +++ b/keyboards/ibm/model_m/teensypp/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "IBM Model M 101/102", "manufacturer": "iw0rm3r", - "url": "https://github.com/iw0rm3r/qmk_firmware/tree/modelm101/keyboards/converter/modelm101", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensypp", "maintainer": "iw0rm3r", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/modelm101_teensy2/keymaps/default/keymap.c b/keyboards/ibm/model_m/teensypp/keymaps/default/keymap.c similarity index 100% rename from keyboards/converter/modelm101_teensy2/keymaps/default/keymap.c rename to keyboards/ibm/model_m/teensypp/keymaps/default/keymap.c diff --git a/keyboards/converter/modelm101_teensy2/keymaps/default/readme.md b/keyboards/ibm/model_m/teensypp/keymaps/default/readme.md similarity index 100% rename from keyboards/converter/modelm101_teensy2/keymaps/default/readme.md rename to keyboards/ibm/model_m/teensypp/keymaps/default/readme.md diff --git a/keyboards/converter/modelm101/keymaps/iw0rm3r/config.h b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h similarity index 100% rename from keyboards/converter/modelm101/keymaps/iw0rm3r/config.h rename to keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h diff --git a/keyboards/converter/modelm101/keymaps/iw0rm3r/keymap.c b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c similarity index 100% rename from keyboards/converter/modelm101/keymaps/iw0rm3r/keymap.c rename to keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/keymap.c diff --git a/keyboards/converter/modelm101/keymaps/iw0rm3r/readme.md b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/readme.md similarity index 100% rename from keyboards/converter/modelm101/keymaps/iw0rm3r/readme.md rename to keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/readme.md diff --git a/keyboards/converter/modelm101/readme.md b/keyboards/ibm/model_m/teensypp/readme.md similarity index 79% rename from keyboards/converter/modelm101/readme.md rename to keyboards/ibm/model_m/teensypp/readme.md index 5355c800714..e05d68b81c5 100644 --- a/keyboards/converter/modelm101/readme.md +++ b/keyboards/ibm/model_m/teensypp/readme.md @@ -2,14 +2,14 @@ ![IBM Model M 101 ANSI/102 ISO](https://i.imgur.com/DAE3W7g.jpg) -This is a configuration for the QMK firmware for reversible conversion of IBM's Model M keyboards (common 101-key ANSI and 102-key ISO models) from stock, power-hungry controller, to a modern one, running the USB bus. -Configuration is build for the Atmel AT90USB1286 controller, which you can easily use on the Teensy 2.0++ board (produced by PJRC). +This is a configuration for the QMK firmware for reversible conversion of IBM's Model M keyboards (common 101-key ANSI and 102-key ISO models) from stock, power-hungry controller, to a modern one, running the USB bus. +Configuration is build for the Atmel AT90USB1286 controller, which you can easily use on the Teensy++ 2.0 board (produced by PJRC). Project is heavely based on 2 other projects: -1. Teensy 2.0++-based custom Model M controller running TMK firmware ('modelm" by [lmorchard](https://blog.lmorchard.com/2016/02/21/modelm-controller/)); - had a few issues. -2. Teensy 2.0++-based custom Model M 122-key controller running QMK firmware ("ibm122m" by [lukexorz](https://github.com/lukexorz)); - had wrong layout for 101/102-key boards and no status LED support. +1. Teensy++ 2.0-based custom Model M controller running TMK firmware ('modelm" by [lmorchard](https://blog.lmorchard.com/2016/02/21/modelm-controller/)); - had a few issues. +2. Teensy++ 2.0-based custom Model M 122-key controller running QMK firmware ("ibm122m" by [lukexorz](https://github.com/lukexorz)); - had wrong layout for 101/102-key boards and no status LED support. -For this conversion you will need: -1. Teensy 2.0++ dev board itself (can be used a different dev board, but it will require some changes in configuration); +For this conversion you will need: +1. Teensy++ 2.0 dev board itself (can be used a different dev board, but it will require some changes in configuration); 2. Ribbon connectors to connect the membrane to a dev board. Depending on your Model M variation, you will need 1 Trio-mate 16pin connector (6-520315-6 or 6-520415-6) and 1 Trio-mate 8pin connector (5-120628-8 or 5-520314-8), or 2 Trio-mate 16pin connectors; 3. Full-sized breadboard (without power rails; half-size should do, but full-sized one looks more native) or a PCB to wire everything up; 4. A bunch of jumper wires; @@ -27,16 +27,16 @@ Pins: F7 F6 F5 F4 F3 F2 F1 F0 -------------------------------------------------------- Status LEDs: CapsLock +5V ScrollLock NumLock Pins: B6 5V B5 B4 -``` +``` -Please note that some versions of Model M have LED connected with a ribbon cable, and not with separate wires. +Please note that some versions of Model M have LED connected with a ribbon cable, and not with separate wires. -Keyboard Maintainer: [iw0rm3r](https://github.com/iw0rm3r) -Hardware Supported: Teensy 2.0++ board by PJRC -Hardware Availability: https://www.pjrc.com/store/teensypp.html +* Keyboard Maintainer: [iw0rm3r](https://github.com/iw0rm3r) +* Hardware Supported: Teensy++ 2.0 board by PJRC +* Hardware Availability: https://www.pjrc.com/store/teensypp.html Make example for this keyboard (after setting up your build environment): - make converter/modelm101:default:teensy + make ibm/model_m/teensypp:default:teensy See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/converter/modelm101/rules.mk b/keyboards/ibm/model_m/teensypp/rules.mk similarity index 100% rename from keyboards/converter/modelm101/rules.mk rename to keyboards/ibm/model_m/teensypp/rules.mk diff --git a/keyboards/converter/modelm101/modelm101.c b/keyboards/ibm/model_m/teensypp/teensypp.c similarity index 100% rename from keyboards/converter/modelm101/modelm101.c rename to keyboards/ibm/model_m/teensypp/teensypp.c diff --git a/keyboards/yugo_m/model_m_101/config.h b/keyboards/ibm/model_m/yugo_m/config.h similarity index 100% rename from keyboards/yugo_m/model_m_101/config.h rename to keyboards/ibm/model_m/yugo_m/config.h diff --git a/keyboards/yugo_m/model_m_101/info.json b/keyboards/ibm/model_m/yugo_m/info.json similarity index 99% rename from keyboards/yugo_m/model_m_101/info.json rename to keyboards/ibm/model_m/yugo_m/info.json index 9c1aeb0ac9c..6e3a0b39c61 100644 --- a/keyboards/yugo_m/model_m_101/info.json +++ b/keyboards/ibm/model_m/yugo_m/info.json @@ -1,7 +1,7 @@ { - "keyboard_name": "Yugo-M (Model M replacment controller)", + "keyboard_name": "Yugo-M (IBM Model M replacment controller)", "manufacturer": "IBM", - "url": "https://github.com/tomic1785/qmk_firmware/tree/stm32_model_m/keyboards/yugo_m/model_m_101", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/yugo_m", "maintainer": "Nidzo Tomic", "usb": { "vid": "0xFEED", diff --git a/keyboards/yugo_m/model_m_101/keymaps/default/keymap.c b/keyboards/ibm/model_m/yugo_m/keymaps/default/keymap.c similarity index 100% rename from keyboards/yugo_m/model_m_101/keymaps/default/keymap.c rename to keyboards/ibm/model_m/yugo_m/keymaps/default/keymap.c diff --git a/keyboards/yugo_m/model_m_101/keymaps/default/readme.md b/keyboards/ibm/model_m/yugo_m/keymaps/default/readme.md similarity index 100% rename from keyboards/yugo_m/model_m_101/keymaps/default/readme.md rename to keyboards/ibm/model_m/yugo_m/keymaps/default/readme.md diff --git a/keyboards/yugo_m/model_m_101/readme.md b/keyboards/ibm/model_m/yugo_m/readme.md similarity index 96% rename from keyboards/yugo_m/model_m_101/readme.md rename to keyboards/ibm/model_m/yugo_m/readme.md index 7c14dea8042..87ca8354fb9 100644 --- a/keyboards/yugo_m/model_m_101/readme.md +++ b/keyboards/ibm/model_m/yugo_m/readme.md @@ -12,7 +12,7 @@ A drop-in replacement controller PCB for IBM Model M keyboards, based on the STM Make example for this keyboard (after setting up your build environment): - make yugo_m/model_m_101:default + make ibm/model_m/yugo_m:default See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). @@ -22,4 +22,4 @@ Note regarding 2022 matrix update: The original author's firmware did not make several lesser-used membrane/matrix positions available to the controller. These are useful for JIS users and/or if you simply want to create a more unique layout. I've added all of the unused membrane positions to the firmware, except for an extremely seldom used one that sits in the left side of the space bar on some later membranes (I would have added it if I knew its matrix position, but I haven't mapped that out yet). The default mappings for these additional keys follow JIS conventions, except for the extra key on the bottom right corner of the numpad (lower half of vertical 2u Enter), which I've mapped to the LGUI key a.k.a. left Windows/Command key for now. Remap as you wish! -- an_achronism, February 2022 \ No newline at end of file +- an_achronism, February 2022 diff --git a/keyboards/yugo_m/model_m_101/rules.mk b/keyboards/ibm/model_m/yugo_m/rules.mk similarity index 100% rename from keyboards/yugo_m/model_m_101/rules.mk rename to keyboards/ibm/model_m/yugo_m/rules.mk diff --git a/keyboards/yugo_m/model_m_101/model_m_101.c b/keyboards/ibm/model_m/yugo_m/yugo_m.c similarity index 99% rename from keyboards/yugo_m/model_m_101/model_m_101.c rename to keyboards/ibm/model_m/yugo_m/yugo_m.c index 87e681d8e09..542043d5dc6 100644 --- a/keyboards/yugo_m/model_m_101/model_m_101.c +++ b/keyboards/ibm/model_m/yugo_m/yugo_m.c @@ -20,7 +20,7 @@ void keyboard_pre_init_kb(void) { setPinOutput(A2); setPinOutput(A1); setPinOutput(A0); - + keyboard_pre_init_user(); } diff --git a/keyboards/handwired/ibm122m/config.h b/keyboards/ibm/model_m_122/ibm122m/config.h similarity index 100% rename from keyboards/handwired/ibm122m/config.h rename to keyboards/ibm/model_m_122/ibm122m/config.h diff --git a/keyboards/handwired/ibm122m/info.json b/keyboards/ibm/model_m_122/ibm122m/info.json similarity index 98% rename from keyboards/handwired/ibm122m/info.json rename to keyboards/ibm/model_m_122/ibm122m/info.json index 8dbdbb9fb50..54b0e9badea 100644 --- a/keyboards/handwired/ibm122m/info.json +++ b/keyboards/ibm/model_m_122/ibm122m/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "IBM Model M 122 key", "manufacturer": "IBM", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m_122/ibm122m", "maintainer": "qmk", "usb": { "vid": "0xFEED", diff --git a/keyboards/handwired/ibm122m/keymaps/andresteare/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/andresteare/keymap.c similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/andresteare/keymap.c rename to keyboards/ibm/model_m_122/ibm122m/keymaps/andresteare/keymap.c diff --git a/keyboards/handwired/ibm122m/keymaps/default/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/default/config.h rename to keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h diff --git a/keyboards/handwired/ibm122m/keymaps/default/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/default/keymap.c similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/default/keymap.c rename to keyboards/ibm/model_m_122/ibm122m/keymaps/default/keymap.c diff --git a/keyboards/handwired/ibm122m/keymaps/default/readme.md b/keyboards/ibm/model_m_122/ibm122m/keymaps/default/readme.md similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/default/readme.md rename to keyboards/ibm/model_m_122/ibm122m/keymaps/default/readme.md diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/lukaus/config.h rename to keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/lukaus/keymap.c rename to keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/keymap.c diff --git a/keyboards/handwired/ibm122m/keymaps/lukaus/readme.md b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/readme.md similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/lukaus/readme.md rename to keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/readme.md diff --git a/keyboards/handwired/ibm122m/keymaps/via/keymap.c b/keyboards/ibm/model_m_122/ibm122m/keymaps/via/keymap.c similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/via/keymap.c rename to keyboards/ibm/model_m_122/ibm122m/keymaps/via/keymap.c diff --git a/keyboards/handwired/ibm122m/keymaps/via/rules.mk b/keyboards/ibm/model_m_122/ibm122m/keymaps/via/rules.mk similarity index 100% rename from keyboards/handwired/ibm122m/keymaps/via/rules.mk rename to keyboards/ibm/model_m_122/ibm122m/keymaps/via/rules.mk diff --git a/keyboards/ibm/model_m_122/ibm122m/readme.md b/keyboards/ibm/model_m_122/ibm122m/readme.md new file mode 100644 index 00000000000..87b145cd5ba --- /dev/null +++ b/keyboards/ibm/model_m_122/ibm122m/readme.md @@ -0,0 +1,31 @@ +# ibm122m + +![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqz.jpg) + +This is a keymap for the IBM Model M 122 key terminal keyboard running on a Teensy++ 2.0 +I wired it to weird pins on mine (mainly to accomodate two speakers), so make sure to update the pin arrays. + +* Keyboard Maintainer: [Luke Stanley](https://github.com/lukexorz) +* Hardware Supported: Teensy++ 2.0 +* Hardware Availability: https://www.pjrc.com/store/teensypp.html + +Pins of the Teensy board you should use by default: +``` +Columns: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 +Pins: E6 B7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 C0 C1 C2 C3 C4 C5 C7 F1 +-------------------------------------------------------- +Rows: 1 2 3 4 5 6 7 8 +Pins: F0 B5 B4 B3 B2 B1 B0 E7 +-------------------------------------------------------- +Status LEDs: CapsLock +5V ScrollLock NumLock +Pins: N/A 5V N/A N/A +-------------------------------------------------------- +Speaker: 1+ 1- 2+ 2- +Pins: C6 GND B6 GND +``` + +Make example for this keyboard (after setting up your build environment): + + make ibm/model_m_122/ibm122m:default + +See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. diff --git a/keyboards/handwired/ibm122m/rules.mk b/keyboards/ibm/model_m_122/ibm122m/rules.mk similarity index 100% rename from keyboards/handwired/ibm122m/rules.mk rename to keyboards/ibm/model_m_122/ibm122m/rules.mk diff --git a/keyboards/tronguylabs/m122_3270/blackpill/info.json b/keyboards/ibm/model_m_122/m122_3270/blackpill/info.json similarity index 100% rename from keyboards/tronguylabs/m122_3270/blackpill/info.json rename to keyboards/ibm/model_m_122/m122_3270/blackpill/info.json diff --git a/keyboards/tronguylabs/m122_3270/blackpill/readme.md b/keyboards/ibm/model_m_122/m122_3270/blackpill/readme.md similarity index 100% rename from keyboards/tronguylabs/m122_3270/blackpill/readme.md rename to keyboards/ibm/model_m_122/m122_3270/blackpill/readme.md diff --git a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk b/keyboards/ibm/model_m_122/m122_3270/blackpill/rules.mk similarity index 100% rename from keyboards/tronguylabs/m122_3270/blackpill/rules.mk rename to keyboards/ibm/model_m_122/m122_3270/blackpill/rules.mk diff --git a/keyboards/tronguylabs/m122_3270/bluepill/info.json b/keyboards/ibm/model_m_122/m122_3270/bluepill/info.json similarity index 100% rename from keyboards/tronguylabs/m122_3270/bluepill/info.json rename to keyboards/ibm/model_m_122/m122_3270/bluepill/info.json diff --git a/keyboards/tronguylabs/m122_3270/bluepill/readme.md b/keyboards/ibm/model_m_122/m122_3270/bluepill/readme.md similarity index 100% rename from keyboards/tronguylabs/m122_3270/bluepill/readme.md rename to keyboards/ibm/model_m_122/m122_3270/bluepill/readme.md diff --git a/keyboards/tronguylabs/m122_3270/bluepill/rules.mk b/keyboards/ibm/model_m_122/m122_3270/bluepill/rules.mk similarity index 100% rename from keyboards/tronguylabs/m122_3270/bluepill/rules.mk rename to keyboards/ibm/model_m_122/m122_3270/bluepill/rules.mk diff --git a/keyboards/tronguylabs/m122_3270/info.json b/keyboards/ibm/model_m_122/m122_3270/info.json similarity index 98% rename from keyboards/tronguylabs/m122_3270/info.json rename to keyboards/ibm/model_m_122/m122_3270/info.json index 364ab250dcc..9b7a78c7f71 100644 --- a/keyboards/tronguylabs/m122_3270/info.json +++ b/keyboards/ibm/model_m_122/m122_3270/info.json @@ -1,6 +1,7 @@ { "keyboard_name": "Model M PC/3270 122 key", "manufacturer": "IBM", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m_122/m122_3270", "maintainer": "jmaynard", "usb": { "vid": "0x1209", diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c b/keyboards/ibm/model_m_122/m122_3270/keymaps/default/keymap.c similarity index 100% rename from keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c rename to keyboards/ibm/model_m_122/m122_3270/keymaps/default/keymap.c diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md b/keyboards/ibm/model_m_122/m122_3270/keymaps/default/readme.md similarity index 100% rename from keyboards/tronguylabs/m122_3270/keymaps/default/readme.md rename to keyboards/ibm/model_m_122/m122_3270/keymaps/default/readme.md diff --git a/keyboards/ibm/model_m_122/m122_3270/readme.md b/keyboards/ibm/model_m_122/m122_3270/readme.md new file mode 100644 index 00000000000..14b8684897a --- /dev/null +++ b/keyboards/ibm/model_m_122/m122_3270/readme.md @@ -0,0 +1,33 @@ +# m122-3270 + +![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqzh.jpg) + +This is a replacement controller for the IBM Model M 122 key terminal keyboard +running on a STM32F411 BlackPill, intended to act as closely to the 3270 +keyboard's functioning as possible while still being usable on a PC. + +* Keyboard Maintainer: [Jay Maynard](https://github.com/jmaynard) +* Hardware Supported: BlackPill STM32F411, Teensy++ 2.0 +* Hardware Availability: [BlackPill](https://www.adafruit.com/product/4877), [Teensy](https://www.pjrc.com/store/teensypp.html) + +Make example for this keyboard (after setting up your build environment): + + make ibm/model_m_122/m122_3270/blackpill:default + make ibm/model_m_122/m122_3270/bluepill:default + make ibm/model_m_122/m122_3270/teensy:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) +and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) +for more information. Brand new to QMK? Start with our +[Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +A schematic and Gerber files are publicly available for those wishing to have +carrier boards made professionally instead of handwiring things. The M122 +matrix connectors plug right into it. It can be found at +https://github.com/jmaynard/tronguylabs-m122-blackpill. + +This is derived from Luke Stanley's handwired/ibm122m keyboard, with my own +keymapping and rework of the I/O for the BlackPill. There's also a version for +the Teensy++ 2.0, since that was my original design and I still use one on one +board, even though I switched to the BlackPill for future-proofing. +The Teensy++ 2.0 is not recommended for new designs. diff --git a/keyboards/tronguylabs/m122_3270/teensy/info.json b/keyboards/ibm/model_m_122/m122_3270/teensy/info.json similarity index 100% rename from keyboards/tronguylabs/m122_3270/teensy/info.json rename to keyboards/ibm/model_m_122/m122_3270/teensy/info.json diff --git a/keyboards/tronguylabs/m122_3270/teensy/readme.md b/keyboards/ibm/model_m_122/m122_3270/teensy/readme.md similarity index 100% rename from keyboards/tronguylabs/m122_3270/teensy/readme.md rename to keyboards/ibm/model_m_122/m122_3270/teensy/readme.md diff --git a/keyboards/tronguylabs/m122_3270/teensy/rules.mk b/keyboards/ibm/model_m_122/m122_3270/teensy/rules.mk similarity index 100% rename from keyboards/tronguylabs/m122_3270/teensy/rules.mk rename to keyboards/ibm/model_m_122/m122_3270/teensy/rules.mk diff --git a/keyboards/ibm/model_m_122/readme.md b/keyboards/ibm/model_m_122/readme.md new file mode 100644 index 00000000000..0f11f3cf99a --- /dev/null +++ b/keyboards/ibm/model_m_122/readme.md @@ -0,0 +1,24 @@ +# IBM Model M Terminal with 122 keys + +This is the parent directory for all projects that replace the controller +of IBM's Model M terminal keyboard with 122 keys and then run QMK on it. + +These controllers differ in their use of microcontrollers, connection (mainly +USB) optional speakers etc. + +Some of them can be bought fully assembled others are do-it-yourself. + +## Warning - Model M Variants + +**Not all of these projects will fit into your keyboard!** + +As the Model M was produced over several years there are many variants of the +controller PCB. Check what fits your keyboard before you build/order one. + +The variants built for PCs differ in: +* PCB size +* Connectors (8/12 pin flex, location) +* Ground wire connector location + +Additionally IBM built Model M variants with 101/102 keys, the +space saving keyboard (SSK, 84-key) etc. diff --git a/keyboards/ibm/model_m_ssk/readme.md b/keyboards/ibm/model_m_ssk/readme.md new file mode 100644 index 00000000000..aa9ee490c4c --- /dev/null +++ b/keyboards/ibm/model_m_ssk/readme.md @@ -0,0 +1,24 @@ +# IBM Model M Space Saving Keyboard (SSK, 84-key) + +This is the parent directory for all projects that replace the controller +of IBM's Model M space saving keyboard keyboard with 84 keys and then run QMK on it. + +These controllers differ in their use of microcontrollers, connection (mainly +USB) optional speakers etc. + +Some of them can be bought fully assembled others are do-it-yourself. + +## Warning - Model M Variants + +**Not all of these projects will fit into your keyboard!** + +As the Model M was produced over several years there are many variants of the +controller PCB. Check what fits your keyboard before you build/order one. + +The variants built for PCs differ in: +* PCB size +* Connectors (8/12 pin flex, location) +* Ground wire connector location + +Additionally IBM built Model M variants with 101/102 keys, the +terminal keyboard with 122 keys etc. diff --git a/keyboards/converter/modelm_ssk/config.h b/keyboards/ibm/model_m_ssk/teensypp_ssk/config.h similarity index 100% rename from keyboards/converter/modelm_ssk/config.h rename to keyboards/ibm/model_m_ssk/teensypp_ssk/config.h diff --git a/keyboards/converter/modelm_ssk/info.json b/keyboards/ibm/model_m_ssk/teensypp_ssk/info.json similarity index 98% rename from keyboards/converter/modelm_ssk/info.json rename to keyboards/ibm/model_m_ssk/teensypp_ssk/info.json index ff2c6cc2177..fbc3076c472 100644 --- a/keyboards/converter/modelm_ssk/info.json +++ b/keyboards/ibm/model_m_ssk/teensypp_ssk/info.json @@ -1,7 +1,7 @@ { "keyboard_name": "IBM Model M Space-Saving Keyboard", "manufacturer": "tiltowait", - "url": "https://github.com/tiltowait/qmk_firmware/tree/modelm_ssk/keyboards/converter/modelm_ssk", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m_ssk/teensypp_ssk", "maintainer": "tiltowait", "usb": { "vid": "0xFEED", diff --git a/keyboards/converter/modelm_ssk/keymaps/default/keymap.c b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/default/keymap.c similarity index 100% rename from keyboards/converter/modelm_ssk/keymaps/default/keymap.c rename to keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/default/keymap.c diff --git a/keyboards/converter/modelm_ssk/keymaps/default/readme.md b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/default/readme.md similarity index 100% rename from keyboards/converter/modelm_ssk/keymaps/default/readme.md rename to keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/default/readme.md diff --git a/keyboards/converter/modelm_ssk/keymaps/tiltowait/config.h b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/config.h similarity index 100% rename from keyboards/converter/modelm_ssk/keymaps/tiltowait/config.h rename to keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/config.h diff --git a/keyboards/converter/modelm_ssk/keymaps/tiltowait/keymap.c b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/keymap.c similarity index 100% rename from keyboards/converter/modelm_ssk/keymaps/tiltowait/keymap.c rename to keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/keymap.c diff --git a/keyboards/converter/modelm_ssk/keymaps/tiltowait/readme.md b/keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/readme.md similarity index 100% rename from keyboards/converter/modelm_ssk/keymaps/tiltowait/readme.md rename to keyboards/ibm/model_m_ssk/teensypp_ssk/keymaps/tiltowait/readme.md diff --git a/keyboards/converter/modelm_ssk/readme.md b/keyboards/ibm/model_m_ssk/teensypp_ssk/readme.md similarity index 88% rename from keyboards/converter/modelm_ssk/readme.md rename to keyboards/ibm/model_m_ssk/teensypp_ssk/readme.md index 8105a0c2dfd..14c0e93dbd5 100644 --- a/keyboards/converter/modelm_ssk/readme.md +++ b/keyboards/ibm/model_m_ssk/teensypp_ssk/readme.md @@ -2,11 +2,11 @@ ![IBM Model M Space-Saving Keyboard](https://i.imgur.com/CSXrQI5.jpg) -This is a QMK firmware configuration for the IBM Model M Space-Saving Keyboard (SSK). Based on [this project](https://github.com/qmk/qmk_firmware/tree/master/keyboards/converter/modelm101), it features a few slight improvements and, most importantly, a full remapping to match the SSK's matrix, which differs from its full-sized cousins. The modification is easily reversible, as no part of the keyboard is permanently changed. Just take out the replacement controller and reinstall the original, should you desire. +This is a QMK firmware configuration for the IBM Model M Space-Saving Keyboard (SSK). Based on [this project](https://github.com/qmk/qmk_firmware/tree/master/keyboards/ibm/model_m/teensypp), it features a few slight improvements and, most importantly, a full remapping to match the SSK's matrix, which differs from its full-sized cousins. The modification is easily reversible, as no part of the keyboard is permanently changed. Just take out the replacement controller and reinstall the original, should you desire. The numpad layer (accessed with Shift + Scroll Lock as with the original controller) is mapped to layer 7 by default. All non-numpad keys are transparent. -**Note:** As of this writing, this configuration has only been tested on the 1392464 SSK. It's possible other models differ in their internal matrices. Should the provided matrix not work for you (and you are certain of your connections), you can enable debugging with `CONSOLE_ENABLE = yes` in `rules.mk` and by following the directions in `default/keymap.c`. Once done, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) will display row/col information to help you remap `modelm_ssk.h`. +**Note:** As of this writing, this configuration has only been tested on the 1392464 SSK. It's possible other models differ in their internal matrices. Should the provided matrix not work for you (and you are certain of your connections), you can enable debugging with `CONSOLE_ENABLE = yes` in `rules.mk` and by following the directions in `default/keymap.c`. Once done, [QMK Toolbox](https://github.com/qmk/qmk_toolbox) will display row/col information to help you remap `keymap.c`. ## Requirements @@ -48,7 +48,7 @@ This configuration will not work out of the box with the [Unicomp Mini M](https: Make example for this keyboard (after setting up your build environment): - make converter/modelm_ssk:default + make ibm/model_m_ssk/teensypp_ssk:default You must press the button on the Teensy to enter the bootloader the first time. Afterward, so long as you keep `COMMAND_ENABLE = yes` in `rules.mk` (enabled by default), you can use `Left Shift + Right Shift + B` to enter the bootloader. With this method, you can omit `:teensy` from the end of the `make` command. diff --git a/keyboards/converter/modelm_ssk/rules.mk b/keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk similarity index 100% rename from keyboards/converter/modelm_ssk/rules.mk rename to keyboards/ibm/model_m_ssk/teensypp_ssk/rules.mk diff --git a/keyboards/tronguylabs/m122_3270/readme.md b/keyboards/tronguylabs/m122_3270/readme.md deleted file mode 100644 index 1dd1580bcd3..00000000000 --- a/keyboards/tronguylabs/m122_3270/readme.md +++ /dev/null @@ -1,22 +0,0 @@ -# m122-3270 - -![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqzh.jpg) - -This is a replacement controller for the IBM Model M 122 key terminal keyboard running on a STM32F411 BlackPill, intended to act as closely to the 3270 keyboard's functioning as possible while still being usable on a PC. - -* Keyboard Maintainer: [Jay Maynard](https://github.com/jmaynard) -* Hardware Supported: BlackPill STM32F411, Teensy++ 2.0 -* Hardware Availability: [BlackPill](https://www.adafruit.com/product/4877), [Teensy](https://www.pjrc.com/store/teensypp.html) - -Make example for this keyboard (after setting up your build environment): - - make tronguylabs/m122_3270/blackpill:default - make tronguylabs/m122_3270/teensy:default - -See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). - -A schematic and Gerber files are publicly available for those wishing to have carrier boards made -professionally instead of handwiring things. The M122 matrix connectors plug right into it. It can -be found at https://github.com/jmaynard/tronguylabs-m122-blackpill. - -This is derived from Luke Stanley's handwired/ibm122m keyboard, with my own keymapping and rework of the I/O for the BlackPill. There's also a version for the Teensy++ 2.0, since that was my original design and I still use one on one board, even though I switched to the BlackPill for future-proofing. The Teensy++ 2.0 is not recommended for new designs. diff --git a/keyboards/yugo_m/readme.md b/keyboards/yugo_m/readme.md deleted file mode 100644 index 40c7b640735..00000000000 --- a/keyboards/yugo_m/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# Yugo-M - An STM32-based IBM Model M controller - -A drop-in replacement controller PCB for IBM Model M keyboards. -Currently available only for 101/102 key keyboards. - -* Keyboard Maintainer: [Nidzo Tomic](https://github.com/tomic1785) -* Hardware Supported: Yugo-M PCB - * Rev 0.9b - * Rev 1.1b - -For more info visit the project repository: [Yugo-M-controller-project](https://github.com/tomic1785/Yugo-M-controller-project) - - - -Note regarding 2022 matrix update: - -The original author's firmware did not make several lesser-used membrane/matrix positions available to the controller. These are useful for JIS users and/or if you simply want to create a more unique layout. I've added all of the unused membrane positions to the firmware, except for an extremely seldom used one that sits in the left side of the space bar on some later membranes (I would have added it if I knew its matrix position, but I haven't mapped that out yet). The default mappings for these additional keys follow JIS conventions, except for the extra key on the bottom right corner of the numpad (lower half of vertical 2u Enter), which I've mapped to the LGUI key a.k.a. left Windows/Command key for now. Remap as you wish! - -- an_achronism, February 2022 \ No newline at end of file