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.
tmk 45d4a7a898 improve layer switching 13 years ago
hhkb improve layer switching 13 years ago
macway improve layer switching 13 years ago
.gitignore add mouse function. 13 years ago
Makefile.common improve layer switching 13 years ago
README improve layer switching 13 years ago
controller_teensy.h ADD: keymap macro for human to read easier 13 years ago
debug.h improve layer switching 13 years ago
jump_bootloader.c some fixes. LED flush for debug. 13 years ago
jump_bootloader.h add jump_bootloader. 13 years ago
key_process.c improve layer switching 13 years ago
key_process.h hhkb: refactored 13 years ago
keymap_skel.h improve layer switching 13 years ago
layer.c improve layer switching 13 years ago
layer.h improve layer switching 13 years ago
matrix_skel.h improve layer switching 13 years ago
print.c switch debug on/off by pressing 4 keys on booting time 13 years ago
print.h switch debug on/off by pressing 4 keys on booting time 13 years ago
timer.c improve layer switching 13 years ago
timer.h improve layer switching 13 years ago
tmk.c improve layer switching 13 years ago
usb.c new build method for macway 13 years ago
usb.h add mouse wheel function. 13 years ago
usb_debug.c divide usb_keyboard_debug.[c|h] into usb_device, usb_keyboard, usb_debug. 13 years ago
usb_debug.h add mouse function. 13 years ago
usb_keyboard.c ADD: keymap macro for human to read easier 13 years ago
usb_keyboard.h ADD: keymap macro for human to read easier 13 years ago
usb_keycodes.h ADD: keymap macro for human to read easier 13 years ago
usb_mouse.c ADD: keymap macro for human to read easier 13 years ago
usb_mouse.h ADD: keymap macro for human to read easier 13 years ago
util.c new build method for macway 13 years ago
util.h new build method for macway 13 years ago

README

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