keyboard controller firmware for Atmel AVR and ARM USB families
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
tmk bf92bdd7fa add keymap layer: Matias half keyboard style(SPACE) [NOT USED] 14 years ago
hhkb add keymap layer: Matias half keyboard style(SPACE) [NOT USED] 14 years ago
macway add directories for each keyboard: hhkb, macway 14 years ago
.gitignore add mouse function. 14 years ago
Makefile.common hhkb: refactored 14 years ago
README add keymap layer: Matias half keyboard style(SPACE) [NOT USED] 14 years ago
jump_bootloader.c some fixes. LED flush for debug. 14 years ago
jump_bootloader.h add jump_bootloader. 14 years ago
key_process.c hhkb: refactored 14 years ago
key_process.h hhkb: refactored 14 years ago
keymap_skel.h hhkb: refactored 14 years ago
matrix_skel.h hhkb: refactored 14 years ago
print.c add mouse function. 14 years ago
print.h add mouse function. 14 years ago
tmk.c hhkb: refactored 14 years ago
usb.c add horizontal mouse wheel 14 years ago
usb.h add mouse wheel function. 14 years ago
usb_debug.c divide usb_keyboard_debug.[c|h] into usb_device, usb_keyboard, usb_debug. 14 years ago
usb_debug.h add mouse function. 14 years ago
usb_keyboard.c hhkb: refactored 14 years ago
usb_keyboard.h hhkb: refactored 14 years ago
usb_keycodes.h hhkb: refactored 14 years ago
usb_mouse.c hhkb: refactored 14 years ago
usb_mouse.h hhkb: refactored 14 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


Build
-----
Compiling sources need AVR GCC, AVR Libc and GNU make.(You can use WinAVR on Windows.)

$ cd <target> (hhkb or macway)
$ make


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


EOF