1
0
Keyboard firmwares for Atmel AVR and Cortex-M
Go to file
tmk 2a562a4191 Add PS/2 mouse support to connect TrackPoint Unit.
Change build options:  Makefile and config.h. See README.
2011-01-02 23:52:13 +09:00
hhkb Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
macway Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
.gitignore add mouse function. 2010-09-30 14:50:23 +09:00
controller_teensy.h ADD: keymap macro for human to read easier 2010-10-26 21:32:45 +09:00
debug.h improve layer switching 2010-10-30 01:16:47 +09:00
jump_bootloader.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
jump_bootloader.h add jump_bootloader. 2010-09-24 15:16:23 +09:00
key_process.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
key_process.h hhkb: refactored 2010-10-24 01:17:26 +09:00
keymap_skel.h improve layer switching 2010-10-30 01:16:47 +09:00
layer.c tuning layer switch timing. 2010-11-26 15:29:02 +09:00
layer.h improve layer switching 2010-10-30 01:16:47 +09:00
Makefile.common Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
matrix_skel.h improve layer switching 2010-10-30 01:16:47 +09:00
mousekey.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
mousekey.h Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
print.c switch debug on/off by pressing 4 keys on booting time 2010-10-24 03:33:08 +09:00
print.h switch debug on/off by pressing 4 keys on booting time 2010-10-24 03:33:08 +09:00
ps2_mouse.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
ps2_mouse.h Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
ps2.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
ps2.h Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
README Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
timer.c improve layer switching 2010-10-30 01:16:47 +09:00
timer.h improve layer switching 2010-10-30 01:16:47 +09:00
tmk.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
usb_debug.c divide usb_keyboard_debug.[c|h] into usb_device, usb_keyboard, usb_debug. 2010-09-23 20:23:50 +09:00
usb_debug.h add mouse function. 2010-09-30 14:50:23 +09:00
usb_extra.c add system controls(power down/wake up) from generic desktop page(HID) 2010-11-18 22:35:49 +09:00
usb_extra.h add system controls(power down/wake up) from generic desktop page(HID) 2010-11-18 22:35:49 +09:00
usb_keyboard.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
usb_keyboard.h Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
usb_keycodes.h add audio controls from consumer page(HID) 2010-11-17 16:06:20 +09:00
usb_mouse.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
usb_mouse.h Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
USB_NKRO.txt Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
usb.c Add PS/2 mouse support to connect TrackPoint Unit. 2011-01-02 23:52:13 +09:00
usb.h add system controls(power down/wake up) from generic desktop page(HID) 2010-11-18 22:35:49 +09:00
util.c add build option: NKRO_ENABLE(remove: USB_12KRO) 2010-12-08 01:57:55 +09:00
util.h new build method for macway 2010-10-27 22:56:01 +09:00

t.m.k. Keyboard Firmware
========================
http://github.com/tmk/tmk_keyboard

This is keyboard firmware for AVR USB MCUs or Teensy/Teensy++ 2.0.

The project is heavily based on PJRC USB Keyboard/Mouse Example and
owes a debt to preceding keyboard firmware projects.

http://www.pjrc.com/teensy



Functions
---------
Mouse key
System Control Key
    Power Down, Sleep, Wake Up & USB Remote Wake up
Media Control Key
    Volume Down/Up, Mute
USB NKRO


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

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

http://winavr.sourceforge.net/


Build Options
-------------
Makefile:
Comment out to disable the option
    # USB NKey Rollover
    USB_NKRO_ENABLE = yes

    # mouse keys
    MOUSEKEY_ENABLE = yes

    # PS/2 mouse support
    PS2_MOUSE_ENABLE = yes

config.h:
    /* USB ID */
    #define VENDOR_ID       0xFEED
    #define PRODUCT_ID      0xBEEF
    /* device description */
    #define MANUFACTURER    t.m.k.
    #define PRODUCT         Macway mod
    #define DESCRIPTION     t.m.k. keyboard firmware for Macway mod
    /* matrix size */
    #define MATRIX_ROWS 8
    #define MATRIX_COLS 8
    /* mouse keys repeat delay */
    #define MOUSEKEY_DELAY_TIME 192
    /* PS/2 lines */
    #define PS2_CLOCK_PORT  PORTF
    #define PS2_CLOCK_PIN   PINF
    #define PS2_CLOCK_DDR   DDRF
    #define PS2_CLOCK_BIT   0
    #define PS2_DATA_PORT   PORTF
    #define PS2_DATA_PIN    PINF
    #define PS2_DATA_DDR    DDRF
    #define PS2_DATA_BIT    1


Configuration
-------------


Debuging & Rescue
-----------------
Use PJRC's hid_listen.exe to see debug messages.
Press right Control + Shift + Alt + GUI + H to debug menu. 

Pressing any 3 keys when connected enables debug output.
Pressing any 4 keys when connected makes bootloader comes up.


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/


EOF