From 767e7db0edb4a5d3b40699cdb350c8eba37ebd19 Mon Sep 17 00:00:00 2001 From: TJ Date: Wed, 11 May 2022 18:39:35 -0500 Subject: [PATCH] [Keyboard] Littlefoot lx dev (#16771) Co-authored-by: Ryan --- .../littlefoot_lx/keymaps/default/keymap.c | 54 +++++++++++++++++++ .../littlefoot_lx/keymaps/via/keymap.c | 54 +++++++++++++++++++ .../littlefoot_lx/keymaps/via/rules.mk | 1 + keyboards/tominabox1/littlefoot_lx/readme.md | 30 +++++++++++ .../tominabox1/littlefoot_lx/rev1/config.h | 44 +++++++++++++++ .../tominabox1/littlefoot_lx/rev1/info.json | 14 +++++ .../tominabox1/littlefoot_lx/rev1/rev1.c | 18 +++++++ .../tominabox1/littlefoot_lx/rev1/rev1.h | 50 +++++++++++++++++ .../tominabox1/littlefoot_lx/rev1/rules.mk | 18 +++++++ .../tominabox1/littlefoot_lx/rev2/config.h | 44 +++++++++++++++ .../tominabox1/littlefoot_lx/rev2/info.json | 14 +++++ .../tominabox1/littlefoot_lx/rev2/rev2.c | 18 +++++++ .../tominabox1/littlefoot_lx/rev2/rev2.h | 50 +++++++++++++++++ .../tominabox1/littlefoot_lx/rev2/rules.mk | 18 +++++++ keyboards/tominabox1/littlefoot_lx/rules.mk | 1 + 15 files changed, 428 insertions(+) create mode 100644 keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c create mode 100644 keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c create mode 100644 keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk create mode 100644 keyboards/tominabox1/littlefoot_lx/readme.md create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/config.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/info.json create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/rev1.c create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/rev1.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev1/rules.mk create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/config.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/info.json create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/rev2.c create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/rev2.h create mode 100644 keyboards/tominabox1/littlefoot_lx/rev2/rules.mk create mode 100644 keyboards/tominabox1/littlefoot_lx/rules.mk diff --git a/keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c b/keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c new file mode 100644 index 000000000000..67641741faec --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/keymaps/default/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_split( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ENT, KC_SPC, KC_SPC, KC_BSPC + ), + + [1] = LAYOUT_split( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_split( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_split( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c b/keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c new file mode 100644 index 000000000000..8bef2373f36e --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/keymaps/via/keymap.c @@ -0,0 +1,54 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_split( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ENT, KC_SPC, KC_SPC, KC_BSPC + ), + + [1] = LAYOUT_split( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT_split( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_split( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk b/keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/tominabox1/littlefoot_lx/readme.md b/keyboards/tominabox1/littlefoot_lx/readme.md new file mode 100644 index 000000000000..5ef9186347b5 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/readme.md @@ -0,0 +1,30 @@ +# Littlefoot LX + +![littlefoot_lx](https://i.imgur.com/0WhgT5yh.jpeg) + +The Littlefoot LX is a premium, integrated pcb version of the Littlefoot by The_Royal. + +* Keyboard Maintainer: [tominabox1](https://github.com/tominabox1) +* Hardware Supported: Littlefoot LX integrated ATMega32u4 +* Hardware Availability: https://tachfactory.bigcartel.com + +There are two versions of this PCB: + Rev1 is the PCB that shipped with the group buy run by RPMorrison on Tach Factory. These PCBs can be identified by the bodge wire on column 4. + Rev2 is the PCB available after this group buy. + +Make example for this keyboard (after setting up your build environment): + + make tominabox1/littlefoot_lx:default + +Flashing example for this keyboard: + + make tominabox1/littlefoot_lx:default:flash + +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). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `RESET` if it is available diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/config.h b/keyboards/tominabox1/littlefoot_lx/rev1/config.h new file mode 100644 index 000000000000..0f9ad3c9188f --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/config.h @@ -0,0 +1,44 @@ + +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7431 +#define PRODUCT_ID 0x6C78 +#define DEVICE_VER 0x0001 +#define PRODUCT Littlefoot LX +#define MANUFACTURER tominabox1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 10 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D5, F4, D3, F1, F0 } +#define MATRIX_COL_PINS { D7, D6, D4, E2, F5, F6, F7, B6, B5, B4 } // uncomment for original groupbuy +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/info.json b/keyboards/tominabox1/littlefoot_lx/rev1/info.json new file mode 100644 index 000000000000..ee2d32e667e8 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "Littlefoot LX", + "url": "", + "maintainer": "tominabox1", + "layouts": { + "LAYOUT": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"x":1.5, "y":4, "w":7}] + }, + "LAYOUT_split": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"label":"4,2", "x":1.5, "y":4, "w":1.5}, {"label":"4,4", "x":3, "y":4, "w":2}, {"label":"4,6", "x":5, "y":4, "w":2}, {"label":"4,7", "x":7, "y":4, "w":1.5}] + } + + } +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rev1.c b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.c new file mode 100644 index 000000000000..67d6fd800de9 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.c @@ -0,0 +1,18 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev1.h" diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rev1.h b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.h new file mode 100644 index 000000000000..f42ded450c96 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/rev1.h @@ -0,0 +1,50 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K45 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, XXX, XXX, XXX, K45, XXX, XXX, XXX, XXX } \ +} + +#define LAYOUT_split( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K42, K44, K46, K47 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, K42, XXX, K44, XXX, K46, K47, XXX, XXX } \ +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk b/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk new file mode 100644 index 000000000000..67bea6b60934 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev1/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/config.h b/keyboards/tominabox1/littlefoot_lx/rev2/config.h new file mode 100644 index 000000000000..db97c0f133e8 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/config.h @@ -0,0 +1,44 @@ + +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "config_common.h" + + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x7431 +#define PRODUCT_ID 0x6C78 +#define DEVICE_VER 0x0001 +#define PRODUCT Littlefoot LX +#define MANUFACTURER tominabox1 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 10 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { D5, F4, D3, F1, F0 } +#define MATRIX_COL_PINS { D7, D6, D4, C7, F5, F6, F7, B6, B5, B4 } +#define UNUSED_PINS + +/* COL2ROW or ROW2COL */ +#define DIODE_DIRECTION COL2ROW + +/* Set 0 if debouncing isn't needed */ +#define DEBOUNCE 5 diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/info.json b/keyboards/tominabox1/littlefoot_lx/rev2/info.json new file mode 100644 index 000000000000..ee2d32e667e8 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/info.json @@ -0,0 +1,14 @@ +{ + "keyboard_name": "Littlefoot LX", + "url": "", + "maintainer": "tominabox1", + "layouts": { + "LAYOUT": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"x":1.5, "y":4, "w":7}] + }, + "LAYOUT_split": { + "layout": [{"label":"0,0", "x":0, "y":0}, {"label":"0,1", "x":1, "y":0}, {"label":"0,2", "x":2, "y":0}, {"label":"0,3", "x":3, "y":0}, {"label":"0,4", "x":4, "y":0}, {"label":"0,5", "x":5, "y":0}, {"label":"0,6", "x":6, "y":0}, {"label":"0,7", "x":7, "y":0}, {"label":"0,8", "x":8, "y":0}, {"label":"0,9", "x":9, "y":0}, {"label":"1,0", "x":0, "y":1}, {"label":"1,1", "x":1, "y":1}, {"label":"1,2", "x":2, "y":1}, {"label":"1,3", "x":3, "y":1}, {"label":"1,4", "x":4, "y":1}, {"label":"1,5", "x":5, "y":1}, {"label":"1,6", "x":6, "y":1}, {"label":"1,7", "x":7, "y":1}, {"label":"1,8", "x":8, "y":1}, {"label":"1,9", "x":9, "y":1}, {"label":"2,0", "x":0, "y":2}, {"label":"2,1", "x":1, "y":2}, {"label":"2,2", "x":2, "y":2}, {"label":"2,3", "x":3, "y":2}, {"label":"2,4", "x":4, "y":2}, {"label":"2,5", "x":5, "y":2}, {"label":"2,6", "x":6, "y":2}, {"label":"2,7", "x":7, "y":2}, {"label":"2,8", "x":8, "y":2}, {"label":"2,9", "x":9, "y":2}, {"label":"3,0", "x":0, "y":3}, {"label":"3,1", "x":1, "y":3}, {"label":"3,2", "x":2, "y":3}, {"label":"3,3", "x":3, "y":3}, {"label":"3,4", "x":4, "y":3}, {"label":"3,5", "x":5, "y":3}, {"label":"3,6", "x":6, "y":3}, {"label":"3,7", "x":7, "y":3}, {"label":"3,8", "x":8, "y":3}, {"label":"3,9", "x":9, "y":3}, {"label":"4,2", "x":1.5, "y":4, "w":1.5}, {"label":"4,4", "x":3, "y":4, "w":2}, {"label":"4,6", "x":5, "y":4, "w":2}, {"label":"4,7", "x":7, "y":4, "w":1.5}] + } + + } +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rev2.c b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.c new file mode 100644 index 000000000000..759d6f506db9 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.c @@ -0,0 +1,18 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "rev2.h" diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rev2.h b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.h new file mode 100644 index 000000000000..f42ded450c96 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/rev2.h @@ -0,0 +1,50 @@ +/* +Copyright 2022 tominabox1 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#include "quantum.h" + +#define XXX KC_NO + +#define LAYOUT( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K45 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, XXX, XXX, XXX, K45, XXX, XXX, XXX, XXX } \ +} + +#define LAYOUT_split( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \ + K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, \ + K42, K44, K46, K47 \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \ + { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39 }, \ + { XXX, XXX, K42, XXX, K44, XXX, K46, K47, XXX, XXX } \ +} diff --git a/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk b/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk new file mode 100644 index 000000000000..67bea6b60934 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rev2/rules.mk @@ -0,0 +1,18 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = no # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output diff --git a/keyboards/tominabox1/littlefoot_lx/rules.mk b/keyboards/tominabox1/littlefoot_lx/rules.mk new file mode 100644 index 000000000000..4756f7600ff0 --- /dev/null +++ b/keyboards/tominabox1/littlefoot_lx/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = tominabox1/littlefoot_lx/rev1