You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.2 KiB

  1. /* Copyright 2018 Jason Williams (Wilba)
  2. *
  3. * This program is free software: you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License as published by
  5. * the Free Software Foundation, either version 2 of the License, or
  6. * (at your option) any later version.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. */
  16. #pragma once
  17. #include "config_common.h"
  18. /* USB Device descriptor parameter */
  19. #define VENDOR_ID 0x4145 // "AE"
  20. #define PRODUCT_ID 0x0807 // 1800 -> 0x0708 -> 0x0807 ;-)
  21. #define DEVICE_VER 0x0001
  22. #define MANUFACTURER AEboards
  23. #define PRODUCT Aegis
  24. #define DESCRIPTION 1800 Left Handed Keyboard
  25. /* key matrix size */
  26. #define MATRIX_ROWS 12
  27. #define MATRIX_COLS 9
  28. /* key matrix pins */
  29. #define MATRIX_ROW_PINS { F5, F6, E6, F7, D1, D0, D6, D4, B4, D7, B6, B5 }
  30. #define MATRIX_COL_PINS { C7, C6, B7, D2, D3, B3, B2, B1, B0 }
  31. #define UNUSED_PINS
  32. /* COL2ROW or ROW2COL */
  33. #define DIODE_DIRECTION COL2ROW
  34. /* Set 0 if debouncing isn't needed */
  35. #define DEBOUNCE 5
  36. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  37. #define LOCKING_SUPPORT_ENABLE
  38. /* Locking resynchronize hack */
  39. #define LOCKING_RESYNC_ENABLE
  40. //#define WT_MONO_BACKLIGHT
  41. #define DYNAMIC_KEYMAP_LAYER_COUNT 4
  42. // EEPROM usage
  43. // TODO: refactor with new user EEPROM code (coming soon)
  44. #define EEPROM_MAGIC 0x451F
  45. #define EEPROM_MAGIC_ADDR 32
  46. // Bump this every time we change what we store
  47. // This will automatically reset the EEPROM with defaults
  48. // and avoid loading invalid data from the EEPROM
  49. #define EEPROM_VERSION 0x08
  50. #define EEPROM_VERSION_ADDR 34
  51. // Dynamic keymap starts after EEPROM version
  52. #define DYNAMIC_KEYMAP_EEPROM_ADDR 35
  53. // Dynamic macro starts after dynamic keymaps (35+(4*12*9*2)) = (35+864)
  54. #define DYNAMIC_KEYMAP_MACRO_EEPROM_ADDR 899
  55. #define DYNAMIC_KEYMAP_MACRO_EEPROM_SIZE 125
  56. #define DYNAMIC_KEYMAP_MACRO_COUNT 16