Keyboard firmwares for Atmel AVR and Cortex-M
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.

README 3.5KB

13 lat temu
13 lat temu
13 lat temu
13 lat temu
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. t.m.k. Keyboard Firmware
  2. ========================
  3. http://github.com/tmk/tmk_keyboard
  4. This is keyboard firmware for AVR USB MCUs or Teensy/Teensy++.
  5. http://www.pjrc.com/teensy
  6. The project is heavily based on PJRC USB Keyboard/Mouse Example and
  7. owes a debt to preceding keyboard firmware projects.
  8. This firmware is used in following projects:
  9. HHKB mod: http://geekhack.org/showwiki.php?title=Island:12047
  10. Macway mod: http://geekhack.org/showwiki.php?title=Island:11930
  11. Features
  12. --------
  13. Mouse key
  14. control mouse cursor from keyboard.
  15. System Control Key
  16. Power Down, Sleep, Wake Up & USB Remote Wake up
  17. Media Control Key
  18. Volume Down/Up, Mute
  19. USB NKRO
  20. send 120 keys(+ 8 modifiers) at most simultaneously.
  21. PS/2 mouse support
  22. integrate PS/2 mouse(TrackPoint) into keyboard as composite device.
  23. Limitations
  24. -----------
  25. Build
  26. -----
  27. To compile needs AVR GCC, AVR Libc and GNU make.
  28. You can use WinAVR on Windows. http://winavr.sourceforge.net/
  29. $ cd <target> (hhkb or macway currently)
  30. $ make
  31. The firmware will be compiled as a file tmk_<target>.hex.
  32. Build your own firmware
  33. -----------------------
  34. Copying exsistent target(macway) is easy way.
  35. 1. Copy contens of macway/ to your own target directory.
  36. 2. Edit Makefile. See next section.
  37. 3. Edit config.h. See next section.
  38. 4. Edit matrix.c. You will need to fix followings at least.
  39. matrix_init()
  40. matrix_scan()
  41. read_col()
  42. unselect_rows()
  43. select_row()
  44. 5. Edit keymap.c. NOTE: It is not final design and a bit messy.
  45. You will need to fix followings at least.
  46. KEYMAP
  47. fn_layer[]
  48. fn_keycode[]
  49. keymaps[]
  50. 6. Build.
  51. Build Options
  52. -------------
  53. <target>/Makefile:
  54. 1. Set target name for your firmware.
  55. TARGET = tmk_<target>
  56. 2. Choose a MCU and its frequency.
  57. MCU = atmega32u4 # Teensy 2.0
  58. #MCU = at90usb1286 # Teensy++ 2.0
  59. F_CPU = 16000000
  60. 3. Choose optional modules as needed. Comment out to disable optional modules.
  61. MOUSEKEY_ENABLE = yes # Mouse keys
  62. PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
  63. USB_EXTRA_ENABLE = yes # Enhanced feature for Windows(Audio control and System control)
  64. USB_NKRO_ENABLE = yes # USB Nkey Rollover
  65. <target>/config.h:
  66. 1. USB vendor/product ID and device description
  67. #define VENDOR_ID 0xFEED
  68. #define PRODUCT_ID 0xBEEF
  69. /* device description */
  70. #define MANUFACTURER t.m.k.
  71. #define PRODUCT Macway mod
  72. #define DESCRIPTION t.m.k. keyboard firmware for Macway mod
  73. 2. Keyboard matrix configuration
  74. #define MATRIX_ROWS 8
  75. #define MATRIX_COLS 8
  76. #define MATRIX_HAS_GHOST
  77. 3. Mouse keys configuration if needed.
  78. 4. PS/2 mouse configuration if needed.
  79. Debuging & Rescue
  80. -----------------
  81. Use PJRC's hid_listen.exe to see debug messages.
  82. Press right Control + Shift + Alt + GUI + H to debug menu.
  83. Pressing any 3 keys when connected enables debug output.
  84. Pressing any 4 keys when connected makes bootloader comes up.
  85. Projects related
  86. ----------------
  87. PJRC USB Keyboard/Mouse Example
  88. http://www.pjrc.com/teensy/usb_keyboard.html
  89. http://www.pjrc.com/teensy/usb_mouse.html
  90. kbupgrade
  91. http://github.com/rhomann/kbupgrade
  92. http://geekhack.org/showwiki.php?title=Island:8406
  93. c64key
  94. http://symlink.dk/projects/c64key/
  95. rump
  96. http://mg8.org/rump/
  97. http://github.com/clee/rump
  98. dulcimer
  99. http://www.schatenseite.de/dulcimer.html
  100. humblehacker-keyboard
  101. http://github.com/humblehacker
  102. http://www.humblehacker.com/keyboard/
  103. http://geekhack.org/showwiki.php?title=Island:6292
  104. ps2avr
  105. http://sourceforge.net/projects/ps2avr/
  106. EOF