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.
e2afc305ed | 13 years ago | |
---|---|---|
adb_usb | 13 years ago | |
hhkb | 13 years ago | |
iwrap | 13 years ago | |
macway | 13 years ago | |
pjrc | 13 years ago | |
ps2_usb | 13 years ago | |
vusb | 13 years ago | |
.gitignore | 14 years ago | |
COPYING.GPLv2 | 14 years ago | |
COPYING.GPLv3 | 14 years ago | |
LICENSE.txt | 14 years ago | |
POWER.txt | 13 years ago | |
README | 13 years ago | |
USB_NKRO.txt | 14 years ago | |
adb.c | 14 years ago | |
adb.h | 14 years ago | |
bootloader.c | 13 years ago | |
bootloader.h | 13 years ago | |
command.c | 13 years ago | |
command.h | 13 years ago | |
common.mk | 13 years ago | |
controller_teensy.h | 14 years ago | |
debug.h | 14 years ago | |
host.c | 13 years ago | |
host.h | 13 years ago | |
host_driver.h | 13 years ago | |
iwrap.mk | 13 years ago | |
keyboard.c | 13 years ago | |
keyboard.h | 14 years ago | |
keymap.h | 14 years ago | |
layer.c | 13 years ago | |
layer.h | 14 years ago | |
led.h | 14 years ago | |
matrix.h | 14 years ago | |
mousekey.c | 13 years ago | |
mousekey.h | 14 years ago | |
pjrc.mk | 13 years ago | |
print.c | 13 years ago | |
print.h | 13 years ago | |
ps2.c | 14 years ago | |
ps2.h | 14 years ago | |
ps2_mouse.c | 14 years ago | |
ps2_mouse.h | 14 years ago | |
ps2_usart.c | 14 years ago | |
report.h | 13 years ago | |
rules.mk | 13 years ago | |
sendchar.h | 13 years ago | |
sendchar_null.c | 13 years ago | |
sendchar_uart.c | 13 years ago | |
timer.c | 13 years ago | |
timer.h | 13 years ago | |
uart.c | 13 years ago | |
uart.h | 13 years ago | |
usb_keycodes.h | 13 years ago | |
util.c | 14 years ago | |
util.h | 14 years ago | |
vusb.mk | 13 years ago |
README
t.m.k. Keyboard Firmware ======================== This is keyboard firmware for Teensy(AVR USB MCU) and V-USB board. source code repository: http://github.com/tmk/tmk_keyboard This firmware is used in following projects: HHKB mod: http://geekhack.org/showwiki.php?title=Island:12047 Macway mod: http://geekhack.org/showwiki.php?title=Island:11930 PS2 to USB: http://geekhack.org/showwiki.php?title=Island:14618 ADB to USB: http://geekhack.org/showwiki.php?title=Island:14290 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 Features -------- Mouse key control mouse cursor from keyboard. System Control Key Power Down, Sleep, Wake Up & USB Remote Wake up Media Control Key Volume Down/Up, Mute USB NKRO send 120 keys(+ 8 modifiers) at most simultaneously. PS/2 mouse support integrate PS/2 mouse(TrackPoint) into keyboard as composite device. Limitations ----------- Files & Directories ------------------- Target: hhkb/ keyboard controller for PFU HHKB pro macway/ keyboard controller for Macway mod ps2_usb/ PS2 to USB keyboard converter adb_usb/ ADB to USB keyboard converter USB Protocol Stack: pjrc/ PJRC USB stack vusb/ V-USB USB stack ps2.[ch] PS/2 protocol adb.[ch] ADB protocol Build ----- To compile needs AVR GCC, AVR Libc and GNU make. You can use WinAVR on Windows. http://winavr.sourceforge.net/ $ cd <target> $ make The firmware will be compiled as a file tmk_<target>.hex. Build your own firmware ----------------------- Copying exsistent target(macway) is easy way. 1. Copy contens of macway/ to your own target directory. 2. Edit Makefile. See next section. 3. Edit config.h. See next section. 4. Edit matrix.c. You will need to fix followings at least. matrix_init() matrix_scan() read_col() unselect_rows() select_row() 5. Edit keymap.c. NOTE: It is not final design and a bit messy. You will need to fix followings at least. KEYMAP fn_layer[] fn_keycode[] keymaps[] 6. Build. If you have a build error like following, comment out "--relax" option in Makefile.common. (.vectors+0x30): relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_12' Build Options ------------- <target>/Makefile: 1. Set target name for your firmware. TARGET = tmk_<target> 2. Choose a MCU and its frequency. MCU = atmega32u4 # Teensy 2.0 #MCU = at90usb1286 # Teensy++ 2.0 F_CPU = 16000000 3. Choose optional modules as needed. Comment out to disable optional modules. MOUSEKEY_ENABLE = yes # Mouse keys PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support EXTRAKEY_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) NKRO_ENABLE = yes # USB Nkey Rollover <target>/config.h: 1. USB vendor/product ID and device description #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 2. Keyboard matrix configuration #define MATRIX_ROWS 8 #define MATRIX_COLS 8 #define MATRIX_HAS_GHOST 3. Mouse keys configuration if needed. 4. PS/2 mouse configuration if needed. Debuging & Rescue ----------------- Use PJRC's hid_listen.exe to see debug messages. Press <COMMAND> + H to debug menu. (see config.h for <COMMAND> key combination.) 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