qmk_firmware/keyboards/wren/config.h

77 lines
2.1 KiB
C
Raw Normal View History

[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-07 01:38:42 +00:00
/*
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
/* key matrix size */
// Rows are doubled-up (Bottom set of rows are used for the right half)
#define MATRIX_ROWS 10
#define MATRIX_COLS 10
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { D3, D2, C6, D4, B5 }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4, D7, F0 }
// define encoders
#define ENCODERS_PAD_A \
{ E6 }
#define ENCODERS_PAD_B \
{ B4 }
#define ENCODERS_PAD_A_RIGHT \
{ B4 }
#define ENCODERS_PAD_B_RIGHT \
{ E6 }
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define USE_I2C
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT