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.

96 lines
2.7 KiB

  1. /*
  2. Copyright 2020 elagil
  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. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. */
  14. #pragma once
  15. #include "config_common.h"
  16. /* USB Device descriptor parameter */
  17. #define VENDOR_ID 0x6166 // af
  18. #define PRODUCT_ID 0x0001
  19. #define DEVICE_VER 0x0002
  20. #define MANUFACTURER elagil
  21. #define PRODUCT Murciélago
  22. /* key matrix size */
  23. #define MATRIX_ROWS 12
  24. #define MATRIX_COLS 6
  25. /* split options, use EEPROM for side detection */
  26. #define EE_HANDS
  27. #define SPLIT_USB_DETECT
  28. /*
  29. * Keyboard Matrix Assignments
  30. *
  31. * Change this to how you wired your keyboard
  32. * COLS: AVR pins used for columns, left to right
  33. * ROWS: AVR pins used for rows, top to bottom
  34. * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
  35. * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
  36. *
  37. */
  38. #define MATRIX_ROW_PINS { B4, D5, B3, B2, B1, B0 }
  39. #define MATRIX_COL_PINS { C6, B6, B5, D7, D6, D4 }
  40. #define MATRIX_ROW_PINS_RIGHT { B3, B7, D4, B6, C6, C7 }
  41. #define MATRIX_COL_PINS_RIGHT { D6, D7, D3, B2, B1, B0 }
  42. #define ENCODERS_PAD_A { F0 }
  43. #define ENCODERS_PAD_B { F1 }
  44. #define ENCODERS_PAD_A_RIGHT { F6 }
  45. #define ENCODERS_PAD_B_RIGHT { F7 }
  46. #define UNUSED_PINS
  47. /* COL2ROW, ROW2COL*/
  48. #define DIODE_DIRECTION COL2ROW
  49. /*
  50. * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
  51. */
  52. #define SOFT_SERIAL_PIN E6
  53. /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
  54. #define DEBOUNCE 5
  55. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  56. #define LOCKING_SUPPORT_ENABLE
  57. /* Locking resynchronize hack */
  58. #define LOCKING_RESYNC_ENABLE
  59. /*
  60. * Feature disable options
  61. * These options are also useful to firmware size reduction.
  62. */
  63. /* disable debug print */
  64. //#define NO_DEBUG
  65. /* disable print */
  66. //#define NO_PRINT
  67. /* disable action features */
  68. //#define NO_ACTION_LAYER
  69. //#define NO_ACTION_TAPPING
  70. //#define NO_ACTION_ONESHOT
  71. /* disable these deprecated features by default */
  72. #define NO_ACTION_MACRO
  73. #define NO_ACTION_FUNCTION
  74. /* Bootmagic Lite key configuration */
  75. // #define BOOTMAGIC_LITE_ROW 0
  76. // #define BOOTMAGIC_LITE_COLUMN 0