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.

72 lines
2.2 KiB

  1. /* Copyright 2020 QMK
  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. /* USB Device descriptor parameter */
  18. #undef VENDOR_ID
  19. #define VENDOR_ID 0x1209
  20. #undef PRODUCT_ID
  21. #define PRODUCT_ID 0x345C
  22. #undef DEVICE_VER
  23. #define DEVICE_VER 0x0001
  24. #undef MANUFACTURER
  25. #define MANUFACTURER "https://github.com/stapelberg"
  26. #undef PRODUCT
  27. #define PRODUCT "kinT (kint36)"
  28. /* key matrix size */
  29. #define MATRIX_ROWS 15
  30. #define MATRIX_COLS 7
  31. /*
  32. * Keyboard Matrix Assignments
  33. *
  34. * Change this to how you wired your keyboard
  35. * COLS: AVR pins used for columns, left to right
  36. * ROWS: AVR pins used for rows, top to bottom
  37. * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
  38. * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
  39. *
  40. */
  41. #define MATRIX_ROW_PINS { D3, C3, C4, C6, D2, B0, D7, A12, A13, B17, B16, D0, B1, C2, D6 }
  42. #define MATRIX_COL_PINS { B3, D1, C0, D5, C1, B2, D4 }
  43. #define UNUSED_PINS
  44. /* COL2ROW or ROW2COL */
  45. #define DIODE_DIRECTION COL2ROW
  46. /* Well-worn Cherry MX key switches can bounce for up to 20ms, despite the
  47. * Cherry data sheet specifying 5ms. Because we use the sym_eager_pk debounce
  48. * algorithm, this debounce latency only affects key releases (not key
  49. * presses). */
  50. #undef DEBOUNCE
  51. #define DEBOUNCE 20
  52. #define IGNORE_MOD_TAP_INTERRUPT
  53. // Reduce input latency by lowering the USB polling interval
  54. // from its 10ms default to the 1ms minimum that USB 1.x (Full Speed) allows:
  55. #define USB_POLLING_INTERVAL_MS 1
  56. #define LED_PIN_ON_STATE 0
  57. #define LED_NUM_LOCK_PIN A14
  58. #define LED_CAPS_LOCK_PIN C7
  59. #define LED_SCROLL_LOCK_PIN A5
  60. #define LED_COMPOSE_PIN E26
  61. #define EEPROM_SIZE 4096