diff options
Diffstat (limited to 'keyboards/tw40')
-rw-r--r-- | keyboards/tw40/config.h | 49 | ||||
-rw-r--r-- | keyboards/tw40/info.json | 4478 | ||||
-rw-r--r-- | keyboards/tw40/keymaps/default/keymap.c | 39 | ||||
-rw-r--r-- | keyboards/tw40/keymaps/default/readme.md | 1 | ||||
-rw-r--r-- | keyboards/tw40/readme.md | 20 | ||||
-rw-r--r-- | keyboards/tw40/rules.mk | 22 | ||||
-rw-r--r-- | keyboards/tw40/tw40.c | 17 | ||||
-rw-r--r-- | keyboards/tw40/tw40.h | 233 |
8 files changed, 4859 insertions, 0 deletions
diff --git a/keyboards/tw40/config.h b/keyboards/tw40/config.h new file mode 100644 index 0000000000..839babb920 --- /dev/null +++ b/keyboards/tw40/config.h @@ -0,0 +1,49 @@ +/* +Copyright 2020 KnoblesseOblige + +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 <http://www.gnu.org/licenses/>. +*/ + +#pragma once + +#include "config_common.h" + +/* USB Device descriptor parameter */ +#define VENDOR_ID 0x503D /* "P3D" */ +#define PRODUCT_ID 0x5457 /* "TW" */ +#define DEVICE_VER 0x0001 +#define MANUFACTURER KnoblesseOblige +#define PRODUCT TW40 + +#define MATRIX_ROWS 4 +#define MATRIX_COLS 14 + +#define MATRIX_ROW_PINS { B0, D5, D3, D2 } +#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, C7, C6, B6, B5, B4, D7, D6, D4 } +#define UNUSED_PINS + +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN E6 +#define RGBLED_NUM 15 +#define RGBLIGHT_ANIMATIONS + +#define DEBOUNCE 5 + +#define LOCKING_SUPPORT_ENABLE + +#define LOCKING_RESYNC_ENABLE + +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION diff --git a/keyboards/tw40/info.json b/keyboards/tw40/info.json new file mode 100644 index 0000000000..1162928362 --- /dev/null +++ b/keyboards/tw40/info.json @@ -0,0 +1,4478 @@ +{ + "keyboard_name": "Training Wheel 40", + "url": "https://p3dstore.com/products/tw40-gb", + "maintainer": "KnoblesseOblige", + "width": 14, + "height": 4, + "layouts": { + "LAYOUT_all": { + "layout": [ + { + "label": "k00", + "x": 0, + "y": 0, + "w": 1.5 + }, + { + "label": "k01", + "x": 1.5, + "y": 0 + }, + { + "label": "k02", + "x": 2.5, + "y": 0 + }, + { + "label": "k03", + "x": 3.5, + "y": 0 + }, + { + "label": "k04", + "x": 4.5, + "y": 0 + }, + { + "label": "k05", + "x": 5.5, + "y": 0 + }, + { + "label": "k06", + "x": 6.5, + "y": 0 + }, + { + "label": "k07", + "x": 7.5, + "y": 0 + }, + { + "label": "k08", + "x": 8.5, + "y": 0 + }, + { + "label": "k09", + "x": 9.5, + "y": 0 + }, + { + "label": "k0a", + "x": 10.5, + "y": 0 + }, + { + "label": "k0b", + "x": 11.5, + "y": 0 + }, + { + "label": "k0c", + "x": 12.5, + "y": 0 + }, + { + "label": "k0d", + "x": 13.5, + "y": 0, + "w": 1.5 + }, + { + "label": "k10", + "x": 0, + "y": 1, + "w": 1.75 + }, + { + "label": "k11", + "x": 1.75, + "y": 1 + }, + { + "label": "k12", + "x": 2.75, + "y": 1 + }, + { + "label": "k13", + "x": 3.75, + "y": 1 + }, + { + "label": "k14", + "x": 4.75, + "y": 1 + }, + { + "label": "k15", + "x": 5.75, + "y": 1 + }, + { + "label": "k16", + "x": 6.75, + "y": 1 + }, + { + "label": "k17", + "x": 7.75, + "y": 1 + }, + { + "label": "k18", + "x": 8.75, + "y": 1 + }, + { + "label": "k19", + "x": 9.75, + "y": 1 + }, + { + "label": "k1a", + "x": 10.75, + "y": 1 + }, + { + "label": "k1b", + "x": 11.75, + "y": 1 + }, + { + "label": "k1c", + "x": 12.75, + "y": 1, + "w": 2.25 + }, + { + "label": "k20", + "x": 0, + "y": 2, + "w": 2.25 + }, + { + "label": "k21", + "x": 2.25, + "y": 2 + }, + { + "label": "k22", + "x": 3.25, + "y": 2 + }, + { + "label": "k23", + "x": 4.25, + "y": 2 + }, + { + "label": "k24", + "x": 5.25, + "y": 2 + }, + { + "label": "k25", + "x": 6.25, + "y": 2 + }, + { + "label": "k26", + "x": 7.25, + "y": 2 + }, + { + "label": "k27", + "x": 8.25, + "y": 2 + }, + { + "label": "k28", + "x": 9.25, + "y": 2 + }, + { + "label": "k29", + "x": 10.25, + "y": 2 + }, + { + "label": "k2b", + "x": 11.25, + "y": 2, + "w": 1.75 + }, + { + "label": "k2c", + "x": 13, + "y": 2 + }, + { + "label": "k2d", + "x": 14, + "y": 2 + }, + { + "label": "k30", + "x": 0, + "y": 3, + "w": 1.25 + }, + { + "label": "k31", + "x": 1.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k32", + "x": 2.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k33", + "x": 3.75, + "y": 3, + "w": 1.25 + }, + { + "label": "k34", + "x": 5, + "y": 3, + "w": 2.25 + }, + { + "label": "k35", + "x": 7.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k36", + "x": 8.5, + "y": 3, + "w": 1.5 + }, + { + "label": "k39", + "x": 10, + "y": 3 + }, + { + "label": "k3a", + "x": 11, + "y": 3 + }, + { + "label": "k3b", + "x": 12, + "y": 3 + }, + { + "label": "k3c", + "x": 13, + "y": 3 + }, + { + "label": "k3d", + "x": 14, + "y": 3 + } + ] + }, + "LAYOUT_3_split_space_standard_rshift_4x_125": { + "layout": [ + { + "label": "k00", + "x": 0, + "y": 0, + "w": 1.5 + }, + { + "label": "k01", + "x": 1.5, + "y": 0 + }, + { + "label": "k02", + "x": 2.5, + "y": 0 + }, + { + "label": "k03", + "x": 3.5, + "y": 0 + }, + { + "label": "k04", + "x": 4.5, + "y": 0 + }, + { + "label": "k05", + "x": 5.5, + "y": 0 + }, + { + "label": "k06", + "x": 6.5, + "y": 0 + }, + { + "label": "k07", + "x": 7.5, + "y": 0 + }, + { + "label": "k08", + "x": 8.5, + "y": 0 + }, + { + "label": "k09", + "x": 9.5, + "y": 0 + }, + { + "label": "k0a", + "x": 10.5, + "y": 0 + }, + { + "label": "k0b", + "x": 11.5, + "y": 0 + }, + { + "label": "k0c", + "x": 12.5, + "y": 0 + }, + { + "label": "k0d", + "x": 13.5, + "y": 0, + "w": 1.5 + }, + { + "label": "k10", + "x": 0, + "y": 1, + "w": 1.75 + }, + { + "label": "k11", + "x": 1.75, + "y": 1 + }, + { + "label": "k12", + "x": 2.75, + "y": 1 + }, + { + "label": "k13", + "x": 3.75, + "y": 1 + }, + { + "label": "k14", + "x": 4.75, + "y": 1 + }, + { + "label": "k15", + "x": 5.75, + "y": 1 + }, + { + "label": "k16", + "x": 6.75, + "y": 1 + }, + { + "label": "k17", + "x": 7.75, + "y": 1 + }, + { + "label": "k18", + "x": 8.75, + "y": 1 + }, + { + "label": "k19", + "x": 9.75, + "y": 1 + }, + { + "label": "k1a", + "x": 10.75, + "y": 1 + }, + { + "label": "k1b", + "x": 11.75, + "y": 1 + }, + { + "label": "k1c", + "x": 12.75, + "y": 1, + "w": 2.25 + }, + { + "label": "k20", + "x": 0, + "y": 2, + "w": 2.25 + }, + { + "label": "k21", + "x": 2.25, + "y": 2 + }, + { + "label": "k22", + "x": 3.25, + "y": 2 + }, + { + "label": "k23", + "x": 4.25, + "y": 2 + }, + { + "label": "k24", + "x": 5.25, + "y": 2 + }, + { + "label": "k25", + "x": 6.25, + "y": 2 + }, + { + "label": "k26", + "x": 7.25, + "y": 2 + }, + { + "label": "k27", + "x": 8.25, + "y": 2 + }, + { + "label": "k28", + "x": 9.25, + "y": 2 + }, + { + "label": "k29", + "x": 10.25, + "y": 2 + }, + { + "label": "k2b", + "x": 11.25, + "y": 2 + }, + { + "label": "k2c", + "x": 12.25, + "y": 2, + "w": 2.75 + }, + { + "label": "k30", + "x": 0, + "y": 3, + "w": 1.25 + }, + { + "label": "k31", + "x": 1.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k32", + "x": 2.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k33", + "x": 3.75, + "y": 3, + "w": 2.25 + }, + { + "label": "k34", + "x": 6, + "y": 3, + "w": 1.25 + }, + { + "label": "k36", + "x": 7.25, + "y": 3, + "w": 2.75 + }, + { + "label": "k39", + "x": 10, + "y": 3, + "w": 1.25 + }, + { + "label": "k3b", + "x": 11.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k3c", + "x": 12.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k3d", + "x": 13.75, + "y": 3, + "w": 1.25 + } + ] + }, + "LAYOUT_3_split_space_standard_rshift_5x_100": { + "layout": [ + { + "label": "k00", + "x": 0, + "y": 0, + "w": 1.5 + }, + { + "label": "k01", + "x": 1.5, + "y": 0 + }, + { + "label": "k02", + "x": 2.5, + "y": 0 + }, + { + "label": "k03", + "x": 3.5, + "y": 0 + }, + { + "label": "k04", + "x": 4.5, + "y": 0 + }, + { + "label": "k05", + "x": 5.5, + "y": 0 + }, + { + "label": "k06", + "x": 6.5, + "y": 0 + }, + { + "label": "k07", + "x": 7.5, + "y": 0 + }, + { + "label": "k08", + "x": 8.5, + "y": 0 + }, + { + "label": "k09", + "x": 9.5, + "y": 0 + }, + { + "label": "k0a", + "x": 10.5, + "y": 0 + }, + { + "label": "k0b", + "x": 11.5, + "y": 0 + }, + { + "label": "k0c", + "x": 12.5, + "y": 0 + }, + { + "label": "k0d", + "x": 13.5, + "y": 0, + "w": 1.5 + }, + { + "label": "k10", + "x": 0, + "y": 1, + "w": 1.75 + }, + { + "label": "k11", + "x": 1.75, + "y": 1 + }, + { + "label": "k12", + "x": 2.75, + "y": 1 + }, + { + "label": "k13", + "x": 3.75, + "y": 1 + }, + { + "label": "k14", + "x": 4.75, + "y": 1 + }, + { + "label": "k15", + "x": 5.75, + "y": 1 + }, + { + "label": "k16", + "x": 6.75, + "y": 1 + }, + { + "label": "k17", + "x": 7.75, + "y": 1 + }, + { + "label": "k18", + "x": 8.75, + "y": 1 + }, + { + "label": "k19", + "x": 9.75, + "y": 1 + }, + { + "label": "k1a", + "x": 10.75, + "y": 1 + }, + { + "label": "k1b", + "x": 11.75, + "y": 1 + }, + { + "label": "k1c", + "x": 12.75, + "y": 1, + "w": 2.25 + }, + { + "label": "k20", + "x": 0, + "y": 2, + "w": 2.25 + }, + { + "label": "k21", + "x": 2.25, + "y": 2 + }, + { + "label": "k22", + "x": 3.25, + "y": 2 + }, + { + "label": "k23", + "x": 4.25, + "y": 2 + }, + { + "label": "k24", + "x": 5.25, + "y": 2 + }, + { + "label": "k25", + "x": 6.25, + "y": 2 + }, + { + "label": "k26", + "x": 7.25, + "y": 2 + }, + { + "label": "k27", + "x": 8.25, + "y": 2 + }, + { + "label": "k28", + "x": 9.25, + "y": 2 + }, + { + "label": "k29", + "x": 10.25, + "y": 2 + }, + { + "label": "k2b", + "x": 11.25, + "y": 2 + }, + { + "label": "k2c", + "x": 12.25, + "y": 2, + "w": 2.75 + }, + { + "label": "k30", + "x": 0, + "y": 3, + "w": 1.25 + }, + { + "label": "k31", + "x": 1.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k32", + "x": 2.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k33", + "x": 3.75, + "y": 3, + "w": 2.25 + }, + { + "label": "k34", + "x": 6, + "y": 3, + "w": 1.25 + }, + { + "label": "k36", + "x": 7.25, + "y": 3, + "w": 2.75 + }, + { + "label": "k39", + "x": 10, + "y": 3 + }, + { + "label": "k3a", + "x": 11, + "y": 3 + }, + { + "label": "k3b", + "x": 12, + "y": 3 + }, + { + "label": "k3c", + "x": 13, + "y": 3 + }, + { + "label": "k3d", + "x": 14, + "y": 3 + } + ] + }, + "LAYOUT_3_split_space_split_rshift_4x_125": { + "layout": [ + { + "label": "k00", + "x": 0, + "y": 0, + "w": 1.5 + }, + { + "label": "k01", + "x": 1.5, + "y": 0 + }, + { + "label": "k02", + "x": 2.5, + "y": 0 + }, + { + "label": "k03", + "x": 3.5, + "y": 0 + }, + { + "label": "k04", + "x": 4.5, + "y": 0 + }, + { + "label": "k05", + "x": 5.5, + "y": 0 + }, + { + "label": "k06", + "x": 6.5, + "y": 0 + }, + { + "label": "k07", + "x": 7.5, + "y": 0 + }, + { + "label": "k08", + "x": 8.5, + "y": 0 + }, + { + "label": "k09", + "x": 9.5, + "y": 0 + }, + { + "label": "k0a", + "x": 10.5, + "y": 0 + }, + { + "label": "k0b", + "x": 11.5, + "y": 0 + }, + { + "label": "k0c", + "x": 12.5, + "y": 0 + }, + { + "label": "k0d", + "x": 13.5, + "y": 0, + "w": 1.5 + }, + { + "label": "k10", + "x": 0, + "y": 1, + "w": 1.75 + }, + { + "label": "k11", + "x": 1.75, + "y": 1 + }, + { + "label": "k12", + "x": 2.75, + "y": 1 + }, + { + "label": "k13", + "x": 3.75, + "y": 1 + }, + { + "label": "k14", + "x": 4.75, + "y": 1 + }, + { + "label": "k15", + "x": 5.75, + "y": 1 + }, + { + "label": "k16", + "x": 6.75, + "y": 1 + }, + { + "label": "k17", + "x": 7.75, + "y": 1 + }, + { + "label": "k18", + "x": 8.75, + "y": 1 + }, + { + "label": "k19", + "x": 9.75, + "y": 1 + }, + { + "label": "k1a", + "x": 10.75, + "y": 1 + }, + { + "label": "k1b", + "x": 11.75, + "y": 1 + }, + { + "label": "k1c", + "x": 12.75, + "y": 1, + "w": 2.25 + }, + { + "label": "k20", + "x": 0, + "y": 2, + "w": 2.25 + }, + { + "label": "k21", + "x": 2.25, + "y": 2 + }, + { + "label": "k22", + "x": 3.25, + "y": 2 + }, + { + "label": "k23", + "x": 4.25, + "y": 2 + }, + { + "label": "k24", + "x": 5.25, + "y": 2 + }, + { + "label": "k25", + "x": 6.25, + "y": 2 + }, + { + "label": "k26", + "x": 7.25, + "y": 2 + }, + { + "label": "k27", + "x": 8.25, + "y": 2 + }, + { + "label": "k28", + "x": 9.25, + "y": 2 + }, + { + "label": "k29", + "x": 10.25, + "y": 2 + }, + { + "label": "k2b", + "x": 11.25, + "y": 2, + "w": 1.75 + }, + { + "label": "k2c", + "x": 13, + "y": 2 + }, + { + "label": "k2d", + "x": 14, + "y": 2 + }, + { + "label": "k30", + "x": 0, + "y": 3, + "w": 1.25 + }, + { + "label": "k31", + "x": 1.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k32", + "x": 2.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k33", + "x": 3.75, + "y": 3, + "w": 2.25 + }, + { + "label": "k34", + "x": 6, + "y": 3, + "w": 1.25 + }, + { + "label": "k36", + "x": 7.25, + "y": 3, + "w": 2.75 + }, + { + "label": "k39", + "x": 10, + "y": 3, + "w": 1.25 + }, + { + "label": "k3b", + "x": 11.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k3c", + "x": 12.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k3d", + "x": 13.75, + "y": 3, + "w": 1.25 + } + ] + }, + "LAYOUT_3_split_space_split_rshift_5x_100": { + "layout": [ + { + "label": "k00", + "x": 0, + "y": 0, + "w": 1.5 + }, + { + "label": "k01", + "x": 1.5, + "y": 0 + }, + { + "label": "k02", + "x": 2.5, + "y": 0 + }, + { + "label": "k03", + "x": 3.5, + "y": 0 + }, + { + "label": "k04", + "x": 4.5, + "y": 0 + }, + { + "label": "k05", + "x": 5.5, + "y": 0 + }, + { + "label": "k06", + "x": 6.5, + "y": 0 + }, + { + "label": "k07", + "x": 7.5, + "y": 0 + }, + { + "label": "k08", + "x": 8.5, + "y": 0 + }, + { + "label": "k09", + "x": 9.5, + "y": 0 + }, + { + "label": "k0a", + "x": 10.5, + "y": 0 + }, + { + "label": "k0b", + "x": 11.5, + "y": 0 + }, + { + "label": "k0c", + "x": 12.5, + "y": 0 + }, + { + "label": "k0d", + "x": 13.5, + "y": 0, + "w": 1.5 + }, + { + "label": "k10", + "x": 0, + "y": 1, + "w": 1.75 + }, + { + "label": "k11", + "x": 1.75, + "y": 1 + }, + { + "label": "k12", + "x": 2.75, + "y": 1 + }, + { + "label": "k13", + "x": 3.75, + "y": 1 + }, + { + "label": "k14", + "x": 4.75, + "y": 1 + }, + { + "label": "k15", + "x": 5.75, + "y": 1 + }, + { + "label": "k16", + "x": 6.75, + "y": 1 + }, + { + "label": "k17", + "x": 7.75, + "y": 1 + }, + { + "label": "k18", + "x": 8.75, + "y": 1 + }, + { + "label": "k19", + "x": 9.75, + "y": 1 + }, + { + "label": "k1a", + "x": 10.75, + "y": 1 + }, + { + "label": "k1b", + "x": 11.75, + "y": 1 + }, + { + "label": "k1c", + "x": 12.75, + "y": 1, + "w": 2.25 + }, + { + "label": "k20", + "x": 0, + "y": 2, + "w": 2.25 + }, + { + "label": "k21", + "x": 2.25, + "y": 2 + }, + { + "label": "k22", + "x": 3.25, + "y": 2 + }, + { + "label": "k23", + "x": 4.25, + "y": 2 + }, + { + "label": "k24", + "x": 5.25, + "y": 2 + }, + { + "label": "k25", + "x": 6.25, + "y": 2 + }, + { + "label": "k26", + "x": 7.25, + "y": 2 + }, + { + "label": "k27", + "x": 8.25, + "y": 2 + }, + { + "label": "k28", + "x": 9.25, + "y": 2 + }, + { + "label": "k29", + "x": 10.25, + "y": 2 + }, + { + "label": "k2b", + "x": 11.25, + "y": 2, + "w": 1.75 + }, + { + "label": "k2c", + "x": 13, + "y": 2 + }, + { + "label": "k2d", + "x": 14, + "y": 2 + }, + { + "label": "k30", + "x": 0, + "y": 3, + "w": 1.25 + }, + { + "label": "k31", + "x": 1.25, + "y": 3, + "w": 1.25 + }, + { + "label": "k32", + "x": 2.5, + "y": 3, + "w": 1.25 + }, + { + "label": "k33", + "x": 3.75, + "y": 3, + "w": 2.25 + }, + { + "label": "k34", + "x": 6, + "y": 3, + "w": 1.25 + }, + { + "label": "k36", + "x": 7.25, + "y": 3, + "w": 2.75 + }, + { + "label": "k39", + "x": 10, + "y": 3 + }, + { + "label": "k3a", + "x": 11, |