diff options
author | Drashna Jaelre <drashna@live.com> | 2019-10-16 13:11:22 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-16 13:11:22 -0700 |
commit | e3a21348c3879c11072c7c42d3b4d04b022f4fe2 (patch) | |
tree | b4b007bce3d0b9167dfe651a537df330dbf7bead /layouts/community/ortho_4x12/drashna | |
parent | 7662ee71f0d1df7cee03a563f52dba21854fd0be (diff) | |
download | qmk_firmware-e3a21348c3879c11072c7c42d3b4d04b022f4fe2.tar.gz qmk_firmware-e3a21348c3879c11072c7c42d3b4d04b022f4fe2.zip |
[Keymap] Drashna's Hardware Features Experimentations (#6920)
* Change RGBLight pin for Planck Light
Move it to A0, so that the SPI? pins are available for BT hackery
* Add QMK DFU bootloader info
* Add Solenoid
* Disable annoying white LED on bottom
* Enable Solenoid on Corne
* Remove bounds for animations
* Increase debounce for Ergodox EZ to reduce repeat key issues
* Set swap hands key to be a hold-tap key
This way, it's not ANNOYING and doesn't swap the hands inteniontally
* Move MT Alt in Corne keymap
* Re-Add fine tuned control of secrets
* Squash mods to single row
* Add LRA settings to haptic feedback settings for Rev6
* Fix issue with non-Planck EZ keymaps
* Add 40 Percent Nano with Analog Joystick
* Add Collide39 keymap
* Fix OLED printing to be more flavorful
* Fix up Iris GamePad and come cleanup
* Expand OLED char map further
* Add modded characters to keylogger
* Here be dragons
Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>
* Fix up rules for community layouts
* Some more OLED tweaks
* Add mod mask check function
* Change QMK DFU Audio pin to be correct
* Use manual STM config instead of CTPC for Collide 39
Diffstat (limited to 'layouts/community/ortho_4x12/drashna')
-rw-r--r-- | layouts/community/ortho_4x12/drashna/config.h | 65 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/drashna/keymap.c | 7 | ||||
-rw-r--r-- | layouts/community/ortho_4x12/drashna/rules.mk | 39 |
3 files changed, 88 insertions, 23 deletions
diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index 9f3d2b82d..d8ac5e6d1 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #pragma once | 1 | #pragma once |
2 | 2 | ||
3 | #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) | 3 | #if defined(RGBLIGHT_ENABLE) && !defined(RGBLED_NUM) |
4 | # define RGB_DI_PIN B3 | 4 | # define RGB_DI_PIN A0 |
5 | # define RGBLED_NUM 13 // Number of LEDs | 5 | # define RGBLED_NUM 13 // Number of LEDs |
6 | # define RGBLIGHT_ANIMATIONS | 6 | # define RGBLIGHT_ANIMATIONS |
7 | # define RGBLIGHT_HUE_STEP 12 | 7 | # define RGBLIGHT_HUE_STEP 12 |
@@ -17,10 +17,12 @@ | |||
17 | #ifdef RGB_MATRIX_ENABLE | 17 | #ifdef RGB_MATRIX_ENABLE |
18 | # define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) | 18 | # define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot) |
19 | // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) | 19 | // #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (not recommened) |
20 | # define RGB_MATRIX_FRAMEBUFFER_EFFECTS | 20 | # define RGB_MATRIX_FRAMEBUFFER_EFFECTS |
21 | // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects | 21 | // #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects |
22 | // #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 | 22 | // #define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255 |
23 | # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended | 23 | # define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended |
24 | # undef RGB_MATRIX_LED_PROCESS_LIMIT | ||
25 | # undef RGB_MATRIX_LED_FLUSH_LIMIT | ||
24 | #endif | 26 | #endif |
25 | 27 | ||
26 | #if defined(KEYBOARD_lets_split_rev2) | 28 | #if defined(KEYBOARD_lets_split_rev2) |
@@ -32,7 +34,17 @@ | |||
32 | #if !defined(KEYBOARD_planck_light) | 34 | #if !defined(KEYBOARD_planck_light) |
33 | # ifdef RGBLIGHT_ENABLE | 35 | # ifdef RGBLIGHT_ENABLE |
34 | # define NO_MUSIC_MODE | 36 | # define NO_MUSIC_MODE |
35 | # endif // RGBLIGHT_ENABLE | 37 | # endif // RGBLIGHT_ENABLE |
38 | #else | ||
39 | # undef QMK_ESC_OUTPUT | ||
40 | # define QMK_ESC_OUTPUT E6 // usually COL | ||
41 | # undef QMK_ESC_INPUT | ||
42 | # define QMK_ESC_INPUT B0 // usually ROW | ||
43 | # undef QMK_LED | ||
44 | # define QMK_LED D6 | ||
45 | # undef QMK_SPEAKER | ||
46 | # define QMK_SPEAKER B5 | ||
47 | # define SOLENOID_PIN A1 | ||
36 | #endif // KEYBOARD_planck_light | 48 | #endif // KEYBOARD_planck_light |
37 | 49 | ||
38 | #if defined(KEYBOARD_planck) | 50 | #if defined(KEYBOARD_planck) |
@@ -69,3 +81,50 @@ | |||
69 | 81 | ||
70 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ | 82 | /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ |
71 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 | 83 | //#define MIDI_TONE_KEYCODE_OCTAVES 2 |
84 | |||
85 | #define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ | ||
86 | #define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ | ||
87 | #define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ | ||
88 | |||
89 | /* default 3V ERM vibration motor voltage and library*/ | ||
90 | #if FB_ERM_LRA == 0 | ||
91 | #define RATED_VOLTAGE 3 | ||
92 | #define V_RMS 2.3 | ||
93 | #define V_PEAK 3.30 | ||
94 | /* Library Selection */ | ||
95 | #define LIB_SELECTION 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ | ||
96 | |||
97 | /* default 2V LRA voltage and library */ | ||
98 | #elif FB_ERM_LRA == 1 | ||
99 | #define RATED_VOLTAGE 2 | ||
100 | #define V_RMS 2.0 | ||
101 | #define V_PEAK 2.85 | ||
102 | #define F_LRA 200 | ||
103 | /* Library Selection */ | ||
104 | #define LIB_SELECTION 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ | ||
105 | |||
106 | #endif | ||
107 | |||
108 | /* Control 1 register settings */ | ||
109 | #define DRIVE_TIME 25 | ||
110 | #define AC_COUPLE 0 | ||
111 | #define STARTUP_BOOST 1 | ||
112 | |||
113 | /* Control 2 Settings */ | ||
114 | #define BIDIR_INPUT 1 | ||
115 | #define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ | ||
116 | #define SAMPLE_TIME 3 | ||
117 | #define BLANKING_TIME 1 | ||
118 | #define IDISS_TIME 1 | ||
119 | |||
120 | /* Control 3 settings */ | ||
121 | #define NG_THRESH 2 | ||
122 | #define ERM_OPEN_LOOP 1 | ||
123 | #define SUPPLY_COMP_DIS 0 | ||
124 | #define DATA_FORMAT_RTO 0 | ||
125 | #define LRA_DRIVE_MODE 0 | ||
126 | #define N_PWM_ANALOG 0 | ||
127 | #define LRA_OPEN_LOOP 0 | ||
128 | /* Control 4 settings */ | ||
129 | #define ZC_DET_TIME 0 | ||
130 | #define AUTO_CAL_TIME 3 | ||
diff --git a/layouts/community/ortho_4x12/drashna/keymap.c b/layouts/community/ortho_4x12/drashna/keymap.c index 26f611c08..1c894c764 100644 --- a/layouts/community/ortho_4x12/drashna/keymap.c +++ b/layouts/community/ortho_4x12/drashna/keymap.c | |||
@@ -24,7 +24,9 @@ extern rgblight_config_t rgblight_config; | |||
24 | #ifdef BACKLIGHT_ENABLE | 24 | #ifdef BACKLIGHT_ENABLE |
25 | enum planck_keycodes { | 25 | enum planck_keycodes { |
26 | BACKLIT = NEW_SAFE_RANGE, | 26 | BACKLIT = NEW_SAFE_RANGE, |
27 | TH_LVL, | ||
27 | }; | 28 | }; |
29 | |||
28 | #else | 30 | #else |
29 | # define BACKLIT OSM(MOD_LSFT) | 31 | # define BACKLIT OSM(MOD_LSFT) |
30 | enum planck_keycodes { | 32 | enum planck_keycodes { |
@@ -134,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
134 | KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, | 136 | KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST, |
135 | VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, | 137 | VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST, |
136 | TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, | 138 | TH_LVL, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, RGB_IDL, |
137 | _______, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS | 139 | HPT_TOG, _______, _______, _______, _______, KC_NUKE, _______, _______, _______, _______, _______, TG_MODS |
138 | ) | 140 | ) |
139 | 141 | ||
140 | }; | 142 | }; |
@@ -298,6 +300,9 @@ void rgb_matrix_indicators_user(void) { | |||
298 | } | 300 | } |
299 | 301 | ||
300 | void matrix_init_keymap(void) { | 302 | void matrix_init_keymap(void) { |
303 | # ifdef KEYBOARD_planck_light | ||
304 | writePinLow(D6); | ||
305 | # endif | ||
301 | // rgblight_mode(RGB_MATRIX_MULTISPLASH); | 306 | // rgblight_mode(RGB_MATRIX_MULTISPLASH); |
302 | } | 307 | } |
303 | #else // RGB_MATRIX_INIT | 308 | #else // RGB_MATRIX_INIT |
diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk index 55f3acd70..d4726b7a8 100644 --- a/layouts/community/ortho_4x12/drashna/rules.mk +++ b/layouts/community/ortho_4x12/drashna/rules.mk | |||
@@ -7,29 +7,30 @@ TAP_DANCE_ENABLE = no | |||
7 | AUDIO_ENABLE = yes | 7 | AUDIO_ENABLE = yes |
8 | SPACE_CADET_ENABLE = no | 8 | SPACE_CADET_ENABLE = no |
9 | 9 | ||
10 | ifeq (,$(findstring planck/rev6,$(KEYBOARD))) # Make sure it's NOT the Planck Rev6 | 10 | ifneq ($(strip $(KEYBOARD)), planck/rev6) |
11 | RGBLIGHT_ENABLE = yes | 11 | RGBLIGHT_ENABLE = yes |
12 | INDICATOR_LIGHTS = yes | 12 | INDICATOR_LIGHTS = yes |
13 | RGBLIGHT_TWINKLE = yes | 13 | RGBLIGHT_TWINKLE = yes |
14 | RGBLIGHT_STARTUP_ANIMATION = yes | 14 | RGBLIGHT_STARTUP_ANIMATION = yes |
15 | endif | 15 | endif |
16 | ifneq (,$(findstring planck/light,$(KEYBOARD))) # Make sure it IS the Planck Light | 16 | ifeq ($(strip $(KEYBOARD)), planck/light) |
17 | RGB_MATRIX_ENABLE = yes | 17 | RGB_MATRIX_ENABLE = yes |
18 | RGBLIGHT_ENABLE = no | 18 | RGBLIGHT_ENABLE = no |
19 | RGBLIGHT_STARTUP_ANIMATION = no | 19 | RGBLIGHT_STARTUP_ANIMATION = no |
20 | HAPTIC_ENABLE += SOLENOID | ||
20 | endif | 21 | endif |
21 | ifneq (,$(findstring planck/ez,$(KEYBOARD))) # Make sure it IS the Planck Light | 22 | ifeq ($(strip $(KEYBOARD)), planck/ez) |
22 | RGBLIGHT_ENABLE = no | 23 | RGBLIGHT_ENABLE = no |
23 | # SERIAL_LINK_ENABLE = yes | 24 | # SERIAL_LINK_ENABLE = yes |
24 | ENCODER_ENABLE = yes | 25 | ENCODER_ENABLE = yes |
25 | RGB_MATRIX_ENABLE = IS31FL3737 | 26 | RGB_MATRIX_ENABLE = IS31FL3737 |
26 | INDICATOR_LIGHTS = yes | 27 | INDICATOR_LIGHTS = yes |
27 | RGBLIGHT_TWINKLE = yes | 28 | RGBLIGHT_TWINKLE = yes |
28 | RGBLIGHT_STARTUP_ANIMATION = yes | 29 | RGBLIGHT_STARTUP_ANIMATION = yes |
29 | endif | 30 | endif |
30 | 31 | ||
31 | ifeq ($(strip $(PROTOCOL)), VUSB) | 32 | ifeq ($(strip $(PROTOCOL)), VUSB) |
32 | NKRO_ENABLE = no | 33 | NKRO_ENABLE = no |
33 | else | 34 | else |
34 | NKRO_ENABLE = yes | 35 | NKRO_ENABLE = yes |
35 | endif | 36 | endif |