diff --git a/keyboards/atreyu/atreyu.h b/keyboards/atreyu/atreyu.h index 92471092ef6..64db24a4eea 100644 --- a/keyboards/atreyu/atreyu.h +++ b/keyboards/atreyu/atreyu.h @@ -18,4 +18,6 @@ #if defined(KEYBOARD_atreyu_rev1) # include "rev1.h" +#elif defined(KEYBOARD_atreyu_rev2) +# include "rev2.h" #endif diff --git a/keyboards/atreyu/rev2/config.h b/keyboards/atreyu/rev2/config.h new file mode 100644 index 00000000000..c87807dee9d --- /dev/null +++ b/keyboards/atreyu/rev2/config.h @@ -0,0 +1,70 @@ +/* Copyright 2022 Jesus Climent (@climent) + * + * 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" + +/* key matrix size */ +#define MATRIX_ROWS 10 +#define MATRIX_COLS 6 + +/* + * 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 { D7, E6, B4, B5, F6, F7, B1, B3, B6, B2 } +#define MATRIX_COL_PINS { F4, F5, C6, D4, D2, D3 } + +/* encoder support */ +#define ENCODERS_PAD_A { D5, D5 } +#define ENCODERS_PAD_B { B7, C7 } +#define ENCODER_RESOLUTION 4 + +/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */ +#define DIODE_DIRECTION COL2ROW + +/* 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 + +/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. + * This is userful for the Windows task manager shortcut (ctrl+shift+esc). + */ +// #define GRAVE_ESC_CTRL_OVERRIDE + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT diff --git a/keyboards/atreyu/rev2/info.json b/keyboards/atreyu/rev2/info.json new file mode 100644 index 00000000000..45324ce73ea --- /dev/null +++ b/keyboards/atreyu/rev2/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "Atreyu", + "manufacturer": "Heyzeus", + "url": "https://github.com/climent/atreyu", + "maintainer": "Jesus Climent ", + "usb": { + "vid": "0xFEED", + "pid": "0x0001", + "device_version": "0.0.2" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":0, "y":0.5}, + {"x":1, "y":0.375}, + {"x":2, "y":0.125}, + {"x":3, "y":0}, + {"x":4, "y":0.125}, + {"x":5, "y":0.25}, + {"x":10.5, "y":0.25}, + {"x":11.5, "y":0.125}, + {"x":12.5, "y":0}, + {"x":13.5, "y":0.125}, + {"x":14.5, "y":0.375}, + {"x":15.5, "y":0.5}, + {"x":0, "y":1.5}, + {"x":1, "y":1.375}, + {"x":2, "y":1.125}, + {"x":3, "y":1}, + {"x":4, "y":1.125}, + {"x":5, "y":1.25}, + {"x":10.5, "y":1.25}, + {"x":11.5, "y":1.125}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1.125}, + {"x":14.5, "y":1.375}, + {"x":15.5, "y":1.5}, + {"x":0, "y":2.5}, + {"x":1, "y":2.375}, + {"x":2, "y":2.125}, + {"x":3, "y":2}, + {"x":4, "y":2.125}, + {"x":5, "y":2.25}, + {"x":10.5, "y":2.25}, + {"x":11.5, "y":2.125}, + {"x":12.5, "y":2}, + {"x":13.5, "y":2.125}, + {"x":14.5, "y":2.375}, + {"x":15.5, "y":2.5}, + {"x":0, "y":3.5}, + {"x":1, "y":3.375}, + {"x":2, "y":3.125}, + {"x":3, "y":3}, + {"x":4, "y":3.125}, + {"x":5, "y":3.25}, + {"x":6, "y":2.75}, + {"x":9.5, "y":2.75}, + {"x":10.5, "y":3.25}, + {"x":11.5, "y":3.125}, + {"x":12.5, "y":3}, + {"x":13.5, "y":3.125}, + {"x":14.5, "y":3.375}, + {"x":15.5, "y":3.5}, + {"x":0, "y":4.5}, + {"x":2.5, "y":4.125}, + {"x":3.5, "y":4.15}, + {"x":4.5, "y":4.25}, + {"x":6, "y":4.25, "h":1.25}, + {"x":9.5, "y":4.25, "h":1.25}, + {"x":11, "y":4.25}, + {"x":12, "y":4.15}, + {"x":13, "y":4.125}, + {"x":14.5, "y":4.5} + ] + } + } +} diff --git a/keyboards/atreyu/rev2/rev2.c b/keyboards/atreyu/rev2/rev2.c new file mode 100644 index 00000000000..38d3e9bc029 --- /dev/null +++ b/keyboards/atreyu/rev2/rev2.c @@ -0,0 +1,41 @@ +/* Copyright 2022 Jesus Climent (@climent) + * + * 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" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + + if (index == 1) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + if (index == 0) { + if (clockwise) { + tap_code(KC_WH_U); + } else { + tap_code(KC_WH_D); + } + } + return true; +} +#endif diff --git a/keyboards/atreyu/rev2/rev2.h b/keyboards/atreyu/rev2/rev2.h new file mode 100644 index 00000000000..4f6852593f2 --- /dev/null +++ b/keyboards/atreyu/rev2/rev2.h @@ -0,0 +1,40 @@ +/* Copyright 2022 Jesus Climent (@climent) + * + * 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 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, k40, k41, k42, k43, k44, k45, k46, k47,\ + k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59\ +) \ +{ \ + { k00, k01, k02, k03, k04, k05 },\ + { k12, k13, k14, k15, k16, k17 },\ + { k24, k25, k26, k27, k28, k29 },\ + { k36, k37, k38, k39, k40, k41 },\ + { k11, k10, k09, k08, k07, k06 },\ + { k23, k22, k21, k20, k19, k18 },\ + { k35, k34, k33, k32, k31, k30 },\ + { k47, k46, k45, k44, k43, k42 },\ + { k48, k49, k50, k51, k52, k53 },\ + { k59, k58, k57, k56, k55, k54 } \ +} + diff --git a/keyboards/atreyu/rev2/rules.mk b/keyboards/atreyu/rev2/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/atreyu/rev2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank