diff options
-rw-r--r-- | README | 151 | ||||
-rw-r--r-- | README.md | 175 | ||||
-rw-r--r-- | converter/adb_usb/Makefile (renamed from adb_usb/Makefile) | 2 | ||||
-rw-r--r-- | converter/adb_usb/README (renamed from adb_usb/README) | 0 | ||||
-rw-r--r-- | converter/adb_usb/config.h (renamed from adb_usb/config.h) | 0 | ||||
-rw-r--r-- | converter/adb_usb/keymap.c (renamed from adb_usb/keymap.c) | 0 | ||||
-rw-r--r-- | converter/adb_usb/led.c (renamed from adb_usb/led.c) | 0 | ||||
-rw-r--r-- | converter/adb_usb/matrix.c (renamed from adb_usb/matrix.c) | 0 | ||||
-rw-r--r-- | converter/m0110_usb/Makefile (renamed from m0110_usb/Makefile) | 2 | ||||
-rw-r--r-- | converter/m0110_usb/README.md (renamed from m0110_usb/README.md) | 0 | ||||
-rw-r--r-- | converter/m0110_usb/config.h (renamed from m0110_usb/config.h) | 0 | ||||
-rw-r--r-- | converter/m0110_usb/doc/m0110.jpg (renamed from m0110_usb/doc/m0110.jpg) | bin | 49360 -> 49360 bytes | |||
-rw-r--r-- | converter/m0110_usb/doc/teensy.jpg (renamed from m0110_usb/doc/teensy.jpg) | bin | 50081 -> 50081 bytes | |||
-rw-r--r-- | converter/m0110_usb/keymap.c (renamed from m0110_usb/keymap.c) | 0 | ||||
-rw-r--r-- | converter/m0110_usb/led.c (renamed from m0110_usb/led.c) | 0 | ||||
-rw-r--r-- | converter/m0110_usb/matrix.c (renamed from m0110_usb/matrix.c) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/Makefile (renamed from ps2_usb/Makefile) | 2 | ||||
-rw-r--r-- | converter/ps2_usb/Makefile.pjrc_usart (renamed from ps2_usb/Makefile.pjrc_usart) | 2 | ||||
-rw-r--r-- | converter/ps2_usb/Makefile.vusb (renamed from ps2_usb/Makefile.vusb) | 2 | ||||
-rw-r--r-- | converter/ps2_usb/README (renamed from ps2_usb/README) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/README.vusb (renamed from ps2_usb/README.vusb) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/config_pjrc.h (renamed from ps2_usb/config_pjrc.h) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/config_pjrc_usart.h (renamed from ps2_usb/config_pjrc_usart.h) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/config_vusb.h (renamed from ps2_usb/config_vusb.h) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/keymap.c (renamed from ps2_usb/keymap.c) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/led.c (renamed from ps2_usb/led.c) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/matrix.c (renamed from ps2_usb/matrix.c) | 0 | ||||
-rw-r--r-- | converter/ps2_usb/usbconfig.h (renamed from ps2_usb/usbconfig.h) | 0 | ||||
-rw-r--r-- | converter/sony_usb/Makefile.pjrc (renamed from sony_usb/Makefile.pjrc) | 2 | ||||
-rw-r--r-- | converter/sony_usb/config_pjrc.h (renamed from sony_usb/config_pjrc.h) | 0 | ||||
-rw-r--r-- | converter/sony_usb/keymap.c (renamed from sony_usb/keymap.c) | 0 | ||||
-rw-r--r-- | converter/sony_usb/led.c (renamed from sony_usb/led.c) | 0 | ||||
-rw-r--r-- | converter/sony_usb/matrix.c (renamed from sony_usb/matrix.c) | 0 | ||||
-rw-r--r-- | converter/sony_usb/news.c (renamed from sony_usb/news.c) | 0 | ||||
-rw-r--r-- | converter/sony_usb/news.h (renamed from sony_usb/news.h) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/Makefile.102_pjrc (renamed from terminal_usb/Makefile.102_pjrc) | 2 | ||||
-rw-r--r-- | converter/terminal_usb/Makefile.122_pjrc (renamed from terminal_usb/Makefile.122_pjrc) | 2 | ||||
-rw-r--r-- | converter/terminal_usb/README (renamed from terminal_usb/README) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/config_102_pjrc.h (renamed from terminal_usb/config_102_pjrc.h) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/config_122_pjrc.h (renamed from terminal_usb/config_122_pjrc.h) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/keymap_102.c (renamed from terminal_usb/keymap_102.c) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/keymap_122.c (renamed from terminal_usb/keymap_122.c) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/led.c (renamed from terminal_usb/led.c) | 0 | ||||
-rw-r--r-- | converter/terminal_usb/matrix.c (renamed from terminal_usb/matrix.c) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/Makefile (renamed from x68k_usb/Makefile) | 2 | ||||
-rw-r--r-- | converter/x68k_usb/README (renamed from x68k_usb/README) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/config_pjrc.h (renamed from x68k_usb/config_pjrc.h) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/keymap.c (renamed from x68k_usb/keymap.c) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/led.c (renamed from x68k_usb/led.c) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/matrix.c (renamed from x68k_usb/matrix.c) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/x68k.c (renamed from x68k_usb/x68k.c) | 0 | ||||
-rw-r--r-- | converter/x68k_usb/x68k.h (renamed from x68k_usb/x68k.h) | 0 | ||||
-rw-r--r-- | keyboard/hbk/Makefile (renamed from hbk/Makefile) | 2 | ||||
-rw-r--r-- | keyboard/hbk/config.h (renamed from hbk/config.h) | 0 | ||||
-rw-r--r-- | keyboard/hbk/controller_teensy.h (renamed from hbk/controller_teensy.h) | 0 | ||||
-rw-r--r-- | keyboard/hbk/keymap.c (renamed from hbk/keymap.c) | 0 | ||||
-rw-r--r-- | keyboard/hbk/led.c (renamed from hbk/led.c) | 0 | ||||
-rw-r--r-- | keyboard/hbk/matrix.c (renamed from hbk/matrix.c) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/Makefile.iwrap (renamed from hhkb/Makefile.iwrap) | 2 | ||||
-rw-r--r-- | keyboard/hhkb/Makefile.pjrc (renamed from hhkb/Makefile.pjrc) | 2 | ||||
-rw-r--r-- | keyboard/hhkb/Makefile.vusb (renamed from hhkb/Makefile.vusb) | 2 | ||||
-rw-r--r-- | keyboard/hhkb/README (renamed from hhkb/README) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/config_iwrap.h (renamed from hhkb/config_iwrap.h) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/config_pjrc.h (renamed from hhkb/config_pjrc.h) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/config_vusb.h (renamed from hhkb/config_vusb.h) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/doc/Bluetooth.txt (renamed from hhkb/doc/Bluetooth.txt) | 0 | ||||
-rwxr-xr-x | keyboard/hhkb/doc/Bluetooth_img/.picasa.ini (renamed from hhkb/doc/Bluetooth_img/.picasa.ini) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg (renamed from hhkb/doc/Bluetooth_img/BT_circuit.jpg) | bin | 502118 -> 502118 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB.txt (renamed from hhkb/doc/HHKB.txt) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg (renamed from hhkb/doc/HHKB_img/HHKB_TP1684.jpg) | bin | 149082 -> 149082 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg (renamed from hhkb/doc/HHKB_img/HHKB_chart1.jpg) | bin | 155342 -> 155342 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg (renamed from hhkb/doc/HHKB_img/HHKB_chart2.jpg) | bin | 148225 -> 148225 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg (renamed from hhkb/doc/HHKB_img/HHKB_connector.jpg) | bin | 193900 -> 193900 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg (renamed from hhkb/doc/HHKB_img/HHKB_controller.jpg) | bin | 135100 -> 135100 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg (renamed from hhkb/doc/HHKB_img/HHKB_keyswitch.jpg) | bin | 171469 -> 171469 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/connector_contact.jpg (renamed from hhkb/doc/HHKB_img/connector_contact.jpg) | bin | 192830 -> 192830 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg (renamed from hhkb/doc/HHKB_img/logic_analyzer.jpg) | bin | 169564 -> 169564 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/probe_contact.jpg (renamed from hhkb/doc/HHKB_img/probe_contact.jpg) | bin | 208477 -> 208477 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/teensy_install.jpg (renamed from hhkb/doc/HHKB_img/teensy_install.jpg) | bin | 135851 -> 135851 bytes | |||
-rw-r--r-- | keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg (renamed from hhkb/doc/HHKB_img/teensy_wiring.jpg) | bin | 154695 -> 154695 bytes | |||
-rw-r--r-- | keyboard/hhkb/keymap.c (renamed from hhkb/keymap.c) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/led.c (renamed from hhkb/led.c) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/matrix.c (renamed from hhkb/matrix.c) | 0 | ||||
-rw-r--r-- | keyboard/hhkb/usbconfig.h (renamed from hhkb/usbconfig.h) | 0 | ||||
-rw-r--r-- | keyboard/macway/Makefile (renamed from macway/Makefile) | 2 | ||||
-rw-r--r-- | keyboard/macway/config.h (renamed from macway/config.h) | 0 | ||||
-rw-r--r-- | keyboard/macway/doc/back.jpg (renamed from macway/doc/back.jpg) | bin | 122135 -> 122135 bytes | |||
-rw-r--r-- | keyboard/macway/doc/case.jpg (renamed from macway/doc/case.jpg) | bin | 146003 -> 146003 bytes | |||
-rw-r--r-- | keyboard/macway/doc/keys.jpg (renamed from macway/doc/keys.jpg) | bin | 116365 -> 116365 bytes | |||
-rw-r--r-- | keyboard/macway/doc/side.jpg (renamed from macway/doc/side.jpg) | bin | 109755 -> 109755 bytes | |||
-rw-r--r-- | keyboard/macway/doc/switch.jpg (renamed from macway/doc/switch.jpg) | bin | 115526 -> 115526 bytes | |||
-rw-r--r-- | keyboard/macway/doc/teensy.jpg (renamed from macway/doc/teensy.jpg) | bin | 165814 -> 165814 bytes | |||
-rw-r--r-- | keyboard/macway/doc/wiring.jpg (renamed from macway/doc/wiring.jpg) | bin | 165569 -> 165569 bytes | |||
-rw-r--r-- | keyboard/macway/doc/withHHKB.jpg (renamed from macway/doc/withHHKB.jpg) | bin | 152832 -> 152832 bytes | |||
-rw-r--r-- | keyboard/macway/doc/withThinkPad.jpg (renamed from macway/doc/withThinkPad.jpg) | bin | 118993 -> 118993 bytes | |||
-rw-r--r-- | keyboard/macway/keymap.c (renamed from macway/keymap.c) | 0 | ||||
-rw-r--r-- | keyboard/macway/led.c (renamed from macway/led.c) | 0 | ||||
-rw-r--r-- | keyboard/macway/matrix.c (renamed from macway/matrix.c) | 0 | ||||
-rw-r--r-- | protocol.mk | 2 |
99 files changed, 191 insertions, 165 deletions
diff --git a/README b/README deleted file mode 100644 index d85f512c71..0000000000 --- a/README +++ /dev/null @@ -1,151 +0,0 @@ -t.m.k. Keyboard Firmware -======================== -This is keyboard firmware for Teensy(AVR USB MCU) and V-USB board. - -source code repository: -http://github.com/tmk/tmk_keyboard - -This firmware is used in following projects: -HHKB mod: http://geekhack.org/showwiki.php?title=Island:12047 -Macway mod: http://geekhack.org/showwiki.php?title=Island:11930 -PS2 to USB: http://geekhack.org/showwiki.php?title=Island:14618 -ADB to USB: http://geekhack.org/showwiki.php?title=Island:14290 - -The project is heavily based on PJRC USB Keyboard/Mouse Example and -owes a debt to preceding keyboard firmware projects. -http://www.pjrc.com/teensy - - -Features --------- -Mouse key - control mouse cursor from keyboard. -System Control Key - Power Down, Sleep, Wake Up & USB Remote Wake up -Media Control Key - Volume Down/Up, Mute -USB NKRO - send 120 keys(+ 8 modifiers) at most simultaneously. -PS/2 mouse support - integrate PS/2 mouse(TrackPoint) into keyboard as composite device. - - -Limitations ------------ - - -Files & Directories -------------------- -Target: -hhkb/ keyboard controller for PFU HHKB pro -macway/ keyboard controller for Macway mod -ps2_usb/ PS2 to USB keyboard converter -adb_usb/ ADB to USB keyboard converter - -USB Protocol Stack: -pjrc/ PJRC USB stack -vusb/ V-USB USB stack -ps2.[ch] PS/2 protocol -adb.[ch] ADB protocol - - -Build ------ -To compile needs AVR GCC, AVR Libc and GNU make. -You can use WinAVR on Windows. http://winavr.sourceforge.net/ - -$ cd <target> -$ make - -The firmware will be compiled as a file tmk_<target>.hex. - - -Build your own firmware ------------------------ -Copying exsistent target(macway) is easy way. -1. Copy contens of macway/ to your own target directory. -2. Edit Makefile. See next section. -3. Edit config.h. See next section. -4. Edit matrix.c. You will need to fix followings at least. - matrix_init() - matrix_scan() - read_col() - unselect_rows() - select_row() -5. Edit keymap.c. NOTE: It is not final design and a bit messy. - You will need to fix followings at least. - KEYMAP - fn_layer[] - fn_keycode[] - keymaps[] -6. Build. - -If you have a build error like following, comment out "--relax" option in Makefile.common. - (.vectors+0x30): relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_12' - - -Build Options -------------- -<target>/Makefile: -1. Set target name for your firmware. - TARGET = tmk_<target> -2. Choose a MCU and its frequency. - MCU = atmega32u4 # Teensy 2.0 - #MCU = at90usb1286 # Teensy++ 2.0 - F_CPU = 16000000 -3. Choose optional modules as needed. Comment out to disable optional modules. - MOUSEKEY_ENABLE = yes # Mouse keys - PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support - EXTRAKEY_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) - NKRO_ENABLE = yes # USB Nkey Rollover - -<target>/config.h: -1. USB vendor/product ID and device description - #define VENDOR_ID 0xFEED - #define PRODUCT_ID 0xBEEF - /* device description */ - #define MANUFACTURER t.m.k. - #define PRODUCT Macway mod - #define DESCRIPTION t.m.k. keyboard firmware for Macway mod -2. Keyboard matrix configuration - #define MATRIX_ROWS 8 - #define MATRIX_COLS 8 - #define MATRIX_HAS_GHOST -3. Mouse keys configuration if needed. -4. PS/2 mouse configuration if needed. - - -Debuging & Rescue ------------------ -Use PJRC's hid_listen.exe to see debug messages. -Press <COMMAND> + H to debug menu. -(see config.h for <COMMAND> key combination.) - -Pressing any 3 keys when connected enables debug output. -Pressing any 4 keys when connected makes bootloader comes up. - - -Projects related ----------------- -PJRC USB Keyboard/Mouse Example - http://www.pjrc.com/teensy/usb_keyboard.html - http://www.pjrc.com/teensy/usb_mouse.html -kbupgrade - http://github.com/rhomann/kbupgrade - http://geekhack.org/showwiki.php?title=Island:8406 -c64key - http://symlink.dk/projects/c64key/ -rump - http://mg8.org/rump/ - http://github.com/clee/rump -dulcimer - http://www.schatenseite.de/dulcimer.html -humblehacker-keyboard - http://github.com/humblehacker - http://www.humblehacker.com/keyboard/ - http://geekhack.org/showwiki.php?title=Island:6292 -ps2avr - http://sourceforge.net/projects/ps2avr/ - - -EOF diff --git a/README.md b/README.md new file mode 100644 index 0000000000..0361e2ad99 --- /dev/null +++ b/README.md @@ -0,0 +1,175 @@ +t.m.k. Keyboard Firmware Collection +==================================== +This is a keyboard firmware with some features for Atmel AVR controller. + +Source code is available here: <http://github.com/tmk/tmk_keyboard> + + +Features +-------- +* Mouse key - Mouse control by keyboard +* System Control Key - Power Down, Sleep, Wake Up and USB Remote Wake up +* Media Control Key - Volume Down/Up, Mute, Next/Prev track, Play, Stop and etc. +* USB NKRO - Can send 120 keys(+ 8 modifiers) simultaneously. +* PS/2 mouse support - integrate PS/2 mouse(TrackPoint) into keyboard as composite device. + + +Projects +-------- +### converter +* ps2_usb - PS/2 keyboard to USB +* adb_usb - ADB keyboard to USB +* m0110_usb - Machintosh 128K/512K/Plus keyboard to USB +* terminal_usb - IBM Model M terminal keyboard(PS/2 scancode set3) to USB +* sony_usb - Sony NEWS keyboard to USB +* x68k_usb - Sharp X68000 keyboard to USB + +### keyboard +* hhkb - Happy Hacking Keyboard professional +* macway - Compact keyboard mod +* hbk - Happy Buckling sprint keyboard(IBM Model M mod) + +[GH_macway]: http://geekhack.org/showwiki.php?title=Island:11930 +[GH_hhkb]: http://geekhack.org/showwiki.php?title=Island:12047 +[GH_ps2]: http://geekhack.org/showwiki.php?title=Island:14618 +[GH_adb]: http://geekhack.org/showwiki.php?title=Island:14290 +[GH_hhkb_bt]: http://geekhack.org/showwiki.php?title=Island:20851 +[GH_m0110]: http://geekhack.org/showwiki.php?title=Island:24965 +[GH_sony]: http://geekhack.org/showwiki.php?title=Island:25759 +[GH_terminal]: http://geekhack.org/showwiki.php?title=Island:27272 +[GH_x68k]: http://geekhack.org/showwiki.php?title=Island:29060 +[GH_hbk]: http://geekhack.org/showwiki.php?title=Island:29483 + + + +Files & Directories +------------------- +### Top +* common/ common codes +* protocol/ keyboard protocol support +* keyboard/ keyboard projects +* converter/ protocol converter projects +* doc/ documents + +### Keyboard Protocols +* pjrc/ PJRC USB stack +* vusb/ Objective Development V-USB +* iwrap/ Bluetooth HID for Bluegiga iWRAP +* ps2 PS/2 protocol +* adb Apple Desktop Bus protocol +* m0110 Macintosh 128K/512K/Plus keyboard protocol +* news Sony NEWS keyboard protocol +* x68k Sharp X68000 keyboard protocol + + +Build & Program +--------------- +### Build firmware +To compile you need `AVR GCC`, `AVR Libc` and `GNU make`. +You can use [WinAVR][1] on Windows and [CrossPack][2] on Mac. + + $ cd <project> + $ make + +The firmware will be compiled as a file tmk_<project>.hex. + +[1]: http://winavr.sourceforge.net/ +[2]: http://www.obdev.at/products/crosspack/index.html + +### Program Controller +If you have proper program command in Makefile just type this. + + $ make program + +As for `Teensy` you can use `PJRC's loader` to program hex file. <http://www.pjrc.com/teensy/loader.html> + + + +Build Options +------------- +### `Makefile` +#### 1. MCU and Frequency. + MCU = atmega32u4 # Teensy 2.0 + #MCU = at90usb1286 # Teensy++ 2.0 + F_CPU = 16000000 + +#### 2. Features +Note that ***comment out*** to disable them. + MOUSEKEY_ENABLE = yes # Mouse keys + PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support + EXTRAKEY_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) + NKRO_ENABLE = yes # USB Nkey Rollover + +#### 3. Programmer +Set proper command for your controller, bootloader and programmer. + # for PJRC Teensy + PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex + + # for Atmel AT90USBKEY < |