2
0

config.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #pragma once
  2. #include "config_common.h"
  3. /* USB Device descriptor parameter */
  4. #define VENDOR_ID 0x4443 // "DC" = Don Chiou
  5. #define PRODUCT_ID 0x5350 // "SP" = Snagpad
  6. #define DEVICE_VER 0x0001
  7. #define MANUFACTURER Flehrad
  8. #define PRODUCT Snagpad
  9. #define DESCRIPTION A Pro Micro-Powered 5x4 macropad/numpad
  10. /* key matrix size */
  11. #define MATRIX_ROWS 5
  12. #define MATRIX_COLS 4
  13. /* key matrix pins */
  14. #define MATRIX_ROW_PINS { D1, D0, D4, C6, D7 }
  15. #define MATRIX_COL_PINS { F4, F5, F6, F7 }
  16. #define UNUSED_PINS
  17. /* COL2ROW or ROW2COL */
  18. #define DIODE_DIRECTION COL2ROW
  19. /* number of backlight levels */
  20. #ifdef BACKLIGHT_PIN
  21. #define BACKLIGHT_LEVELS 3
  22. #endif
  23. /* Set 0 if debouncing isn't needed */
  24. #define DEBOUNCING_DELAY 5
  25. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  26. #define LOCKING_SUPPORT_ENABLE
  27. /* Locking resynchronize hack */
  28. #define LOCKING_RESYNC_ENABLE
  29. /* key combination for command */
  30. #define IS_COMMAND() ( \
  31. keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
  32. )
  33. /* prevent stuck modifiers */
  34. //#define STRICT_LAYER_RELEASE
  35. #ifdef RGB_DI_PIN
  36. #define RGBLIGHT_ANIMATIONS
  37. #define RGBLED_NUM 0
  38. #define RGBLIGHT_HUE_STEP 8
  39. #define RGBLIGHT_SAT_STEP 8
  40. #define RGBLIGHT_VAL_STEP 8
  41. #endif
  42. // Does not use WT_MONO_BACKLIGHT
  43. // #define WT_MONO_BACKLIGHT
  44. #define DYNAMIC_KEYMAP_LAYER_COUNT 4
  45. // EEPROM usage
  46. // TODO: refactor with new user EEPROM code (coming soon)
  47. #define EEPROM_MAGIC 0x451F
  48. #define EEPROM_MAGIC_ADDR 32
  49. // Bump this every time we change what we store
  50. // This will automatically reset the EEPROM with defaults
  51. // and avoid loading invalid data from the EEPROM
  52. #define EEPROM_VERSION 0x08
  53. #define EEPROM_VERSION_ADDR 34
  54. // Dynamic keymap starts after EEPROM version
  55. #define DYNAMIC_KEYMAP_EEPROM_ADDR 35
  56. // Dynamic macro starts after dynamic keymaps (35+(4*5*4*2)) = (35+160)
  57. #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 195
  58. #define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 829
  59. #define DYNAMIC_KEYMAP_MACRO_COUNT 16