Sun to USB keyboard protocol converter
======================================
-Target MCU is ATMega32u4 but other USB capable AVR will also work.
+Target MCU is ATMega32u2/4 but other USB capable AVR will also work.
This converter will work with Sun Type 2-5 Keyboards.
-Tested on:
-Sun Type 3 Keyboard: http://blog.daveastels.com.s3-website-us-west-2.amazonaws.com/2014/12/27/type-3-keyboard.html
-CTCSP SHORT TYPE KEYBOARD(Type 5): http://imgur.com/a/QIv6p
+Check wiki pages for other information about TMK keyobard firware.
+https://github.com/tmk/tmk_keyboard/wiki
-Keymap of Type 3(keymap_sun3.c) were impoted from dastels's repository.
-https://github.com/dastels/tmk_keyboard/tree/master/converter/sun3_usb
+Update
+------
+2020-04-08 Added unimap support
Connector
---------
- 8Pin mini DIN
- ___ ___
- / |_| \
- / 8 7 6 \
- | 5 4 3 |
- \_ 2 1 _/
- \_____/
- (receptacle)
+Modern Type 4 and 5 keyboards uses 8Pin mini DIN.
+
+ ___ ___
+ / |_| \
+ / 8 7 6 \
+ | 5 4 3 |
+ \_ 2 1 _/
+ \_____/
+ (receptacle)
Wiring:
Pin mini DIN MCU
Protocol
--------
Signal: Asynchronous, Negative logic, 1200baud, No Flow control
+
Frame format: 1-Start bit, 8-Data bits, No-Parity, 1-Stop bit
- AVR USART engine expects positive logic while Sun keyboard signal is negative.
- To use AVR UART engine you need external inverter in front of RX and TX pin.
- Otherwise you can software serial routine to communicate the keyboard.
+AVR USART engine expects positive logic while Sun keyboard signal is negative.
+To use AVR UART engine you need external inverter in front of RX and TX pin.
+Otherwise you can use software serial to communicate the keyboard.
+
+This firmware uses software serial by default, so you don't need any inverter.
+It can be still built with 'make HARDWARE_SERIAL=y' to enable hardware serial if you have inverter. You can use 74LS04 for example.
-This converter uses software method by default, so you don't need any inverter part. But
-it can also be built with 'make HARDWARE_SERIAL=y' to enable hardware serial if there
-is an inverter present. Good results have been obtained using a 74LS04 and hardware serial.
+### Commands From System To Keyboard
-Commands From System To Keyboard
0x01 Reset
Keyboard responds with following byte sequence:
Success: 0xFF 0x04 0x7F
0x0F Layout
Keyboard responds with 'Layout Response' 0xFE 0xXX
-Commands From Keyboard To System
+### Commands From Keyboard To System
0x7F Idle
means no keys pressed.
0xFE Layout Response
0xFF Reset Response(followed by 0x04)
-Reference
- http://kentie.net/article/sunkbd/page2.htm
- http://kentie.net/article/sunkbd/KBD.pdf
+### Reference
+- http://kentie.net/article/sunkbd/page2.htm
+- http://kentie.net/article/sunkbd/KBD.pdf
Build Firmware
--------------
Just use 'make'
+
$ cd sun_usb
$ make
+
Then, load the binary to MCU with your favorite programmer.
-Sun commands
-------------
+Keyboard Control
+----------------
You can send Sun protocol commands with TMK `Magic` key combo. By default `Magic` key is `LShift` + `RShift`, `LAlt` + `RAlt' or `LMeta` + `RMeta`.
https://github.com/tmk/tmk_keyboard#magic-commands
Insert: Layout
Delete: Reset
```
+
+
+Tested on
+---------
+### Type 3
+http://blog.daveastels.com.s3-website-us-west-2.amazonaws.com/2014/12/27/type-3-keyboard.html
+
+### CTCSP SHORT TYPE KEYBOARD(Type 5)
+http://imgur.com/a/QIv6p