main
1/* Copyright 2020 ZSA Technology Labs, Inc <@zsa>
2 * Copyright 2020 Jack Humbert <jack.humb@gmail.com>
3 * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
21#define ORYX_CONFIGURATOR
22
23#define SFTLLCK LSFT_T(KC_0)
24
25#define TAPPING_TERM 280
26#define QUICK_TAP_TERM 100 // 175
27#define FLOW_TAP_TERM 150
28#define COMBO_TERM 40
29#define CHORDAL_HOLD
30
31// Numword configuration
32#define NUMWORD_TIMEOUT 5000 // Time in ms before numword auto-disables (optional)
33
34// Leader key configuration
35#define LEADER_TIMEOUT 300 // Time in ms to wait for next key in leader sequence
36#define LEADER_PER_KEY_TIMING // Each key in sequence gets its own timeout
37
38/* #define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD 1 */
39/* #define CAPS_WORD_INVERT_ON_SHIFT 1 */
40
41// Left-hand home row mods
42#define HM_GUI_A LGUI_T(KC_A) // Qwerty and Bépo
43#define HM_ALT_S LALT_T(KC_S) // Qwerty
44#define HM_ALT_U LALT_T(KC_U) // Bépo
45#define HM_SFT_D LSFT_T(KC_D) // Qwerty
46#define HM_SFT_I LSFT_T(KC_I) // Bépo
47#define HM_CTL_F LCTL_T(KC_F) // Qwerty
48#define HM_CTL_E LCTL_T(KC_E) // Bépo
49#define HM_HYP_G HYPR_T(KC_G) // Qwerty
50#define HM_HYP_COMM HYPR_T(KC_COMM) // Bépo
51
52// Right-hand home row mods
53#define HM_HYP_H HYPR_T(KC_H) // Qwerty
54#define HM_HYP_C HYPR_T(KC_C) // Bépo
55#define HM_CTL_J RCTL_T(KC_J) // Qwerty
56#define HM_CTL_T RCTL_T(KC_T) // Bépo
57#define HM_SFT_K RSFT_T(KC_K) // Qwerty
58#define HM_SFT_S RSFT_T(KC_S) // Bépo
59#define HM_ALT_L LALT_T(KC_L) // Qwerty
60#define HM_ALT_R LALT_T(KC_R) // Bépo
61#define HM_GUI_SCLN RGUI_T(KC_SCLN) // Qwerty
62#define HM_GUI_N RGUI_T(KC_N) // Bépo
63
64// French accents
65#define FR_QUOT_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_QUOTE) SS_DELAY(50) SS_TAP(X_SPACE)
66#define FR_DQUO_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_QUOTE)) SS_DELAY(50) SS_TAP(X_SPACE)
67#define FR_GRAVE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_TAP(X_SPACE)
68#define FR_CIRC_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_SPACE)
69#define FR_TILD_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_GRAVE)) SS_DELAY(50) SS_TAP(X_SPACE)
70#define FR_E_AIGU_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_QUOTE) SS_DELAY(50) SS_TAP(X_E) // é
71#define FR_E_AIGU_CAPS_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_QUOTE) SS_DELAY(50) SS_RSFT(SS_TAP(X_E)) // É
72#define FR_E_GRAVE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_TAP(X_E) // è
73#define FR_E_GRAVE_CAPS_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_RSFT(SS_TAP(X_E)) // È
74#define FR_A_GRAVE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_TAP(X_A) // à
75#define FR_A_GRAVE_CAPS_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_RSFT(SS_TAP(X_A)) // À
76#define FR_U_GRAVE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_GRAVE) SS_DELAY(50) SS_TAP(X_U) // ù
77#define FR_C_CEDILLE_M SS_TAP(X_RALT) SS_DELAY(50) SS_TAP(X_COMMA) SS_DELAY(50) SS_TAP(X_C) // ç
78#define FR_A_CIRONFL_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_A) // â
79#define FR_E_CIRONFL_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_E) // ê
80#define FR_I_CIRONFL_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_I) // î
81#define FR_O_CIRONFL_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_O) // ô
82#define FR_U_CIRONFL_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_6)) SS_DELAY(50) SS_TAP(X_U) // û
83#define FR_E_TREMA_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_QUOTE)) SS_DELAY(50) SS_TAP(X_E) // ë
84#define FR_I_TREMA_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_QUOTE)) SS_DELAY(50) SS_TAP(X_I) // ï
85#define FR_3_EURO_M SS_TAP(X_RALT) SS_DELAY(50) SS_RSFT(SS_TAP(X_C)) SS_DELAY(50) SS_TAP(X_EQL) // €
86
87
88// Mouse key settings (accelerated mode)
89// Must #undef first — board info_config.h sets defaults
90#undef MOUSEKEY_DELAY
91#define MOUSEKEY_DELAY 0 // No startup delay (board default: 10)
92#undef MOUSEKEY_INTERVAL
93#define MOUSEKEY_INTERVAL 16 // ~60fps movement updates (board default: 20)
94#undef MOUSEKEY_MAX_SPEED
95#define MOUSEKEY_MAX_SPEED 7 // Max cursor speed (board default: 10, lower = more control)
96#undef MOUSEKEY_TIME_TO_MAX
97#define MOUSEKEY_TIME_TO_MAX 40 // Frames to reach max speed (board default: 60, lower = faster ramp)
98#undef MOUSEKEY_WHEEL_DELAY
99#define MOUSEKEY_WHEEL_DELAY 0 // No scroll startup delay (board default: 400)
100#undef MOUSEKEY_WHEEL_INTERVAL
101#define MOUSEKEY_WHEEL_INTERVAL 80 // Scroll update interval (board default: 80)
102#undef MOUSEKEY_WHEEL_MAX_SPEED
103#define MOUSEKEY_WHEEL_MAX_SPEED 8 // Max scroll speed (board default: 8)
104#undef MOUSEKEY_WHEEL_TIME_TO_MAX
105#define MOUSEKEY_WHEEL_TIME_TO_MAX 40 // Frames to reach max scroll (board default: 40)
106
107#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
108#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
109#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
110#undef ENABLE_RGB_MATRIX_BREATHING
111#undef ENABLE_RGB_MATRIX_BAND_SAT
112#undef ENABLE_RGB_MATRIX_BAND_VAL
113#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
114#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
115#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
116#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
117#undef ENABLE_RGB_MATRIX_CYCLE_ALL
118#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
119#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
120#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
121#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
122#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
123#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
124#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
125#undef ENABLE_RGB_MATRIX_DUAL_BEACON
126#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
127#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
128#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING
129#undef ENABLE_RGB_MATRIX_RAINDROPS
130#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
131#undef ENABLE_RGB_MATRIX_HUE_BREATHING
132#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
133#undef ENABLE_RGB_MATRIX_HUE_WAVE
134#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
135#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
136#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
137#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
138#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
139#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
140#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
141#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
142#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
143#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
144#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
145#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
146#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
147#undef ENABLE_RGB_MATRIX_SPLASH
148#undef ENABLE_RGB_MATRIX_MULTISPLASH
149#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
150#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
151#undef ENABLE_RGB_MATRIX_STARLIGHT
152#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE
153#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT
154#undef ENABLE_RGB_MATRIX_RIVERFLOW