diff --git a/keyboards/9key/keymaps/bcat/keymap.c b/keyboards/9key/keymaps/bcat/keymap.c new file mode 100644 index 00000000000..c42bc76c254 --- /dev/null +++ b/keyboards/9key/keymaps/bcat/keymap.c @@ -0,0 +1,26 @@ +#include QMK_KEYBOARD_H + +enum layer { + LAYER_DEFAULT, + LAYER_FUNCTION, +}; + +/* Switch to function layer when held. */ +#define LY_FUNC MO(LAYER_FUNCTION) + +/* Send Ctrl+Alt+L (Cinnamon screen lock shortcut) when pressed. */ +#define KY_LOCK LCA(KC_L) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_DEFAULT] = LAYOUT( + KC_MPLY, KC_VOLU, KC_MSTP, + KC_MPRV, KC_VOLD, KC_MNXT, + KY_LOCK, KC_MUTE, LY_FUNC + ), + + [LAYER_FUNCTION] = LAYOUT( + EEP_RST, _______, RESET, + _______, _______, _______, + _______, _______, _______ + ), +}; diff --git a/keyboards/9key/keymaps/bcat/readme.md b/keyboards/9key/keymaps/bcat/readme.md new file mode 100644 index 00000000000..2dee51de8b5 --- /dev/null +++ b/keyboards/9key/keymaps/bcat/readme.md @@ -0,0 +1,5 @@ +# bcat's 9-Key layout + +This is a super simple PCB-mount macropad with nine keys, used at work for +media keys and quick access to screen lock on Linux (Cinnamon desktop +environment). diff --git a/keyboards/9key/keymaps/bcat/rules.mk b/keyboards/9key/keymaps/bcat/rules.mk new file mode 100644 index 00000000000..0ecc2bd6614 --- /dev/null +++ b/keyboards/9key/keymaps/bcat/rules.mk @@ -0,0 +1 @@ +BOOTLOADER = caterina # Pro Micro diff --git a/keyboards/keebio/bdn9/keymaps/bcat/keymap.c b/keyboards/keebio/bdn9/keymaps/bcat/keymap.c index 3507aaedec4..7eab7217343 100644 --- a/keyboards/keebio/bdn9/keymaps/bcat/keymap.c +++ b/keyboards/keebio/bdn9/keymaps/bcat/keymap.c @@ -11,14 +11,14 @@ enum layer { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* First layer (F1-F6) */ [LAYER_FIRST] = LAYOUT( - KC_MUTE, LY_SECND, BL_TOGG, + KC_MUTE, LY_SECND, BL_BRTG, KC_F4, KC_F5, KC_F6, KC_F1, KC_F2, KC_F3 ), /* Second layer (F7-F12) */ [LAYER_SECOND] = LAYOUT( - _______, _______, _______, + EEP_RST, _______, RESET, KC_F10, KC_F11, KC_F12, KC_F7, KC_F8, KC_F9 ), diff --git a/users/bcat/config.h b/users/bcat/config.h index 7d420089556..990fda68cad 100644 --- a/users/bcat/config.h +++ b/users/bcat/config.h @@ -1,36 +1,66 @@ -/* Delay between tap_code register and unregister to fix flaky media keys. */ +/* Wait between tap_code register and unregister to fix flaky media keys. */ #undef TAP_CODE_DELAY -#define TAP_CODE_DELAY 10 +#define TAP_CODE_DELAY 20 -/* Turn off RGB lighting when the host goes to sleep. */ -#define RGBLIGHT_SLEEP +#if defined(RGBLIGHT_ENABLE) + /* Turn off RGB underglow 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 + /* Keep RGB underglow level increments consistent across keyboards. */ + #undef RGBLIGHT_HUE_STEP + #undef RGBLIGHT_SAT_STEP + #undef RGBLIGHT_VAL_STEP -#define BACKLIGHT_LEVELS 7 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 17 + #define RGBLIGHT_VAL_STEP 17 +#endif -/* Make mouse operation smoother. */ -#undef MOUSEKEY_DELAY -#undef MOUSEKEY_INTERVAL +#if defined(BACKLIGHT_ENABLE) + /* Enable backlight breathing across the board. */ + #define BACKLIGHT_BREATHING -#define MOUSEKEY_DELAY 0 -#define MOUSEKEY_INTERVAL 16 + /* Keep backlight level increments consistent across keyboards. */ + #undef BACKLIGHT_LEVELS -/* 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 BACKLIGHT_LEVELS 7 +#endif -#define MOUSEKEY_MAX_SPEED 7 -#define MOUSEKEY_TIME_TO_MAX 150 -#define MOUSEKEY_WHEEL_MAX_SPEED 3 -#define MOUSEKEY_WHEEL_TIME_TO_MAX 150 +#if defined(MOUSEKEY_ENABLE) + /* 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 +#endif + +#if defined(KEYBOARD_cannonkeys_instant60) + /* + * Work around EEPROM incompatibility with VIA: + * https://github.com/qmk/qmk_firmware/issues/6589#issuecomment-524042457. + */ + #undef EEPROM_MAGIC_ADDR + #undef EEPROM_VERSION_ADDR + #undef DYNAMIC_KEYMAP_EEPROM_ADDR + #undef EEPROM_CUSTOM_BACKLIGHT + #undef DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR + + #define EEPROM_MAGIC_ADDR 34 + #define EEPROM_VERSION_ADDR 36 + #define DYNAMIC_KEYMAP_EEPROM_ADDR 37 + #define EEPROM_CUSTOM_BACKLIGHT 637 + #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 638 +#endif diff --git a/users/bcat/rules.mk b/users/bcat/rules.mk index 59f82709ad3..407729c82bb 100644 --- a/users/bcat/rules.mk +++ b/users/bcat/rules.mk @@ -9,3 +9,5 @@ EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = no COMMAND_ENABLE = no NKRO_ENABLE = no +UNICODE_ENABLE = no +API_SYSEX_ENABLE = no