diff --git a/config.h b/config.h index 1dace5f..1717c4f 100644 --- a/config.h +++ b/config.h @@ -46,3 +46,25 @@ #define USE_SERIAL #define SOFT_SERIAL_PIN D2 #define MASTER_LEFT + +// Set the mouse settings to a comfortable speed/accuracy trade-off, +// assuming a screen refresh rate of 60 Htz or higher +// The default is 50. This makes the mouse ~3 times faster and more accurate +#define MOUSEKEY_INTERVAL 16 +// The default is 20. Since we made the mouse about 3 times faster with the previous setting, +// give it more time to accelerate to max speed to retain precise control over short distances. +#define MOUSEKEY_TIME_TO_MAX 40 +// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive +#define MOUSEKEY_DELAY 100 +// It makes sense to use the same delay for the mouseweel +#define MOUSEKEY_WHEEL_DELAY 100 +// The default is 100 +#define MOUSEKEY_WHEEL_INTERVAL 50 +// The default is 40 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 + +// Pick good defaults for enabling homerow modifiers +#define TAPPING_TERM 200 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD diff --git a/info.json b/info.json index 53cb531..6025ecd 100644 --- a/info.json +++ b/info.json @@ -3,14 +3,6 @@ "keyboard_name": "dasbob", "maintainer": "grooovebob", "bootloader": "atmel-dfu", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, "processor": "atmega32u4", "url": "", "usb": { diff --git a/keymaps/config.h b/keymaps/config.h new file mode 100644 index 0000000..1717c4f --- /dev/null +++ b/keymaps/config.h @@ -0,0 +1,70 @@ +// Copyright 2022 grooovebob (@grooovebob) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + +#define MATRIX_ROWS 8 +#define MATRIX_COLS 5 + +#define DIRECT_PINS { \ + { D0, F5, D1, F4, D3 }, \ + { B1, C6, F7, D4, F6}, \ + { B6, B2, E6, B3, D7 }, \ + { F0, B5, B4, NO_PIN, NO_PIN } \ +} + +#define DIRECT_PINS_RIGHT { \ + { D3, F4, D1, F5, D0 }, \ + { F6, D4, F7, C6, B1}, \ + { D7, B3, E6, B2, B6 }, \ + { B4, B5, F0, NO_PIN, NO_PIN } \ +} + + + +#define UNUSED_PINS + +/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ +#define DEBOUNCE 5 + +#define USE_SERIAL +#define SOFT_SERIAL_PIN D2 +#define MASTER_LEFT + +// Set the mouse settings to a comfortable speed/accuracy trade-off, +// assuming a screen refresh rate of 60 Htz or higher +// The default is 50. This makes the mouse ~3 times faster and more accurate +#define MOUSEKEY_INTERVAL 16 +// The default is 20. Since we made the mouse about 3 times faster with the previous setting, +// give it more time to accelerate to max speed to retain precise control over short distances. +#define MOUSEKEY_TIME_TO_MAX 40 +// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive +#define MOUSEKEY_DELAY 100 +// It makes sense to use the same delay for the mouseweel +#define MOUSEKEY_WHEEL_DELAY 100 +// The default is 100 +#define MOUSEKEY_WHEEL_INTERVAL 50 +// The default is 40 +#define MOUSEKEY_WHEEL_TIME_TO_MAX 100 + +// Pick good defaults for enabling homerow modifiers +#define TAPPING_TERM 200 +#define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD diff --git a/keymaps/default/keymap.c b/keymaps/default/keymap.c index ac1ca6c..9f411c6 100644 --- a/keymaps/default/keymap.c +++ b/keymaps/default/keymap.c @@ -39,9 +39,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), [_RAISE] = LAYOUT_split_3x5_3( - KC_ESC, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM_LOCK, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, - KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_LGUI, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, - KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_PSCR, KC_RALT, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0, - KC_TRNS, KC_TRNS, KC_TAB, KC_ENT, KC_TRNS, KC_TRNS + KC_ESC, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM_LOCK, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, + KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_LGUI, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, + KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, KC_PSCR, KC_RALT, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_0, + KC_TRNS, KC_TRNS, KC_TAB, KC_ENT, KC_TRNS, KC_TRNS ), }; diff --git a/rules.mk b/rules.mk index 9b5bc6c..c265c81 100644 --- a/rules.mk +++ b/rules.mk @@ -1,2 +1,20 @@ -# This file intentionally left blank -SPLIT_KEYBOARD = yes +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = caterina + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +MOUSEKEY_ENABLE = yes # Mouse keys +EXTRAKEY_ENABLE = yes # Audio control and System control +CONSOLE_ENABLE = no # Console for debug +COMMAND_ENABLE = no # Commands for debug and configuration +NKRO_ENABLE = no # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +UNICODE_ENABLE = yes # Unicode +AUDIO_ENABLE = no # Audio output +SPLIT_KEYBOARD = yes # Use shared split_common code \ No newline at end of file