forked from forks/qmk_firmware
51cfb1b457
* sync oled code over the keymaps * put different product ids * put different product ids for the rest * put different product ids for the rest * try to reduce code duplication * make ifdefs nice and correct * move the leds code out of keymap * try to reduce code duplication * move the rgb code outside the keymaps for reuse * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <drashna@live.com> * Update keyboards/mlego/m65/m65.c Co-authored-by: Drashna Jaelre <drashna@live.com> * move more code outside keymaps for reuse * add few more xps * add mic mute * update to new name of macros for reset * style for matrix * clean split * use tinyuf2 as bootloader * Update keyboards/mlego/m65/rev4/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * radionalise product id and device version * add tinyuf2 as default bootloader for stm32f4 * update tinyuf2 * update tinyuf2 and via. f411 remove tinyuf2 since is not really working. make the config more conditional * sync the keymap with default * revert via non building with gcc 11 Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
169 lines
3.2 KiB
C
169 lines
3.2 KiB
C
/*
|
|
Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
|
|
|
|
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_ortho_5x13( \
|
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, \
|
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, \
|
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
|
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
|
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 \
|
|
) { \
|
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 }, \
|
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112 }, \
|
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
|
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 }, \
|
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 } \
|
|
}
|
|
|
|
enum unicode_names {
|
|
la = 0,
|
|
lA,
|
|
lb,
|
|
lB,
|
|
lc,
|
|
lC,
|
|
ld,
|
|
lD,
|
|
le,
|
|
lE,
|
|
lf,
|
|
lF,
|
|
lg,
|
|
lG,
|
|
lh,
|
|
lH,
|
|
li,
|
|
lI,
|
|
lj,
|
|
lJ,
|
|
lk,
|
|
lK,
|
|
ll,
|
|
lL,
|
|
lm,
|
|
lM,
|
|
ln,
|
|
lN,
|
|
lo,
|
|
lO,
|
|
lp,
|
|
lP,
|
|
lq,
|
|
lQ,
|
|
lr,
|
|
lR,
|
|
ls,
|
|
lS,
|
|
lt,
|
|
lT,
|
|
lu,
|
|
lU,
|
|
lv,
|
|
lV,
|
|
lw,
|
|
lW,
|
|
lx,
|
|
lX,
|
|
ly,
|
|
lY,
|
|
lz,
|
|
lZ,
|
|
lc1,
|
|
lC1,
|
|
lp1,
|
|
lP1,
|
|
lq1,
|
|
lQ1,
|
|
ll1,
|
|
lL1,
|
|
lk1,
|
|
lK1,
|
|
ra,
|
|
rA,
|
|
ra1,
|
|
rA1,
|
|
rc,
|
|
rC,
|
|
ri,
|
|
rI,
|
|
rs,
|
|
rS,
|
|
rt,
|
|
rT,
|
|
ro,
|
|
rO,
|
|
ra2,
|
|
rA2,
|
|
ra3,
|
|
rA3
|
|
};
|
|
|
|
|
|
enum layer_names {
|
|
_QW = 0,
|
|
_LWR,
|
|
_RSE,
|
|
_ADJ
|
|
};
|
|
|
|
#ifdef OLED_ENABLE
|
|
void user_oled_magic(void);
|
|
void render_logo(void);
|
|
void clear_screen(void);
|
|
void init_timer(void);
|
|
#endif
|
|
|
|
#ifdef ENCODER_ENABLE
|
|
void my_encoders(const uint8_t, const bool);
|
|
bool encoder_update_user(uint8_t, bool);
|
|
#endif
|
|
|
|
#ifdef RGBLIGHT_ENABLE
|
|
void set_rgb_layers(layer_state_t);
|
|
const rgblight_segment_t * const* my_rgb(void);
|
|
void set_default_rgb_layers(layer_state_t);
|
|
#endif
|
|
|
|
|
|
void toggle_leds(void);
|
|
void set_led_toggle(const uint8_t, const bool);
|
|
|
|
static inline void led_lwr(const bool on) {
|
|
#ifdef LED_NUM_LOCK_PIN
|
|
writePin(LED_NUM_LOCK_PIN, on);
|
|
#endif
|
|
}
|
|
|
|
static inline void led_rse(const bool on) {
|
|
#ifdef LED_SCROLL_LOCK_PIN
|
|
writePin(LED_SCROLL_LOCK_PIN, on);
|
|
#endif
|
|
}
|
|
static inline void led_caps(const bool on) {
|
|
#ifdef LED_CAPS_LOCK_PIN
|
|
if ((PRODUCT_ID == 0x6061) && (DEVICE_VER == 0x0002)) {
|
|
writePin(LED_CAPS_LOCK_PIN, on);
|
|
} else {
|
|
writePin(LED_CAPS_LOCK_PIN, !on);
|
|
}
|
|
#endif
|
|
}
|