From 8c3ff3f32c49c649ef6632d10f8fb15ef60d990d Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 4 Mar 2020 09:10:39 +1100 Subject: [Keyboard] LFK78 refactor (#7835) * Change include guards to pragma once * Clean up default keymaps * Remove some magic numbers and use GPIO macros * Clean up keyboard.[ch] * Tidy up info.json and readme * Align config.h with template * Split up revision code into subfolders * rev C-H has no audio, apparently * Change revc_h to revc and document differences * Turn off Audio on revb for now, for Travis' sake * Split info.json into revision folders * Clean up default keymaps some more --- keyboards/lfkeyboards/lfk78/revj/config.h | 21 ++ keyboards/lfkeyboards/lfk78/revj/info.json | 392 +++++++++++++++++++++++++++++ keyboards/lfkeyboards/lfk78/revj/revj.h | 76 ++++++ keyboards/lfkeyboards/lfk78/revj/rules.mk | 4 + 4 files changed, 493 insertions(+) create mode 100644 keyboards/lfkeyboards/lfk78/revj/config.h create mode 100644 keyboards/lfkeyboards/lfk78/revj/info.json create mode 100644 keyboards/lfkeyboards/lfk78/revj/revj.h create mode 100644 keyboards/lfkeyboards/lfk78/revj/rules.mk (limited to 'keyboards/lfkeyboards/lfk78/revj') diff --git a/keyboards/lfkeyboards/lfk78/revj/config.h b/keyboards/lfkeyboards/lfk78/revj/config.h new file mode 100644 index 0000000000..1a62dfe4f3 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/revj/config.h @@ -0,0 +1,21 @@ +#pragma once + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 18 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { D2, D3, D4, D5, D6 } +#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A5, A6, A7, E6, E7, F0, F1, F2, F3, C0, C1, C2, C3 } +#define UNUSED_PINS + +#define RGBLED_NUM 27 diff --git a/keyboards/lfkeyboards/lfk78/revj/info.json b/keyboards/lfkeyboards/lfk78/revj/info.json new file mode 100644 index 0000000000..945ee8cd15 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/revj/info.json @@ -0,0 +1,392 @@ +{ + "keyboard_name": "LFK78/68 Rev J", + "url": "", + "maintainer": "qmk", + "width": 19.5, + "height": 5, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0}, + {"x":15.25, "y":0, "w":2}, + + {"x":17.5, "y":0}, + {"x":18.5, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + + {"x":2.25, "y":1, "w":1.5}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.75, "y":1}, + {"x":7.75, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + {"x":13.75, "y":1}, + {"x":14.75, "y":1}, + {"x":15.75, "y":1, "w":1.5}, + + {"x":17.5, "y":1}, + {"x":18.5, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + + {"x":2.25, "y":2, "w":1.75}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2, "w":2.25}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + + {"x":2.25, "y":3, "w":2.25}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":8.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3}, + {"x":13.5, "y":3}, + {"x":14.5, "y":3, "w":2.75}, + + {"x":17.5, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + + {"x":2.25, "y":4, "w":1.25}, + {"x":3.5, "y":4, "w":1.25}, + {"x":4.75, "y":4, "w":1.25}, + {"x":6, "y":4, "w":6.25}, + {"x":12.25, "y":4, "w":1.25}, + {"x":13.5, "y":4, "w":1.25}, + {"x":14.75, "y":4, "w":1.25}, + + {"x":16.5, "y":4}, + {"x":17.5, "y":4}, + {"x":18.5, "y":4} + ] + }, + "LAYOUT_split_bs": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0}, + {"x":15.25, "y":0}, + {"x":16.25, "y":0}, + + {"x":17.5, "y":0}, + {"x":18.5, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + + {"x":2.25, "y":1, "w":1.5}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.75, "y":1}, + {"x":7.75, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + {"x":13.75, "y":1}, + {"x":14.75, "y":1}, + {"x":15.75, "y":1, "w":1.5}, + + {"x":17.5, "y":1}, + {"x":18.5, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + + {"x":2.25, "y":2, "w":1.75}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2, "w":2.25}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + + {"x":2.25, "y":3, "w":2.25}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":8.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3}, + {"x":13.5, "y":3}, + {"x":14.5, "y":3, "w":2.75}, + + {"x":17.5, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + + {"x":2.25, "y":4, "w":1.25}, + {"x":3.5, "y":4, "w":1.25}, + {"x":4.75, "y":4, "w":1.25}, + {"x":6, "y":4, "w":6.25}, + {"x":12.25, "y":4, "w":1.25}, + {"x":13.5, "y":4, "w":1.25}, + {"x":14.75, "y":4, "w":1.25}, + + {"x":16.5, "y":4}, + {"x":17.5, "y":4}, + {"x":18.5, "y":4} + ] + }, + "LAYOUT_split_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0}, + {"x":15.25, "y":0, "w":2}, + + {"x":17.5, "y":0}, + {"x":18.5, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + + {"x":2.25, "y":1, "w":1.5}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.75, "y":1}, + {"x":7.75, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + {"x":13.75, "y":1}, + {"x":14.75, "y":1}, + {"x":15.75, "y":1, "w":1.5}, + + {"x":17.5, "y":1}, + {"x":18.5, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + + {"x":2.25, "y":2, "w":1.75}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2, "w":2.25}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + + {"x":2.25, "y":3, "w":2.25}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":8.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3}, + {"x":13.5, "y":3}, + {"x":14.5, "y":3, "w":1.75}, + {"x":16.25, "y":3}, + + {"x":17.5, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + + {"x":2.25, "y":4, "w":1.25}, + {"x":3.5, "y":4, "w":1.25}, + {"x":4.75, "y":4, "w":1.25}, + {"x":6, "y":4, "w":6.25}, + {"x":12.25, "y":4, "w":1.25}, + {"x":13.5, "y":4, "w":1.25}, + {"x":14.75, "y":4, "w":1.25}, + + {"x":16.5, "y":4}, + {"x":17.5, "y":4}, + {"x":18.5, "y":4} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + + {"x":2.25, "y":0}, + {"x":3.25, "y":0}, + {"x":4.25, "y":0}, + {"x":5.25, "y":0}, + {"x":6.25, "y":0}, + {"x":7.25, "y":0}, + {"x":8.25, "y":0}, + {"x":9.25, "y":0}, + {"x":10.25, "y":0}, + {"x":11.25, "y":0}, + {"x":12.25, "y":0}, + {"x":13.25, "y":0}, + {"x":14.25, "y":0}, + {"x":15.25, "y":0, "w":2}, + + {"x":17.5, "y":0}, + {"x":18.5, "y":0}, + + {"x":0, "y":1}, + {"x":1, "y":1}, + + {"x":2.25, "y":1, "w":1.5}, + {"x":3.75, "y":1}, + {"x":4.75, "y":1}, + {"x":5.75, "y":1}, + {"x":6.75, "y":1}, + {"x":7.75, "y":1}, + {"x":8.75, "y":1}, + {"x":9.75, "y":1}, + {"x":10.75, "y":1}, + {"x":11.75, "y":1}, + {"x":12.75, "y":1}, + {"x":13.75, "y":1}, + {"x":14.75, "y":1}, + {"x":16, "y":1, "w":1.25, "h":2}, + + {"x":17.5, "y":1}, + {"x":18.5, "y":1}, + + {"x":0, "y":2}, + {"x":1, "y":2}, + + {"x":2.25, "y":2, "w":1.75}, + {"x":4, "y":2}, + {"x":5, "y":2}, + {"x":6, "y":2}, + {"x":7, "y":2}, + {"x":8, "y":2}, + {"x":9, "y":2}, + {"x":10, "y":2}, + {"x":11, "y":2}, + {"x":12, "y":2}, + {"x":13, "y":2}, + {"x":14, "y":2}, + {"x":15, "y":2}, + + {"x":0, "y":3}, + {"x":1, "y":3}, + + {"x":2.25, "y":3, "w":1.25}, + {"x":3.5, "y":3}, + {"x":4.5, "y":3}, + {"x":5.5, "y":3}, + {"x":6.5, "y":3}, + {"x":7.5, "y":3}, + {"x":8.5, "y":3}, + {"x":9.5, "y":3}, + {"x":10.5, "y":3}, + {"x":11.5, "y":3}, + {"x":12.5, "y":3}, + {"x":13.5, "y":3}, + {"x":14.5, "y":3, "w":2.75}, + + {"x":17.5, "y":3}, + + {"x":0, "y":4}, + {"x":1, "y":4}, + + {"x":2.25, "y":4, "w":1.25}, + {"x":3.5, "y":4, "w":1.25}, + {"x":4.75, "y":4, "w":1.25}, + {"x":6, "y":4, "w":6.25}, + {"x":12.25, "y":4, "w":1.25}, + {"x":13.5, "y":4, "w":1.25}, + {"x":14.75, "y":4, "w":1.25}, + + {"x":16.5, "y":4}, + {"x":17.5, "y":4}, + {"x":18.5, "y":4} + ] + } + } +} diff --git a/keyboards/lfkeyboards/lfk78/revj/revj.h b/keyboards/lfkeyboards/lfk78/revj/revj.h new file mode 100644 index 0000000000..6a9dd87bf9 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/revj/revj.h @@ -0,0 +1,76 @@ +#pragma once + +// readability +#define XXX KC_NO + +// This is a shortcut to help you visually see your layout. +/* + * ,---------. ,-----------------------------------------------------------------------. ,---------. + * | 11 | 12 | | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | 1G | | 1H | 1I | + * |---------| |-----------------------------------------------------------------------| |---------| + * | 21 | 22 | | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | 2B | 2C | 2D | 2E | 2F | 2G | | 2H | 2I | + * |---------| |-----------------------------------------------------------------------| `---------' + * | 31 | 32 | | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 3A | 3B | 3C | 3D | 3E | 3F | + * |---------| |-----------------------------------------------------------------------| ,----. + * | 41 | 42 | | 43 | 45 | 46 | 47 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | | 4H | + * |---------| |-------------------------------------------------------------------------------------. + * | 51 | 52 | | 53 | 54 | 55 | 59 | 5D | 5E | 5F | | 5G | 5H | 5I | + * `---------' `--------------------------------------------------------------------' `--------------' + */ +// The first section contains all of the arguements +// The second converts the arguments into a two-dimensional array +#define LAYOUT( \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, \ + k41, k42, k43, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4H, \ + k51, k52, k53, k54, k55, k59, k5D, k5E, k5F, k5G, k5H, k5I \ +) { \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, XXX, XXX, XXX }, \ + { k41, k42, k43, XXX, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, XXX, k4H, XXX }, \ + { k51, k52, k53, k54, k55, XXX, XXX, XXX, k59, XXX, XXX, XXX, k5D, k5E, k5F, k5G, k5H, k5I } \ +} + +#define LAYOUT_split_bs( \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k3G, k1H, k1I, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, \ + k41, k42, k43, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4H, \ + k51, k52, k53, k54, k55, k59, k5D, k5E, k5F, k5G, k5H, k5I \ +) { \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G, XXX, XXX }, \ + { k41, k42, k43, XXX, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, XXX, k4H, XXX }, \ + { k51, k52, k53, k54, k55, XXX, XXX, XXX, k59, XXX, XXX, XXX, k5D, k5E, k5F, k5G, k5H, k5I } \ +} + +#define LAYOUT_split_rshift( \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, \ + k41, k42, k43, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, \ + k51, k52, k53, k54, k55, k59, k5D, k5E, k5F, k5G, k5H, k5I \ +) { \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, XXX, XXX, XXX }, \ + { k41, k42, k43, XXX, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, XXX }, \ + { k51, k52, k53, k54, k55, XXX, XXX, XXX, k59, XXX, XXX, XXX, k5D, k5E, k5F, k5G, k5H, k5I } \ +} + +#define LAYOUT_iso( \ + k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, \ + k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, \ + k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, \ + k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4H, \ + k51, k52, k53, k54, k55, k59, k5D, k5E, k5F, k5G, k5H, k5I \ +) { \ + { k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I }, \ + { k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I }, \ + { k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, XXX, XXX, XXX }, \ + { k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, XXX, k4H, XXX }, \ + { k51, k52, k53, k54, k55, XXX, XXX, XXX, k59, XXX, XXX, XXX, k5D, k5E, k5F, k5G, k5H, k5I } \ +} diff --git a/keyboards/lfkeyboards/lfk78/revj/rules.mk b/keyboards/lfkeyboards/lfk78/revj/rules.mk new file mode 100644 index 0000000000..c1836b7496 --- /dev/null +++ b/keyboards/lfkeyboards/lfk78/revj/rules.mk @@ -0,0 +1,4 @@ +# MCU name +MCU = at90usb646 + +AUDIO_ENABLE = yes -- cgit v1.2.3