qmk-keychron-q3-colemak-dh/keyboards/yanghu/unicorne/unicorne.h
Yang Hu ad6d85ef5a
Add a new keyboard "Unicorne" (#12993)
* Add keyboards/yanghu/unicorne initial files.

* add default keymap to yanghu/unicorne

* use slow i2c and enable internal pullup resistor

* add oled to default keymaps

* fix unicorne default keymap

* fix encoder pad direction

* fix marauder

* add led matrix configs.

* add encoder code to default keymap.

* fix encoder direction

* add readme, info.json and update copyright for c files.

* fix build error by clean up include in unicorne.c

* fix images in readme files

* Fix various issues in PR #12993 feedback.

* Added copyright in glcdfont, fix include in that file.
* Removed `_kc` layout and renamed layout with generic style.
* Moved capslock oled update to oled.c inside `oled_task_user()`.

* Update keyboards/yanghu/unicorne/keymaps/default/rules.mk

Always include oled.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/keymaps/default/oled.c

Wrap `oled.c` with ifdef.

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/keymaps/default/oled.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* move oled code to unicorne.c, and set weakly.

* Update keyboards/yanghu/unicorne/config.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/keymaps/default/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/unicorne.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/yanghu/unicorne/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/yanghu/unicorne/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/yanghu/unicorne/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/yanghu/unicorne/readme.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/yanghu/unicorne/keymaps/default/oled.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/yanghu/unicorne/f411/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/yanghu/unicorne/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* remove oled.h

* remove include of oled.h after the file is deleted.

* Apply suggestions from code review: remove redundant macros and reformat.

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>

* Apply suggestions from code review: change OLED driver macro.

Use `OLED_ENABLE` instead of `OLED_DRIVER_ENABLE`.

Co-authored-by: Jonathan Rascher <jon@bcat.name>

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Jonathan Rascher <jon@bcat.name>
2021-11-05 20:10:15 +11:00

51 lines
1.8 KiB
C

/* Copyright 2021 Yang Hu
*
* 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"
#ifdef OLED_ENABLE
void oled_render_capslock(bool caps_on);
void oled_render_mods(void);
void oled_render_keylog(void);
#endif
/* This 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.
*/
// clang-format off
#define LAYOUT_split_3x6_4( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, \
K30, K31, K32, K33, K34, K35, K36, K37 \
) \
{ \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B }, \
{ KC_NO, KC_NO, K30, K31, K32, K33, K34, K35, K36, K37, KC_NO, KC_NO} \
}
// clang-format on
#define LAYOUT LAYOUT_split_3x6_4