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

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