From fcb56534111652b9fa19d9d8e7bce635c7a63eb6 Mon Sep 17 00:00:00 2001 From: Jonathan Rascher Date: Wed, 22 May 2019 23:08:48 -0500 Subject: [PATCH] [Keymap] Switch Quefrency keymap from I2C back to serial; factor common configs into userspace (#5951) * Switch Quefrency from flaky I2C back to serial * Lower mouse wheel speed on Quefrency slightly * Migrate common settings to userspace * Enable Bootmagic Lite for consistent reset to bootloader. * Turn off some undesired features across all keyboards. * Remove EEPROM reset keybinding from all keyboards since Bootmagic Lite also does an EEPROM reset. * Set backlight and underglow increments consistently across all keyboards since lots of them like to override the deafults. * Set mouse keys consistently across all keyboards. * Update function layer keymap images --- .../kbd67/hotswap/keymaps/bcat/keymap.c | 2 +- .../kbd67/hotswap/keymaps/bcat/readme.md | 2 +- .../keebio/quefrency/keymaps/bcat/config.h | 28 ++++++++--------- .../keebio/quefrency/keymaps/bcat/keymap.c | 2 +- .../keebio/quefrency/keymaps/bcat/readme.md | 2 +- .../keebio/quefrency/keymaps/bcat/rules.mk | 2 -- users/bcat/config.h | 31 +++++++++++++++++++ users/bcat/rules.mk | 11 +++++++ 8 files changed, 59 insertions(+), 21 deletions(-) create mode 100644 users/bcat/config.h create mode 100644 users/bcat/rules.mk diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/keymap.c b/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/keymap.c index ab2cfa80a..6cb6afaea 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/keymap.c +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/keymap.c @@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Function layer: http://www.keyboard-layout-editor.com/#/gists/f29128427f674c43777f045e363d1b44 */ [LAYER_FUNCTION] = LAYOUT( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, _______, - _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, EEP_RST, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, + _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, _______, KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______ diff --git a/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/readme.md b/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/readme.md index 0aa6fa136..d1779152f 100644 --- a/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/readme.md +++ b/keyboards/kbdfans/kbd67/hotswap/keymaps/bcat/readme.md @@ -10,4 +10,4 @@ cluster. ## Function layer -![Function layer layout](https://i.imgur.com/KScatX6.png) +![Function layer layout](https://i.imgur.com/urDnuTC.png) diff --git a/keyboards/keebio/quefrency/keymaps/bcat/config.h b/keyboards/keebio/quefrency/keymaps/bcat/config.h index 528cfd39a..c9e836597 100644 --- a/keyboards/keebio/quefrency/keymaps/bcat/config.h +++ b/keyboards/keebio/quefrency/keymaps/bcat/config.h @@ -1,10 +1,18 @@ #pragma once -/* Use I2C rather than serial communicaiton to reduce latency. */ -#define USE_I2C - -/* Turn off RGB lighting when the host goes to sleep. */ -#define RGBLIGHT_SLEEP +/* + * I2C seems to randomly drop keystrokes. Not sure why. It seems a bit like + * https://github.com/qmk/qmk_firmware/issues/5037, but that issue is closed, + * and our problems happen even with underglow disabled. + * + * This issue occurs with multiple TRRS cables of different lengths from + * different companies, so it's most likely not a cable issue. It may be that + * we are running into issues with long I2C runs, in which case stronger + * pull-up resistors might help: + * https://hackaday.com/2017/02/08/taking-the-leap-off-board-an-introduction-to-i2c-over-long-wires/. + * For now, just don't use I2C. + */ +#define USE_SERIAL /* Use an extra LED on the right side since it's wider on the 65% PCB. */ #undef RGBLED_NUM @@ -12,13 +20,3 @@ /* Set up RGB lighting so it works with either side as master. */ #define RGBLED_SPLIT { 8, 9 } - -/* Make mouse operation smoother. */ -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 16 - -/* Lower mouse speed to adjust for reduced MOUSEKEY_INTERVAL. */ -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_TIME_TO_MAX 150 -#define MOUSEKEY_WHEEL_MAX_SPEED 4 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 150 diff --git a/keyboards/keebio/quefrency/keymaps/bcat/keymap.c b/keyboards/keebio/quefrency/keymaps/bcat/keymap.c index 80e934577..fc66ff101 100644 --- a/keyboards/keebio/quefrency/keymaps/bcat/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/bcat/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Function layer: http://www.keyboard-layout-editor.com/#/gists/59636898946da51f91fb290f8e078b4d */ [LAYER_FUNCTION] = LAYOUT_65( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, RGB_HUI, - _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, EEP_RST, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RGB_SAI, + _______, KC_MPLY, KC_VOLU, KC_MSTP, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, _______, _______, RGB_SAI, KC_CAPS, KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAD, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_VAD, RGB_MOD diff --git a/keyboards/keebio/quefrency/keymaps/bcat/readme.md b/keyboards/keebio/quefrency/keymaps/bcat/readme.md index 51e5f2598..2e9e0f6d7 100644 --- a/keyboards/keebio/quefrency/keymaps/bcat/readme.md +++ b/keyboards/keebio/quefrency/keymaps/bcat/readme.md @@ -10,7 +10,7 @@ cluster, and mouse keys on their own layer centered around the arrow cluster. ## Function layer -![Function layer layout](https://i.imgur.com/ISklbfF.png) +![Function layer layout](https://i.imgur.com/4R1F72M.png) ## Mouse layer diff --git a/keyboards/keebio/quefrency/keymaps/bcat/rules.mk b/keyboards/keebio/quefrency/keymaps/bcat/rules.mk index 274e217ca..c87b447c1 100644 --- a/keyboards/keebio/quefrency/keymaps/bcat/rules.mk +++ b/keyboards/keebio/quefrency/keymaps/bcat/rules.mk @@ -1,3 +1 @@ BOOTLOADER = atmel-dfu # Elite-C - -MOUSEKEY_ENABLE = yes diff --git a/users/bcat/config.h b/users/bcat/config.h new file mode 100644 index 000000000..a29aded71 --- /dev/null +++ b/users/bcat/config.h @@ -0,0 +1,31 @@ +/* Turn off RGB lighting when the host goes to sleep. */ +#define RGBLIGHT_SLEEP + +/* Keep backlight and RGB level increments consistent across keyboards. */ +#undef BACKLIGHT_LEVELS +#undef RGBLIGHT_HUE_STEP +#undef RGBLIGHT_SAT_STEP +#undef RGBLIGHT_VAL_STEP + +#define BACKLIGHT_LEVELS 7 +#define RGVLIGHT_HUE_STEP 8 +#define RGVLIGHT_SAT_STEP 17 +#define RGVLIGHT_VAL_STEP 17 + +/* Make mouse operation smoother. */ +#undef MOUSEKEY_DELAY +#undef MOUSEKEY_INTERVAL + +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_INTERVAL 16 + +/* Lower mouse speed to adjust for reduced MOUSEKEY_INTERVAL. */ +#undef MOUSEKEY_MAX_SPEED +#undef MOUSEKEY_TIME_TO_MAX +#undef MOUSEKEY_WHEEL_MAX_SPEED +#undef MOUSEKEY_WHEEL_TIME_TO_MAX + +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_TIME_TO_MAX 150 +#define MOUSEKEY_WHEEL_MAX_SPEED 3 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 150 diff --git a/users/bcat/rules.mk b/users/bcat/rules.mk new file mode 100644 index 000000000..59f82709a --- /dev/null +++ b/users/bcat/rules.mk @@ -0,0 +1,11 @@ +# Enable Bootmagic Lite to consistently reset to bootloader and clear EEPROM. +BOOTMAGIC_ENABLE = lite + +# Enable mouse and media keys on all keyboards. +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes + +# Disable some unwanted features on all keyboards. +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +NKRO_ENABLE = no