Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README 3.5KB

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