qmk_firmware/keyboards/wren/wren.h
Walter Hanley db8cf0b872
[Keyboard] Add Support for Wren Keyboard (#14570)
* initial prime_o commit

* Cleaned up comments, other things.

* Updated keymap to use standard seven-underscore KC_TRNS notation

* initial prime_o commit

* Cleaned up comments, other things.

* Updated keymap to use standard seven-underscore KC_TRNS notation

* Initial Code for Wren Keyboard

This is the initial hardware test commit for the wren. More detailed keymaps will be added soon.

* Update layout and add author

* Add PCB Image and Clarify Bootloader Instructions

* Update config.h

Updating config.h to remove mentions to LED backlighting (not supported on this PCB)

* Update wren.h to match PR checklist

* Roll back addition of code that should have been in wren.h

* Update /default/keymap.c

Make keyboard.c "pristine" to the best of my ability and add information about configuring a "non-standard" layout.

* Update readme.md

* Update keymap readmes to match PR checklist

* Update readme.md

* Final touches before PR

* Un-delete non-wren files

* Create rules.mk

* Create config.h

* Update keyboards/wren/keymaps/walterhanley/keymap.c

* Update keyboards/wren/keymaps/walterhanley/keymap.c

* Update keyboards/wren/wren.c

As per feedback, move encoder definition to wren.c from keymap.c.

* Update keyboards/wren/keymaps/walterhanley/keymap.c

As per feedback, move encoder definition to wren.c from keymap.c

* Update keyboards/wren/keymaps/default/keymap.c

As per feedback, move encoder definition to wren.c from keymap.c

* Create Keymap-Level config.h

I've been dealing with some issues with this board over-drawing power on certain devices; this should fix that issue on my build without affecting other users.

* Add bells and whistles to personal keymap

This update adds bells and whistles to my personal keymap. I couldn't figure out how to modify rotary encoder functionality for just my personal layout with the definition in wren.c, so I moved it back into the individual keymaps. Please let me know if this is an issue and I can look into possible alternative implementations.

* Update to match drashna's requested changes

* Update keymap.c

This update refines drashna's requested changes.

* Update keymap.c

Fix typo
2022-01-06 17:38:42 -08:00

47 lines
2.3 KiB
C

/* Copyright 2021 Walter Hanley
*
* 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 LAYOUT( \
L00, L01, L02, L03, L04, L05, L06, L07, L08, L09, R00, R01, R02, R03, R04, R05, R06, R07, R08, R09, \
L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, \
L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, \
L30, L31, L32, L33, L34, L35, L36, L37, L38, L39, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, \
LT0, LT1, LT2, LT3, LT4, RT0, RT1, RT2, RT3, RT4 \
) { \
{ L09, L08, L07, L06, L05, L04, L03, L02, L01, L00 }, \
{ L19, L18, L17, L16, L15, L14, L13, L12, L11, L10 }, \
{ L29, L28, L27, L26, L25, L24, L23, L22, L21, L20 }, \
{ L39, L38, L37, L36, L35, L34, L33, L32, L31, L30 }, \
{ LT4, LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ R00, R01, R02, R03, R04, R05, R06, R07, R08, R09 }, \
{ R10, R11, R12, R13, R14, R15, R16, R17, R18, R19 }, \
{ R20, R21, R22, R23, R24, R25, R26, R27, R28, R29 }, \
{ R30, R31, R32, R33, R34, R35, R36, R37, R38, R39 }, \
{ RT0, RT1, RT2, RT3, RT4, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
}