X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=README;h=d85f512c714000fd1337723fa8bc34dfa800ee21;hb=63d82fcaeb78d0764f39667b937262ed4a692c17;hp=228120cced508461046b99b8797e3dc1dd657ca9;hpb=3b31337cd8a5fe8b02924f2056ad2648a028c563;p=max%2Ftmk_keyboard.git diff --git a/README b/README index 228120cc..d85f512c 100644 --- a/README +++ b/README @@ -1,44 +1,135 @@ -Keyboard Firmware -================= -2010/08/23 noname - - -VERSION -------- -0.1 2010/08/23 - implemented for macway modified. - It works as normal keyboard now. - - -TODO ----- -modulization - clean source -debouncing -anti-ghost -keymap layer - key combination switch - toggle siwtch - HHKB like cursor etc. -setting menu(wizard) - debug console - keymap setting - matrix display -HHKB support -Trackpoint(PS/2) support - Thinkpad keyboard support - - -target board ------------- -Teensy 2.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 -projects based on/related to ----------------------------- -PJRC USB Keyboard Example +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 +$ make + +The firmware will be compiled as a file tmk_.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 +------------- +/Makefile: +1. Set target name for your firmware. + TARGET = tmk_ +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 + +/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 + H to debug menu. +(see config.h for 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