]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/handwired/retro_refit/readme.md
Merge branch 'master' into coderkun_neo2
[qmk_firmware.git] / keyboards / handwired / retro_refit / readme.md
1 retro_refit keyboard firmware
2 ======================
3
4 ## Keyboard Info
5
6 The retro refit keyboard used a Teensy to replace the original controller on a 386 "laptop".
7
8 http://imgur.com/a/08Fyj
9
10 This keyboard uses a KEYMAP 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".
11
12 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 corrisponds to a key in row x column y.
13
14 ```
15 #define KEYMAP( \
16         K77, K05, K04, K03, K02, K01, K00, KA7, KA6, KA5, KA4, KA3, KA2, K11, K94, \
17         K27, K76, K75, K74, K73, K72, K71, K70, K67, K66, K65, K64, K63, K62, KA1, \
18         K61, K60, K57, K56, K55, K54, K53, K52, K51, K50, K47, K46, K45,      K97, \
19         K43, K42, K41, K40, K37, K36, K35, K34, K33, K32, K31, K30,      K44, K87, \
20         K26,      K24, K23, K22, K21, K20, K17, K16, K15, K14, K13, K12, KA0, K91, \
21         K10, K06, K25,                K07,                K86, K85, K95, K90, K93  \
22 ) { \
23 {       KC_##K00,       KC_##K01,       KC_##K02,       KC_##K03,       KC_##K04,       KC_##K05,       KC_##K06,       KC_##K07,       }, \
24 {       KC_##K10,       KC_##K11,       KC_##K12,       KC_##K13,       KC_##K14,       KC_##K15,       KC_##K16,       KC_##K17,       }, \
25 {       KC_##K20,       KC_##K21,       KC_##K22,       KC_##K23,       KC_##K24,       KC_##K25,       KC_##K26,       KC_##K27,       }, \
26 {       KC_##K30,       KC_##K31,       KC_##K32,       KC_##K33,       KC_##K34,       KC_##K35,       KC_##K36,       KC_##K37,       }, \
27 {       KC_##K40,       KC_##K41,       KC_##K42,       KC_##K43,       KC_##K44,       KC_##K45,       KC_##K46,       KC_##K47,       }, \
28 {       KC_##K50,       KC_##K51,       KC_##K52,       KC_##K53,       KC_##K54,       KC_##K55,       KC_##K56,       KC_##K57,       }, \
29 {       KC_##K60,       KC_##K61,       KC_##K62,       KC_##K63,       KC_##K64,       KC_##K65,       KC_##K66,       KC_##K67,       }, \
30 {       KC_##K70,       KC_##K71,       KC_##K72,       KC_##K73,       KC_##K74,       KC_##K75,       KC_##K76,       KC_##K77,       }, \
31 {       KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_NO,          KC_##K85,       KC_##K86,       KC_##K87,       }, \
32 {       KC_##K90,       KC_##K91,       KC_NO,          KC_##K93,       KC_##K94,       KC_##K95,       KC_NO,          KC_##K97,       }, \
33 {       KC_##KA0,       KC_##KA1,       KC_##KA2,       KC_##KA3,       KC_##KA4,       KC_##KA5,       KC_##KA6,       KC_##KA7,       }  \
34 }
35 ```
36
37
38 ## Quantum MK Firmware
39
40 For the full Quantum feature list, see [the parent readme.md](/readme.md).
41
42 ## Building
43
44 Download or clone the whole firmware and navigate to the keyboards/retro_refit folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
45
46 Depending on which keymap you would like to use, you will have to compile slightly differently.
47
48 ### Default
49 To build with the default keymap, simply run `make default`.
50
51 ### Other Keymaps
52 Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `<name>.c` and see keymap document (you can find in top readme.md) and existent keymap files.
53
54 To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
55
56 ```
57 $ make [default|jack|<name>]
58 ```
59
60 Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.