qmk_firmware/keyboards/handwired/retro_refit
Ryan 76cc7fe109
Move matrix config to info.json, part 6 (#20019)
2023-03-11 00:32:05 +11:00
..
keymaps/default
config.h
info.json
readme.md
retro_refit.c
retro_refit.h
rules.mk

readme.md

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.