qmk_firmware/keyboards/handwired/retro_refit
James Young 4b453dca92
Remove MIDI Configuration boilerplate (#11151)
* remove keyboard-level instances of `MIDI_ENABLE = no`

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e  '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} +
```

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* fix case-sensitivity issues on MIDI_ENABLE

Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} +
```

* replace `# MIDI controls` with `# MIDI support`

Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} +
```

* align inline comments

Aligns the inline comments to the length used by the QMK AVR rules.mk template.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes           # MIDI support;g'  {} +
```

* remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} +
```

* remove MIDI configuration boilerplate from keyboard config.h files

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 06:51:13 +10:00
..
keymaps/default
config.h
info.json
readme.md
retro_refit.c
retro_refit.h
rules.mk

retro_refit

The retro refit keyboard used a Teensy to replace the original controller on a 386 "laptop".

Image Gallery

This keyboard uses a LAYOUT macro that is a great example of using a non-standard row-column matrix. The keyboard in question had 11 rows and 8 columns, but the rows were not all horizontal, and the columns were not all vertical. For example, row 2 contained "Print Screen", "N", "M", ",", ".", "/", "Right Shift", and"Left Alt". Column 0 contained "F6", "7", "O", "'", "Q", "D", "B", "Left Alt", "Up Arrow", and "Down Arrow".

The macro makes programming the keys easier and in a more straight-forward manner because it realigns the keys into a 6x15 sensible keyboard layout instead of the obtuse 11x8 matrix. Each Kxy corresponds to a key in row x column y.

#define LAYOUT( \
  K77, K05, K04, K03, K02, K01, K00, KA7, KA6, KA5, KA4, KA3, KA2, K11, K94, \
  K27, K76, K75, K74, K73, K72, K71, K70, K67, K66, K65, K64, K63, K62, KA1, \
  K61, K60, K57, K56, K55, K54, K53, K52, K51, K50, K47, K46, K45,      K97, \
  K43, K42, K41, K40, K37, K36, K35, K34, K33, K32, K31, K30,      K44, K87, \
  K26,      K24, K23, K22, K21, K20, K17, K16, K15, K14, K13, K12, KA0, K91, \
  K10, K06, K25,                K07,                K86, K85, K95, K90, K93  \
) { \
  {  K00,    K01,    K02,    K03,    K04,    K05,  K06,    K07  }, \
  {  K10,    K11,    K12,    K13,    K14,    K15,  K16,    K17  }, \
  {  K20,    K21,    K22,    K23,    K24,    K25,  K26,    K27  }, \
  {  K30,    K31,    K32,    K33,    K34,    K35,  K36,    K37  }, \
  {  K40,    K41,    K42,    K43,    K44,    K45,  K46,    K47  }, \
  {  K50,    K51,    K52,    K53,    K54,    K55,  K56,    K57  }, \
  {  K60,    K61,    K62,    K63,    K64,    K65,  K66,    K67  }, \
  {  K70,    K71,    K72,    K73,    K74,    K75,  K76,    K77  }, \
  {  KC_NO,  KC_NO,  KC_NO,  KC_NO,  KC_NO,  K85,  K86,    K87  }, \
  {  K90,    K91,    KC_NO,  K93,    K94,    K95,  KC_NO,  K97  }, \
  {  KA0,    KA1,    KA2,    KA3,    KA4,    KA5,  KA6,    KA7  } \
}

Keyboard Maintainer: The QMK Community
Hardware Supported: Leading Edge D3 386 keyboard, Teensy

Make example for this keyboard (after setting up your build environment):

make handwired/retro_refit:default

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.