From C64 DTV Hacking Wiki
Shadowolf's keyboard twister is an ATtiny45-based hardware solution to fix some issues in the DTV's keyboard emulation as well as mapping german keyboard layout.
- Map german keys properly
- Mapping to other keyboards is also possible. Please contribute any other mappings!
- Fix switched SHIFTs
- Fix F7
- Fix powerup problem (keyboard does not work properly on first startup but only after reset)
- "Twister should send $f4 to keyboard (and drop the resulting $fa) whenever it gets $aa. Zee used a PIC that did this to fix a PS/2 'compatible' keyboard (that I happened to own too)." - Nojoopa
- Keeping some mapped keys pressed is visible on DTV side as multiple keypresses. This does not matter in BASIC but is annoying in games (e.g., in Elite decelerating using "/" is very slow).
- Add macro functionality for F9-F12. In record mode (Win+Fx?), write keycodes of keys pressed to EEPROM.
- CKDIV8 has to be disabled (unprogrammed/1) so that the ATtiny runs at 8MHz.
- PC_CLOCK/PC_DATA are C64DTV side.
Programming an ATtiny45 with AVRDUDE:
avrdude -p t45 -U flash:w:scancon.hex:i -U lfuse:w:0xE2:m
OSX with AVR-USB500 SMD:
avrdude -c stk500v2 -P /dev/tty.usbserial-A20008Du -p ATtiny45 -U flash:w:keyboardtwister.hex:i -U lfuse:w:0xE2:m
There have been reports of Keyboard Twister behaving weird because of the two 5k1 resistors. Better leave them away - in circuit programming of the ATtiny can still be done (detach keyboard for programming then).