X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=README;h=3361c1f99baac44b87c0a8e9c96b5490bc0deed8;hb=47f5d8b545eec12ca74d8e7048bb5daa290d937e;hp=57bce575c725bece2dd8ad5a865138fe0c03aac9;hpb=51f17f02317700e64b3c1113fe230d78bac7fecd;p=max%2Ftmk_keyboard.git diff --git a/README b/README index 57bce575..3361c1f9 100644 --- a/README +++ b/README @@ -2,33 +2,99 @@ t.m.k. Keyboard Firmware ======================== http://github.com/tmk/tmk_keyboard -This is keyboard firmware for AVR USB MCUs or Teensy/Teensy++ 2.0. +This is keyboard firmware for AVR USB MCUs or Teensy/Teensy++. +http://www.pjrc.com/teensy 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 - +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 -Functions ---------- +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 +----------- Build ----- -Compiling sources need AVR GCC, AVR Libc and GNU make.(You can use WinAVR on Windows.) +To compile needs AVR GCC, AVR Libc and GNU make. +You can use WinAVR on Windows. http://winavr.sourceforge.net/ -$ cd (hhkb or macway) +$ cd (hhkb or macway currently) $ make -http://winavr.sourceforge.net/ +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 + USB_EXTRA_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) + USB_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