keychron_qmk_firmware/keyboards/ramonimbao/herringbone/v1/v1.h
Ramon Imbao 8657f54f9e
[Keyboard] Add Herringbone Pro, re-organize herringbone folder (#11115)
* Add Herringbone Pro, reorganize herringbone folder

* Finish encoder functionality

* Change image in readme

* Fix info.json

* Flip encoder direction

* Update keyboards/ramonimbao/herringbone/pro/config.h

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/readme.md

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Add OLED support, split space, default folder

* Fix LAYOUT_all in info.json

* Remove WPM feature

* Add readme to top level herringbone folder

* Re-add WPM because now the OLED won't turn back on lol

* Add missing timer_read32

* Add OLED wakeup on knob use

* Update keyboards/ramonimbao/herringbone/v1/rules.mk

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

* Update keyboards/ramonimbao/herringbone/v1/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Update keyboards/ramonimbao/herringbone/pro/rules.mk

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

* Add small QoL improvments for tapping

* Update keyboards/ramonimbao/herringbone/readme.md

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

* Add bootloader instructions and improve LAYOUT_all a bit

* Update keyboards/ramonimbao/herringbone/pro/pro.h

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/ramonimbao/herringbone/pro/info.json

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/ramonimbao/herringbone/pro/info.json

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/ramonimbao/herringbone/pro/keymaps/iso/keymap.c

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/ramonimbao/herringbone/v1/readme.md

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-01-10 21:55:32 -08:00

83 lines
4.0 KiB
C

/* Copyright 2020 Ramon Imbao
*
* 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"
/* This is 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.
*/
#define XXX KC_NO
#define LAYOUT_ansi( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4d, k4e, \
k50, k52, k53, k55, k59, k5a, k5c, k5d, k5e \
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, XXX, k4d, k4e }, \
{ k50, XXX, k52, k53, XXX, k55, XXX, XXX, XXX, k59, k5a, XXX, k5c, k5d, k5e } \
}
#define LAYOUT_iso( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
k40, k51, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4d, k4e, \
k50, k52, k53, k55, k59, k5a, k5c, k5d, k5e \
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, XXX, k3d, k3e }, \
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, XXX, k4d, k4e }, \
{ k50, k51, k52, k53, XXX, k55, XXX, XXX, XXX, k59, k5a, XXX, k5c, k5d, k5e } \
}
// Split backspace
#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k3c, k1e, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, k3e, \
k40, k51, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4d, k4e, \
k50, k52, k53, k55, k59, k5a, k5c, k5d, k5e \
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, k3e }, \
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, XXX, k4d, k4e }, \
{ k50, k51, k52, k53, XXX, k55, XXX, XXX, XXX, k59, k5a, XXX, k5c, k5d, k5e } \
}