From 25d9cdc88fa990251c5528d07027448c7c801f58 Mon Sep 17 00:00:00 2001 From: Monksoffunk Date: Wed, 30 Dec 2020 06:13:35 +0900 Subject: Add ALETH42 keyboard (#10720) * Add Aleth42 keyboard * Fix Rotary Encoder Section * Add VIA keymap * Fix VIA keymap remove RETRO_TAPPING define because of incompatiblity of rotary encoders with layer tapping. change KC_ESC to KC_GESC * Change TAPPING definitions Comment TAPPING_TERM Remove RETRO_TAPPING * Add rev1 Add new rev1 directory Move previous files to rev0 * Add define of ENCODER_RESOLUTION * Change number of RGBLED * Change USB descriptor param Change VID, PID and product name * Change default and via keymaps * Remove upper keymap * Add readme * Change USB descriptor param VID 0x04D8 PID 0xEAC8 Manufacturer 25KEYS rev0 -> 0x0000 rev1 -> 0x0001 Remove define DESCRIPTION * Fix info.json Remove info,json under /rev0 /rev1 Add correct info.json at keyboard/aleth42/ * Change keymaps * Remove unnecessary comments * Change BOOTMAGIC option * Change config options * Fix readme files * Change keymap readme files * Change to use get_highest_layer * Update keyboards/aleth42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/keymap.c Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Use tap_code16 function * Remove empty config file * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/default/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan * Update keyboards/aleth42/keymaps/via/readme.md Co-authored-by: Ryan Co-authored-by: Ryan --- keyboards/aleth42/rev0/config.h | 82 ++++++++++++++++++++++++++++++++++++++++ keyboards/aleth42/rev0/readme.md | 15 ++++++++ keyboards/aleth42/rev0/rev0.c | 17 +++++++++ keyboards/aleth42/rev0/rev0.h | 54 ++++++++++++++++++++++++++ keyboards/aleth42/rev0/rules.mk | 22 +++++++++++ 5 files changed, 190 insertions(+) create mode 100644 keyboards/aleth42/rev0/config.h create mode 100644 keyboards/aleth42/rev0/readme.md create mode 100644 keyboards/aleth42/rev0/rev0.c create mode 100644 keyboards/aleth42/rev0/rev0.h create mode 100644 keyboards/aleth42/rev0/rules.mk (limited to 'keyboards/aleth42/rev0') diff --git a/keyboards/aleth42/rev0/config.h b/keyboards/aleth42/rev0/config.h new file mode 100644 index 0000000000..da10e30a4f --- /dev/null +++ b/keyboards/aleth42/rev0/config.h @@ -0,0 +1,82 @@ +/* +Copyright 2020 monksoffunk + +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 0x04D8 +#define PRODUCT_ID 0xEAC8 +#define DEVICE_VER 0x0000 +#define MANUFACTURER 25KEYS +#define PRODUCT ALETH42 + +/* key matrix size */ +#define MATRIX_ROWS 4 +#define MATRIX_COLS 11 + +/* key matrix pins */ +#define MATRIX_ROW_PINS { B0, B1, B2, B3 } +#define MATRIX_COL_PINS { D0, D1, D2, D3, D4, D5, D6, C2, C4, C5, C6 } +#define UNUSED_PINS + +/* COL2ROW, ROW2COL*/ +#define DIODE_DIRECTION COL2ROW + +#define ENCODERS_PAD_A { B6, B5 } // located @ upper left +#define ENCODERS_PAD_B { B7, B4 } // located @ bottom left + +#define RGB_DI_PIN C7 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 6 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ + /*== all animations enable ==*/ + #define RGBLIGHT_ANIMATIONS +// /*== or choose animations ==*/ +// #define RGBLIGHT_EFFECT_BREATHING +// #define RGBLIGHT_EFFECT_RAINBOW_MOOD +// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL +// #define RGBLIGHT_EFFECT_SNAKE +// #define RGBLIGHT_EFFECT_KNIGHT +// #define RGBLIGHT_EFFECT_CHRISTMAS +// #define RGBLIGHT_EFFECT_STATIC_GRADIENT +// #define RGBLIGHT_EFFECT_RGB_TEST +// #define RGBLIGHT_EFFECT_ALTERNATING +// /*== customize breathing effect ==*/ +// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ +// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64 +// /*==== use exp() and sin() ====*/ +// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7 +// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 +#endif + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* disable these deprecated features by default */ +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION \ No newline at end of file diff --git a/keyboards/aleth42/rev0/readme.md b/keyboards/aleth42/rev0/readme.md new file mode 100644 index 0000000000..2457a7a10a --- /dev/null +++ b/keyboards/aleth42/rev0/readme.md @@ -0,0 +1,15 @@ +# ALETH42 + +![ALETH42](https://i.imgur.com/6hJVBQl.png) + +40% keyboard with rotary encoder (optional) + +* Keyboard Maintainer: [monksoffunk](https://github.com/monksoffunk/) [@monksoffunkJP](https://twitter.com/monksoffunkJP) +* Hardware Supported: ALETH42 PCB +* Hardware Availability: [twitter](https://twitter.com/monksoffunkJP) + +Make example for this keyboard (after setting up your build environment): + + make aleth42:default + +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). diff --git a/keyboards/aleth42/rev0/rev0.c b/keyboards/aleth42/rev0/rev0.c new file mode 100644 index 0000000000..ce91e83804 --- /dev/null +++ b/keyboards/aleth42/rev0/rev0.c @@ -0,0 +1,17 @@ +/* Copyright 2020 monksoffunk + * + * 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 "rev0.h" \ No newline at end of file diff --git a/keyboards/aleth42/rev0/rev0.h b/keyboards/aleth42/rev0/rev0.h new file mode 100644 index 0000000000..a5dd74037f --- /dev/null +++ b/keyboards/aleth42/rev0/rev0.h @@ -0,0 +1,54 @@ +/* Copyright 2020 monksoffunk + * + * 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" + +// for readability +#define XXX KC_NO + +/* This is a shortcut to help you visually see your layout. + * + * The first section contains all of the arguments representing the physical + * layout of the board and position of the keys. + * + * The second converts the arguments into a two-dimensional array which + * represents the switch matrix. + */ +/* ALETH42 layout + * ,-----------------------------------------------------------. + * | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 38 | + * |-----------------------------------------------------------| + * | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | + * |-----------------------------------------------------------| + * | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | + * |-----------------------------------------------------------| + * | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | + * `-----------------------------------------------------------' + */ +#define LAYOUT( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k38,\ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A,\ + k30, k31, k32, k33, k34, k35, k36, k37\ +) \ +{ \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A },\ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A },\ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A },\ + { k30, k31, k32, k33, k34, k35, k36, k37, XXX, XXX, k38 }\ +} diff --git a/keyboards/aleth42/rev0/rules.mk b/keyboards/aleth42/rev0/rules.mk new file mode 100644 index 0000000000..a54fa022f5 --- /dev/null +++ b/keyboards/aleth42/rev0/rules.mk @@ -0,0 +1,22 @@ +# MCU name +MCU = atmega32u2 + +# Bootloader selection +BOOTLOADER = atmel-dfu + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +MOUSEKEY_ENABLE = no # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = yes # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +NKRO_ENABLE = no # USB Nkey Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +ENCODER_ENABLE = yes +TAP_DANCE_ENABLE = no -- cgit v1.2.3