config.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*
  2. Copyright 2019 Danny Nguyen <danny@keeb.io>
  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. /* USB Device descriptor parameter */
  16. #define VENDOR_ID 0xCB10
  17. #define PRODUCT_ID 0x1256
  18. #define DEVICE_VER 0x0400
  19. #define MANUFACTURER Keebio
  20. #define PRODUCT Iris Keyboard
  21. #define DESCRIPTION Split 50 percent ergonomic keyboard
  22. /* key matrix size */
  23. // Rows are doubled-up
  24. #define MATRIX_ROWS 10
  25. #define MATRIX_COLS 6
  26. // wiring of each half
  27. #define MATRIX_ROW_PINS { B1, F0, F5, F6, F7 }
  28. #define MATRIX_COL_PINS { F1, F4, D3, D2, B7, D4 }
  29. #define MATRIX_ROW_PINS_RIGHT { B1, B2, D2, F1, F4 }
  30. #define MATRIX_COL_PINS_RIGHT { D4, D7, D3, B7, F0, B3 }
  31. #define SPLIT_HAND_PIN D5
  32. #define QMK_ESC_OUTPUT F1
  33. #define QMK_ESC_INPUT B1
  34. #define QMK_LED B0
  35. #define QMK_SPEAKER C6
  36. #define ENCODERS_PAD_A { B2 }
  37. #define ENCODERS_PAD_B { B3 }
  38. #define ENCODERS_PAD_A_RIGHT { F7 }
  39. #define ENCODERS_PAD_B_RIGHT { F6 }
  40. /* COL2ROW or ROW2COL */
  41. #define DIODE_DIRECTION COL2ROW
  42. /* define if matrix has ghost */
  43. //#define MATRIX_HAS_GHOST
  44. /* number of backlight levels */
  45. // #define BACKLIGHT_LEVELS 3
  46. /* Set 0 if debouncing isn't needed */
  47. #define DEBOUNCE 5
  48. /* serial.c configuration for split keyboard */
  49. #define SOFT_SERIAL_PIN D0
  50. /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
  51. #define LOCKING_SUPPORT_ENABLE
  52. /* Locking resynchronize hack */
  53. #define LOCKING_RESYNC_ENABLE
  54. #define BACKLIGHT_PIN B5
  55. #define BACKLIGHT_LEVELS 5
  56. /* ws2812 RGB LED */
  57. #define RGB_DI_PIN D6
  58. #define RGBLED_NUM 12 // Number of LEDs
  59. #define RGBLED_SPLIT { 6, 6 }