3 #include "config_common.h"
5 /* USB Device descriptor parameter */
6 #define VENDOR_ID 0x4443 // "DC" = Don Chiou
7 #define PRODUCT_ID 0x5350 // "SP" = Snagpad
8 #define DEVICE_VER 0x0001
9 #define MANUFACTURER Flehrad
10 #define PRODUCT Snagpad
11 #define DESCRIPTION A Pro Micro-Powered 5x4 macropad/numpad
18 #define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
19 #define MATRIX_COL_PINS { F4, F5, F6, F7 }
22 /* COL2ROW or ROW2COL */
23 #define DIODE_DIRECTION COL2ROW
25 /* number of backlight levels */
28 #define BACKLIGHT_LEVELS 3
31 /* Set 0 if debouncing isn't needed */
32 #define DEBOUNCING_DELAY 5
34 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
35 #define LOCKING_SUPPORT_ENABLE
37 /* Locking resynchronize hack */
38 #define LOCKING_RESYNC_ENABLE
40 /* key combination for command */
41 #define IS_COMMAND() ( \
42 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
45 /* prevent stuck modifiers */
46 //#define STRICT_LAYER_RELEASE
50 #define RGBLIGHT_ANIMATIONS
52 #define RGBLIGHT_HUE_STEP 8
53 #define RGBLIGHT_SAT_STEP 8
54 #define RGBLIGHT_VAL_STEP 8
57 // Does not use WT_MONO_BACKLIGHT
58 // #define WT_MONO_BACKLIGHT
60 #define DYNAMIC_KEYMAP_LAYER_COUNT 4
64 // TODO: refactor with new user EEPROM code (coming soon)
65 #define EEPROM_MAGIC 0x451F
66 #define EEPROM_MAGIC_ADDR 32
67 // Bump this every time we change what we store
68 // This will automatically reset the EEPROM with defaults
69 // and avoid loading invalid data from the EEPROM
70 #define EEPROM_VERSION 0x08
71 #define EEPROM_VERSION_ADDR 34
73 // Dynamic keymap starts after EEPROM version
74 #define DYNAMIC_KEYMAP_EEPROM_ADDR 35
75 // Dynamic macro starts after dynamic keymaps (35+(4*5*4*2)) = (35+160)
76 #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 195
77 #define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 829
78 #define DYNAMIC_KEYMAP_MACRO_COUNT 16