t.m.k. Keyboard Firmware
========================
http://github.com/tmk/tmk_keyboard
This is keyboard firmware for PFU HHKB style keyboard and Teensy/Teensy++ 2.0.
OS see this as composite device which has keyboard and mouse.
The project is heavily based on PJRC USB Keyboard/Mouse Example and
owes a debt to preceding keyboard firmware projects.
Version
-------
0.1 2010/08/23
It works as normal keyboard.
It is for modified Macway keyboard(TP-999KB-E).
1.0 2010/10/02
keyboard has mouse key now.
keyboard with layers.(see keymap.c)
FN_1(right cmd):
vi style layer
FN_2(next to right shift):
HHKB style layer
FN_3(left bottom):
h j k l: mouse move
a s d spc: mouse buttons
m ,: mouse wheel
1.1 2010/10/08
Matrix wiring changed for casing.
(and my Teensy PD3 seems to be latchuped and unusable. :<)
1.2 2010/10/13
HHKB support
horizontal mouse wheel support
change keymaps
Build
-----
Compiling sources need AVR GCC, AVR Libc and GNU make.(You can use WinAVR on Windows.)
$ cd <target> (hhkb or macway)
$ make
Debuging
--------
Debug print is on if 4 keys are pressed during booting.
Use PJRC's hid_listen.exe to see debug messages.
AVR Target board
----------------
Teensy/Teensy++
http://www.pjrc.com/teensy
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/
TODO & ideas
------------
licensing notes(GPL)
I think GPL is not infringement of PJRC license.
souce code cleaning
sleep&wakeup
debouncing logic
will be coded when bouncing occurs.
bouncing doesnt occur on my ALPS switch so far.
scan rate is too slow?(to be measure)
layer switching
time before switching
timeout when not used during specific time
Trackpoint(PS/2)
receive PS/2 signal from TrackPoint
send USB HID report
Thinkpad keyboard support
turn keyboard to USB keyboard/mouse composite device
setting menu(configure without changing firmware)
console for display
keymap/layer setting
mouse speed/acceleration
matrix display
PS/2 keyboard mode
with USB to PS/2 dumb adapter(possible?)
AT90USBKEY support
and other AVR USB boards
DONE:
support for HHKB pro matrix signal
exchange controller board with teensy
2010/10/11
keymap
Matias half keyboard style
2010/10/23
souce code cleaning
2010/10/23
debug on/off
debug off by default
pressing keys during booting
2010/10/23
mouse horizontal wheel
http://www.microchip.com/forums/tm.aspx?high=&m=391435&mpage=1#391521
http://www.keil.com/forum/15671/
http://www.microsoft.com/whdc/device/input/wheel.mspx
2010/10/13
debug on/off
Fn key conbination during normal operation
matrix print on/off
key print on/off
mouse print on/off
2010/10/26
EOF