Keyboard firmwares for Atmel AVR and Cortex-M
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
11 лет назад
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. /*
  2. Copyright 2012 Jun Wako <[email protected]>
  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. #ifndef CONFIG_H
  15. #define CONFIG_H
  16. /* USB Device descriptor parameter */
  17. #define VENDOR_ID 0xFEED
  18. #define PRODUCT_ID 0x6060
  19. #define DEVICE_VER 0x0001
  20. #define MANUFACTURER geekhack
  21. #define PRODUCT GH60
  22. /* message strings */
  23. #define DESCRIPTION t.m.k. keyboard firmware for GH60
  24. /* Boot Section Size in *BYTEs*
  25. * Teensy halfKay 512
  26. * Teensy++ halfKay 1024
  27. * Atmel DFU loader 4096
  28. * LUFA bootloader 4096
  29. * USBaspLoader 2048
  30. */
  31. #define BOOTLOADER_SIZE 4096
  32. /* matrix size */
  33. #define MATRIX_ROWS 5
  34. #define MATRIX_COLS 14
  35. /* define if matrix has ghost */
  36. //#define MATRIX_HAS_GHOST
  37. /* Set 0 if need no debouncing */
  38. #define DEBOUNCE 5
  39. /* To use new keymap framework */
  40. #define USE_KEYMAP_V2
  41. /* key combination for command */
  42. #define IS_COMMAND() ( \
  43. keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
  44. )
  45. /*
  46. * Boot magic keys
  47. * call some function by pressing key when pluging cable or powering on.
  48. */
  49. /* key position on matrix(ROW:COL) */
  50. #define KEY_FN 0x4A
  51. #define KEY_D 0x23
  52. #define KEY_ESC 0x00
  53. #define KEY_IS_ON(key) matrix_is_on((key)>>4, (key)&0xF)
  54. /* kick up bootloader */
  55. #define IS_BOOTMAGIC_BOOTLOADER() KEY_IS_ON(KEY_FN)
  56. /* debug on */
  57. #define IS_BOOTMAGIC_DEBUG() KEY_IS_ON(KEY_D)
  58. /* eeprom clear */
  59. #define IS_BOOTMAGIC_EEPROM_CLEAR() KEY_IS_ON(KEY_ESC)
  60. #endif