mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-12-28 04:19:56 +00:00
50a12c06b9
* bastardkb: restructure folder hierarchy ahead of supporting other adapters/mcus Upcoming support for the following (adapter, mcu) pairs will be submitted in follow-up PRs: - `v2/elitec` - `v2/stemcell` - `blackpill` This PR contains the following changes: - Move previous implementation to an inner `v1/elitec` folder - Move keyboard USB IDs and strings to data driven - Update headers to update maintainers list - Run `qmk format-c` * bastardkb/charybdis: remove broken acceleration implementation * bastardkb/charybdis: fix debug output * bastardkb: add support for BastardKb the `v2/elitec` (adapter, mcu) pair * bastardkb: add Blackpill support * bastardkb/charybdis/3x5: add `bstiq` keymap * bastardkb/charybdis: add fake LEDs to the configuration For the Charybdis 3x5 (respectively 4x6), the LED config now simulates 36 (respectively 58) LEDs instead of the actual 35 (respectively 56) to prevent confusion when testing LEDs during assembly when handedness is not set correctly. Those fake LEDs are bound to the physical bottom-left corner. * bastardkbk/charybdis/readme.md: update build commands Merge pull request #5 from Nathancooke7/update_charybdis_readme_v2_shield. * bastardkb/charybdis: fix Via keymap with blackpill * bastardkb/charybdis: add 3x6 configuration * bastardkb/charybdis: remove unnecessary files * bastardkb/charybdis: remove obsolete code * bastardkb/charybdis/3x6: add Via keymap * bastardkb: add support for Splinky (RP2040) board * bastardkb: initial configuration for the Splinky (SPI not working yet) * bastardkb/charybdis/3x5/v2/splinky: tentative change to enable trackball * bastardkb/charybdis/3x5/v2/splinky: fix SCK, MISO, MOSI pins * bastardkb/charybdis/3x5/v2/splinky: fix SCK, MISO, MOSI pins * bastardkb/charybdis/4x6/v2/splinky: add SPI configuration and enable trackball * bastardkb/charybdis/3x6: add splinky config * bastardkb/*/v2/splinky: update drivers to `vendor` * bastardkb/dilemma: add new board * bastardkb/charybdis: fix infinite loop in `layer_state_set_user(…)` in the `via` keymaps * bastardkb/dilemma: add `bstiq` keymap * bastardkb: specify blackpill boards * bastardkb/charybdis: fix blackpill-specific define syntax * bastardkb: remove `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION` which are no longer valid options * bastardkb: fix `QK_BOOT` keycodes * bastardkb/dilemma: fix mouse direction on X axis * bastardkb/charybdis/3x6: adjust CS * bastardkb/dilemma: adjust trackpad configuration * charybdis: fix `PWM33XX_CS_PIN` defines This is a follow-up of https://github.com/qmk/qmk_firmware/pull/17613. * bastardkb: remove Vial mentions from `bstiq` keymaps * Cleanup unnecessary comments Co-authored-by: Nathan <nathan.cooke@compass.com> Co-authored-by: Charly Delay <0xcharly@codesink.dev>
167 lines
5.9 KiB
C
167 lines
5.9 KiB
C
/**
|
|
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
|
|
* Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
|
|
*
|
|
* 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
|
|
|
|
#ifdef VIA_ENABLE
|
|
/* Via configuration. */
|
|
# define DYNAMIC_KEYMAP_LAYER_COUNT 8
|
|
#endif // VIA_ENABLE
|
|
|
|
#ifndef __arm__
|
|
/* Disable unused features. */
|
|
# define NO_ACTION_ONESHOT
|
|
#endif // __arm__
|
|
|
|
/**
|
|
* Configure the global tapping term (default: 200ms).
|
|
* If you have a lot of accidental mod activations, crank up the tapping term.
|
|
*
|
|
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-term
|
|
*/
|
|
#ifndef TAPPING_TERM
|
|
# define TAPPING_TERM 160
|
|
#endif // TAPPING_TERM
|
|
|
|
/**
|
|
* Enable rapid switch from tap to hold. Disable auto-repeat when pressing key
|
|
* twice, except for one-shot keys.
|
|
*
|
|
* See docs.qmk.fm/using-qmk/software-features/tap_hold#tapping-force-hold
|
|
*/
|
|
#define TAPPING_FORCE_HOLD
|
|
|
|
/*
|
|
* Tap-or-Hold decision modes.
|
|
*
|
|
* Note that the following flags behave differently when combined (ie. when 2 or
|
|
* more are enabled).
|
|
*
|
|
* See bit.ly/tap-or-hold for a visual explanation of the following tap-or-hold
|
|
* decision modes.
|
|
*/
|
|
|
|
/**
|
|
* Faster tap-hold trigger.
|
|
*
|
|
* Without `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
|
|
* Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ ae
|
|
* With `PERMISSIVE_HOLD`, within `TAPPING_TERM`:
|
|
* Mod(a)🠗 e🠗 e🠕 Mod(a)🠕 ➞ Mod+e
|
|
*
|
|
* See docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold
|
|
*/
|
|
#define PERMISSIVE_HOLD
|
|
|
|
/**
|
|
* Prevent normal rollover on alphas from accidentally triggering mods.
|
|
*
|
|
* Ignores key presses that interrupt a mod-tap. Must-have for Home Row mod.
|
|
*
|
|
* Without `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
|
|
* Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ Mod+e
|
|
* With `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`:
|
|
* Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ ae
|
|
*
|
|
* See docs.qmk.fm/using-qmk/software-features/tap_hold#ignore-mod-tap-interrupt
|
|
*/
|
|
#define IGNORE_MOD_TAP_INTERRUPT
|
|
|
|
/** Charybdis-specific features. */
|
|
|
|
#ifdef POINTING_DEVICE_ENABLE
|
|
// Automatically enable the pointer layer when moving the trackball. See also:
|
|
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
|
|
// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
|
|
// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
|
|
|
|
// Flip horizontal direction for drag-scroll.
|
|
# define CHARYBDIS_DRAGSCROLL_REVERSE_X
|
|
// #define CHARYBDIS_DRAGSCROLL_REVERSE_Y
|
|
#endif // POINTING_DEVICE_ENABLE
|
|
|
|
/** RGB Matrix. */
|
|
|
|
#ifdef RGB_MATRIX_ENABLE
|
|
# ifdef __arm__
|
|
// Enable all animations on ARM boards since they have plenty of memory
|
|
// available for it.
|
|
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
|
|
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
|
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
|
|
# define ENABLE_RGB_MATRIX_BREATHING
|
|
# define ENABLE_RGB_MATRIX_BAND_SAT
|
|
# define ENABLE_RGB_MATRIX_BAND_VAL
|
|
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
|
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
|
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
|
# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
|
# define ENABLE_RGB_MATRIX_CYCLE_ALL
|
|
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
|
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
|
# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
|
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
|
|
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
|
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
|
# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
|
|
# define ENABLE_RGB_MATRIX_DUAL_BEACON
|
|
# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
|
|
# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
|
# define ENABLE_RGB_MATRIX_RAINDROPS
|
|
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
|
# define ENABLE_RGB_MATRIX_HUE_BREATHING
|
|
# define ENABLE_RGB_MATRIX_HUE_PENDULUM
|
|
# define ENABLE_RGB_MATRIX_HUE_WAVE
|
|
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
|
|
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
|
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
|
# define ENABLE_RGB_MATRIX_SPLASH
|
|
# define ENABLE_RGB_MATRIX_MULTISPLASH
|
|
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
|
|
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
|
# else
|
|
// Disable control of RGB matrix by keycodes (must use firmware implementation
|
|
// to control the feature).
|
|
# define RGB_MATRIX_DISABLE_KEYCODES
|
|
# endif
|
|
|
|
// Limit maximum brightness to keep power consumption reasonable, and avoid
|
|
// disconnects.
|
|
# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
|
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
|
|
|
|
// Rainbow swirl as startup mode.
|
|
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
|
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
|
|
|
|
// Slow swirl at startup.
|
|
# define RGB_MATRIX_STARTUP_SPD 32
|
|
|
|
// Startup values.
|
|
# define RGB_MATRIX_STARTUP_HUE 0
|
|
# define RGB_MATRIX_STARTUP_SAT 255
|
|
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
|
|
# define RGB_MATRIX_STARTUP_HSV RGB_MATRIX_STARTUP_HUE, RGB_MATRIX_STARTUP_SAT, RGB_MATRIX_STARTUP_VAL
|
|
#endif // RGB_MATRIX_ENABLE
|