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 (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