[Keyboard] Set reasonable defaults for Corne keyboard (#13440)

* [Keyboard] Set reasonable defaults for Corne keyboard

* Add note about bootmagic

* Make bootmagic config super weak

* cleanup

* Apply suggestions from code review

* Update keyboards/crkbd/readme.md
This commit is contained in:
Drashna Jaelre 2021-07-06 10:47:26 -07:00 committed by GitHub
parent acf7de7a52
commit 792c4e7893
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 72 additions and 37 deletions

View file

@ -21,20 +21,22 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h" #include "config_common.h"
/* USB Device descriptor parameter */ /* USB Device descriptor parameter */
#define VENDOR_ID 0x4653 #define VENDOR_ID 0x4653
#define PRODUCT_ID 0x0001 #define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001 #define DEVICE_VER 0x0001
#define MANUFACTURER foostan #define MANUFACTURER foostan
#define PRODUCT Corne #define PRODUCT Corne
/* key matrix size */ /* key matrix size */
// Rows are doubled-up // Rows are doubled-up
#define MATRIX_ROWS 8 #define MATRIX_ROWS 8
#define MATRIX_COLS 6 #define MATRIX_COLS 6
#define MATRIX_ROW_PINS { D4, C6, D7, E6 } #define MATRIX_ROW_PINS \
{ D4, C6, D7, E6 }
// wiring of each half // wiring of each half
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3 } #define MATRIX_COL_PINS \
{ F4, F5, F6, F7, B1, B3 }
// #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order // #define MATRIX_COL_PINS { B2, B3, B1, F7, F6, F5, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
/* define if matrix has ghost */ /* define if matrix has ghost */
@ -51,7 +53,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */ /* Locking resynchronize hack */
//#define LOCKING_RESYNC_ENABLE //#define LOCKING_RESYNC_ENABLE
/* /*
* Feature disable options * Feature disable options
* These options are also useful to firmware size reduction. * These options are also useful to firmware size reduction.

View file

@ -0,0 +1,31 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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
#ifndef BOOTMAGIC_LITE_ROW
# define BOOTMAGIC_LITE_ROW 0
#endif
#ifndef BOOTMAGIC_LITE_COLUMN
# define BOOTMAGIC_LITE_COLUMN 1
#endif
#ifndef BOOTMAGIC_LITE_ROW_RIGHT
# define BOOTMAGIC_LITE_ROW_RIGHT 4
#endif
#ifndef BOOTMAGIC_LITE_COLUMN_RIGHT
# define BOOTMAGIC_LITE_COLUMN_RIGHT 1
#endif

View file

@ -20,6 +20,12 @@ make crkbd:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
The Corne PCBs have a reset button next to the TRRS jack to enter in to the bootloader.
Additionally, if you hold down the "Q" or "P" buttons when plugging in that half of the keyboard (per the default QWERTY layout), this will jump to the bootloader and reset the EEPROM (persistent storage). This would normally be the very top corner-most position, but due to the breakaway column, it's left at Q and P for compatibility.
## RGB Matrix ## RGB Matrix
The Corne Keyboard also supports using the RGB Matrix feature, in place of RGB Light. This provids a better experience when using the keyboard, as it supports a number of per key effects properly. If you're not using the in switch LEDs, then you may want to pass on doing this. The Corne Keyboard also supports using the RGB Matrix feature, in place of RGB Light. This provids a better experience when using the keyboard, as it supports a number of per key effects properly. If you're not using the in switch LEDs, then you may want to pass on doing this.

View file

@ -22,17 +22,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SOFT_SERIAL_PIN D2 #define SOFT_SERIAL_PIN D2
/* ws2812 RGB LED */ /* ws2812 RGB LED */
#define RGB_DI_PIN D3 #define RGB_DI_PIN D3
#ifdef RGBLIGHT_ENABLE #ifdef RGBLIGHT_ENABLE
# define RGBLED_NUM 12 // Number of LEDs # define RGBLED_NUM 12 // Number of LEDs
# define RGBLED_SPLIT \
{ 6, 6 }
# define RGBLIGHT_SPLIT # define RGBLIGHT_SPLIT
#endif #endif
#ifdef RGB_MATRIX_ENABLE #ifdef RGB_MATRIX_ENABLE
# define RGBLED_NUM 54 // Number of LEDs # define RGBLED_NUM 54 // Number of LEDs
# define DRIVER_LED_TOTAL RGBLED_NUM # define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_SPLIT { 27, 27 } # define RGB_MATRIX_SPLIT \
{ 27, 27 }
# define SPLIT_TRANSPORT_MIRROR # define SPLIT_TRANSPORT_MIRROR
#endif #endif

View file

@ -2,39 +2,33 @@
MCU = atmega32u4 MCU = atmega32u4
# Bootloader selection # Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = caterina BOOTLOADER = caterina
# Build Options # Build Options
# change to "no" to disable the options, or define them in the Makefile in # change yes to no to disable
# the appropriate keymap folder that will get included automatically
# #
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
MIDI_ENABLE = no # MIDI controls # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
AUDIO_ENABLE = no # Audio output on port C6 NKRO_ENABLE = yes # USB Nkey Rollover
UNICODE_ENABLE = no # Unicode BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = no RGB_MATRIX_ENABLE = no
RGB_MATRIX_DRIVER = WS2812 RGB_MATRIX_DRIVER = WS2812
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if firmware size over limit, try this option # if firmware size over limit, try this option
# LTO_ENABLE = yes # LTO_ENABLE = yes
LAYOUTS = split_3x5_3 split_3x6_3
DEFAULT_FOLDER = crkbd/rev1 DEFAULT_FOLDER = crkbd/rev1
RGBLIGHT_SUPPORTED = yes
RGB_MATRIX_SUPPORTED = yes
LAYOUTS = split_3x5_3 split_3x6_3