]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - README
fixed macway to comply new API.
[tmk_firmware.git] / README
diff --git a/README b/README
index 15eb28ff0db8126a573477fcccddffc262f15bcf..3361c1f99baac44b87c0a8e9c96b5490bc0deed8 100644 (file)
--- a/README
+++ b/README
-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
-    will be coded when bouncing occurs.
-    bouncing doesnt occur on my alps switch so far.
-    scan rate is too slow?(to be measure)
-anti-ghost
-    2010/09/13 done
-sleep&wakeup
-boot keyboard support
-mouse key
-keymap layer
-    2010/09/16 simple layer(HHKB/vi cursor)
-    key combination switch
-    toggle siwtch
-setting menu(wizard)
-    debug console
-    keymap setting
-    matrix display
-PS/2 keyboard mode
-HHKB support
-Trackpoint(PS/2) support
-    Thinkpad keyboard support
-
-
-target board
-------------
-Teensy 2.0
+t.m.k. Keyboard Firmware
+========================
+http://github.com/tmk/tmk_keyboard
+
+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.
+
+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
+
+
+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
+-----
+To compile needs AVR GCC, AVR Libc and GNU make.
+You can use WinAVR on Windows.  http://winavr.sourceforge.net/
+
+$ cd <target> (hhkb or macway currently)
+$ 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
+     USB_EXTRA_ENABLE = yes    # Enhanced feature for Windows(Audio control and System control)
+     USB_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 right Control + Shift + Alt + GUI + H to debug menu. 
+
+Pressing any 3 keys when connected enables debug output.
+Pressing any 4 keys when connected makes bootloader comes up.
+
 
-projects based on/related to
-----------------------------
-PJRC USB Keyboard Example
+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