forked from forks/qmk_firmware
Consolidate modelm v2 (#14996)
Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
This commit is contained in:
parent
e759230706
commit
f98f8eedf0
|
@ -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"
|
||||
},
|
||||
|
|
21
docs/ChangeLog/20230528/PR14996.md
Normal file
21
docs/ChangeLog/20230528/PR14996.md
Normal file
|
@ -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
|
|
@ -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.
|
|
@ -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",
|
|
@ -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).
|
24
keyboards/ibm/model_m/modelm/readme.md
Normal file
24
keyboards/ibm/model_m/modelm/readme.md
Normal file
|
@ -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.
|
|
@ -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
|
|
@ -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",
|
21
keyboards/ibm/model_m/mschwingen/led_ffc/readme.md
Normal file
21
keyboards/ibm/model_m/mschwingen/led_ffc/readme.md
Normal file
|
@ -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).
|
21
keyboards/ibm/model_m/mschwingen/led_wired/readme.md
Normal file
21
keyboards/ibm/model_m/mschwingen/led_wired/readme.md
Normal file
|
@ -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).
|
21
keyboards/ibm/model_m/mschwingen/led_ws2812/readme.md
Normal file
21
keyboards/ibm/model_m/mschwingen/led_ws2812/readme.md
Normal file
|
@ -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).
|
|
@ -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);
|
|
@ -15,12 +15,11 @@
|
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <util/delay.h>
|
||||
#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;
|
|
@ -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)
|
||||
|
|
@ -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
|
|
@ -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",
|
|
@ -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).
|
|
@ -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",
|
|
@ -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).
|
|
@ -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",
|
|
@ -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
|
||||
- an_achronism, February 2022
|
|
@ -20,7 +20,7 @@ void keyboard_pre_init_kb(void) {
|
|||
setPinOutput(A2);
|
||||
setPinOutput(A1);
|
||||
setPinOutput(A0);
|
||||
|
||||
|
||||
keyboard_pre_init_user();
|
||||
}
|
||||
|
|
@ -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",
|
31
keyboards/ibm/model_m_122/ibm122m/readme.md
Normal file
31
keyboards/ibm/model_m_122/ibm122m/readme.md
Normal file
|
@ -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.
|
|
@ -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",
|
33
keyboards/ibm/model_m_122/m122_3270/readme.md
Normal file
33
keyboards/ibm/model_m_122/m122_3270/readme.md
Normal file
|
@ -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.
|
24
keyboards/ibm/model_m_122/readme.md
Normal file
24
keyboards/ibm/model_m_122/readme.md
Normal file
|
@ -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.
|
24
keyboards/ibm/model_m_ssk/readme.md
Normal file
24
keyboards/ibm/model_m_ssk/readme.md
Normal file
|
@ -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.
|
|
@ -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",
|
|
@ -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.
|
||||
|
|
@ -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.
|
|
@ -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
|
Loading…
Reference in a new issue