Open-source keyboard firmware for Atmel AVR and Arm USB families
hhkb | ||
macway | ||
.gitignore | ||
controller_teensy.h | ||
debug.h | ||
jump_bootloader.c | ||
jump_bootloader.h | ||
key_process.c | ||
key_process.h | ||
keymap_skel.h | ||
layer.c | ||
layer.h | ||
Makefile.common | ||
matrix_skel.h | ||
print.c | ||
print.h | ||
README | ||
timer.c | ||
timer.h | ||
tmk.c | ||
usb.c | ||
usb.h | ||
usb_debug.c | ||
usb_debug.h | ||
usb_keyboard.c | ||
usb_keyboard.h | ||
usb_keycodes.h | ||
usb_mouse.c | ||
usb_mouse.h | ||
util.c | ||
util.h |
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 2.0 2010/10/27 HHKB/Macway support merged 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) 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 layer switching time before switching timeout when not used during specific time 2010/10/30 EOF