diff options
Diffstat (limited to 'keyboards/monstargear/xo87/solderable/solderable.h')
-rw-r--r-- | keyboards/monstargear/xo87/solderable/solderable.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/keyboards/monstargear/xo87/solderable/solderable.h b/keyboards/monstargear/xo87/solderable/solderable.h new file mode 100644 index 0000000000..ed992b4634 --- /dev/null +++ b/keyboards/monstargear/xo87/solderable/solderable.h @@ -0,0 +1,102 @@ +/* Copyright 2021 datafx + * + * 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/>. + */ + +#define LAYOUT_all( \ + K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, \ + K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, \ + K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, \ + K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, \ + K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, \ + K500, K501, K502, K505, K506, K509, K510, K511, K512, K513, K514, K515 \ +) { \ + { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015 }, \ + { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115 }, \ + { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215 }, \ + { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, KC_NO }, \ + { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415 }, \ + { K500, K501, K502, KC_NO, KC_NO, K505, K506, KC_NO, KC_NO, K509, K510, K511, K512, K513, K514, K515 } \ +} + +#define u8 uint8_t +#define u16 uint16_t + +#pragma once + +#include "quantum.h" + +#define KEYLED_ROWS 6 +#define KEYLED_COLS 16 + +#define XaxisMax 18 +#define YaxisMax 6 + +#define RhythmLedColumMax 18 + +typedef struct{ + u8 onf; + u8 hightLevel; + u8 ColumHeight[RhythmLedColumMax]; +} + +RhythmLed_; + +typedef struct{ + u8 r,g,b; +} + +rgb_; +#define colorAGSize 10 +#define colorBGSize RGBLED_NUM-10 + +typedef struct{ + rgb_ colorAG[colorAGSize]; + rgb_ colorBG[RGBLED_NUM-10]; +} + +backLedRgbG_; + +#define Lseg0 E5 +#define Lseg1 B4 +#define Lseg2 B5 +#define Lseg3 F0 +#define Lseg4 C6 +#define Lseg5 D5 + +#define Lcom0 C4 +#define Lcom1 C2 +#define Lcom2 C0 +#define Lcom3 E0 +#define Lcom4 D4 +#define Lcom5 E4 +#define Lcom6 B6 +#define Lcom7 B2 +#define Lcom8 F4 +#define Lcom9 A0 +#define Lcom10 F2 +#define Lcom11 A4 +#define Lcom12 F1 +#define Lcom13 A7 +#define Lcom14 D3 +#define Lcom15 A3 + +extern void keyLedDriver(void); +extern void KeyLedCom(void); +u8 getKeyLedIndexForXY(u8 x,u8 y); + +extern void ledCapsSet(bool onf); +extern void ledNumSet(bool onf); +extern void ledSollSet(bool onf); +void reflashLedState(void); |