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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 11 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 10 години
преди 11 години
преди 10 години
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. M0110/M0110A to USB keyboard converter
  2. ======================================
  3. This firmware converts the protocol of Apple Macintosh keyboard **M0110**, **M0110A** and **M0120** into USB. Target of this project is USB AVR controller like **ATmega32U2** and **ATmega32U4**. Using this converter you can revive these retro keyboards with modern computer.
  4. Read README of top directory too.
  5. Pictures of **M0110 + M0120** and **M0110A**.
  6. ![M0110+M0120](http://i.imgur.com/dyvXb2Tm.jpg)
  7. ![M0110A](http://i.imgur.com/HuHOEoHm.jpg)
  8. - M0110A support was contributed by [skagon@github](https://github.com/skagon).
  9. - M0120 also is supported. keys(+ * / and ,) on M0120 are recognized as cursor keys.
  10. Update
  11. ------
  12. - 2013/08: Change port for signals `PF` to `PD`
  13. - 2013/09: Change port again, it uses inversely `PD0` for data and `PD1` for clock line now.
  14. - 2014/06: Change keymaps
  15. - 2015/03: Add support for "International"(ISO) keyboard(keymap_intl.c)
  16. Building Hardware
  17. -----------------
  18. You need [TMK converter] or AVR dev board like PJRC [Teensy]. Port of the MCU `PD1` is assigned to `CLOCK` line and `PD0` to `DATA` by default, you can change pin configuration with editing `config.h`.
  19. [![M0110 Converter](http://i.imgur.com/4G2ZOegm.jpg)](http://i.imgur.com/4G2ZOeg.jpg)
  20. ### 4P4C phone handset cable
  21. Note that original cable used with Mac is **straight** while phone handset cable is **crossover**.
  22. <http://en.wikipedia.org/wiki/Modular_connector#4P4C>
  23. Close-up picture of handset cable. You can see one end of plug has reverse color codes against the other. Click to enlarge.
  24. [![4P4C cable](http://i.imgur.com/3S9P1mYm.jpg?1)](http://i.imgur.com/3S9P1mY.jpg?1)
  25. [Teensy]: http://www.pjrc.com/teensy/
  26. [TMK converter]: https://github.com/tmk/keyboard_converter
  27. ### Socket Pinout
  28. - <http://pinouts.ru/Inputs/MacKeyboard_pinout.shtml>
  29. ![Jack fig](http://www.kbdbabel.org/conn/kbd_connector_macplus.png)
  30. ### Pull-up Resistor
  31. You may need pull-up resistors on signal lines(`CLOCK`, `DATA`) in particular when you have long or coiled cable. **1k-10k Ohm** will be OK for this purpose. In that case the converter may not read signal from keyboard correctly without pull-up resistors.
  32. Building Firmware
  33. -----------------
  34. To compile firmware you need AVR GCC. You can edit *Makefile* and *config.h* to change compile options and pin configuration. Also `KEYMAP` option can be used to select keymap.
  35. $ git clone git://github.com/tmk/tmk_keyboard.git (or download source)
  36. $ cd m0110_usb
  37. $ make -f Makefile clean
  38. $ make -f Makefile [KEYMAP={default|plain|intl|spacefn|hasu}]
  39. Use `Makefile.teensy` instead for Teensy.
  40. Keymap
  41. ------
  42. To create your own keymap copy existent keymap file to `keymap_name.c` and edit it. You can build it like this.
  43. $ make -f Makefile clean
  44. $ make -f Makefile KEYMAP=name
  45. Debug
  46. -----
  47. You can use [PJRC HID listen](http://www.pjrc.com/teensy/hid_listen.html) to see debug output. The converter has some functions for debug, press `<Command>+H` simultaneously to get help.
  48. - Command: `Shift+Option+Command`(`Shift+Alt+Gui` or `Shift+Alt+Control`)