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.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. Sun to USB keyboard protocol converter
  2. ======================================
  3. TODO
  4. ----
  5. AVR UART engine expect positive logic while Sun keyboard signal is inverted serial.
  6. To use AVR UART engine you need inverter in front of RX and TX pin.
  7. Otherwise you can software serial routine to communicate the keyboard.
  8. Hardware
  9. --------
  10. Target MCU is ATMega32u4 but other USB capable AVR will also work.
  11. You can use PJRC Teensy as dev board.
  12. http://www.pjrc.com/teensy/
  13. Connector
  14. 8Pin mini DIN
  15. ___ ___
  16. / |_| \
  17. / 8 7 6 \
  18. | 5 4 3 |
  19. \_ 2 1 _/
  20. \_____/
  21. (receptacle)
  22. Wiring:
  23. Pin mini DIN Teensy
  24. ----------------------------------
  25. 1 GND GND
  26. 2 GND GND
  27. 3 5V
  28. 4 RX/TX(Mouse)
  29. 5 RX PD2
  30. 6 TX PD3
  31. 7 GND GND
  32. 8 5V VCC
  33. Firmware
  34. --------
  35. Build:
  36. $ cd sun_usb
  37. $ make
  38. And load the binary to MCU with your favorite programmer.
  39. If you use Teensy you can load with PJRC Teensy Loader tool.
  40. http://www.pjrc.com/teensy/loader.html
  41. * * * * * * * * * * * * * * * * * *
  42. X68000 Keyboard Protocol
  43. ========================
  44. http://kyoutan.jpn.org/uts/pc/pic/x68key/
  45. Connector
  46. ---------
  47. Mini DIN 7pin(female connector on computer side)
  48. 7 6 5
  49. o o o
  50. 4 o = o 3
  51. o o
  52. 2 1
  53. Mini-DIN
  54. -------------
  55. pin1 +5V
  56. pin2 MOUSE
  57. pin3 RXD
  58. pin4 TXD
  59. pin5 READY
  60. pin6 REMOTE
  61. pin7 GND
  62. Signaling
  63. ---------
  64. - TXD,RXD
  65. Asynchronous, 2400baud, 1-startbit(L), 8-databit, 1-stopbit(H)
  66. - READY
  67. ready/not ready(1/0)
  68. Data from keyboard
  69. ------------------
  70. bit 7 make/break flag(0/1)
  71. bit 6-0 following scan code
  72. Data from computer
  73. ------------------
  74. - LED contorol ON/OFF(0/1)
  75. bit 7 1(fixed)
  76. bit 6 全角
  77. bit 5 ひらがな
  78. bit 4 INS
  79. bit 3 CAPS
  80. bit 2 コード入力
  81. bit 1 ローマ字
  82. bit 0 かな
  83. - Repeat delay
  84. bit 7 0(fixed)
  85. bit 6 1(fixed)
  86. bit 5 1(fixed)
  87. bit 4 0(fixed)
  88. bit 3-0 delay
  89. REPEAT_DELAY = 200+delay*100 ms
  90. default: 500ms
  91. - Repeat time
  92. bit 7 0(fixed)
  93. bit 6 1(fixed)
  94. bit 5 1(fixed)
  95. bit 4 1(fixed)
  96. bit 3-0 time
  97. REPEAT_TIME = 30+time^2*5 ms
  98. default: 110ms
  99. Scan Codes
  100. ----------
  101. ,---. ,---. ,-------------------, ,-------------------. ,-----------. ,---------------.
  102. | 61| | 62| | 63| 64| 65| 66| 67| | 68| 69| 6A| 6B| 6C| | 5A| 5B| 5C| | 5D| 52| 53| 54|
  103. `---' `---' `-------------------' `-------------------' `-----------' `---------------'
  104. ,-----------------------------------------------------------. ,-----------. ,---------------.
  105. | 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 0E| 0F| | 36| 5E| 37| | 3F| 40| 41| 42|
  106. |-----------------------------------------------------------| |------------ |---------------|
  107. | 10 | 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B| 1C| | | 38| 39| 3A| | 43| 44| 45| 46|
  108. |------------------------------------------------------. 1D | `---=====---' |---------------|
  109. | 71 | 1E| 1F| 20| 21| 2l| 23| 24| 25| 26| 27| 28| 29| | ___| 3C|___ | 47| 48| 49| 4A|
  110. |-----------------------------------------------------------| | 3B|---| 3D| |-----------|---|
  111. | 70 | 2A| 2B| 2C| 2D| 2E| 2F| 30| 31| 32| 33| 34| 70 | `---| 3E|---' | 4B| 4C| 4D| |
  112. `-----------------------------------------------------------| .---=====---. |-----------| 4E|
  113. | 5F| 55 | 56 | 35 | 57 | 58 | 59 | 60| | 72 | 73 | | 4F| 50| 51| |
  114. `---------------------------------------------' `-----------' `---------------'