@ -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 <http://www.gnu.org/licenses/>. | |||
*/ | |||
#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 |
@ -0,0 +1,77 @@ | |||
{ | |||
"keyboard_name": "Atreyu", | |||
"manufacturer": "Heyzeus", | |||
"url": "https://github.com/climent/atreyu", | |||
"maintainer": "Jesus Climent <climent@gmail.com>", | |||
"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} | |||
] | |||
} | |||
} | |||
} |
@ -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 <http://www.gnu.org/licenses/>. | |||
*/ | |||
#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 |
@ -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 <http://www.gnu.org/licenses/>. | |||
*/ | |||
#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 } \ | |||
} | |||
@ -0,0 +1 @@ | |||
# This file intentionally left blank |