aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LICENSE.txt27
-rw-r--r--README151
-rw-r--r--README.md184
-rw-r--r--common.mk5
-rw-r--r--common/bootloader.c (renamed from bootloader.c)0
-rw-r--r--common/bootloader.h (renamed from bootloader.h)0
-rw-r--r--common/command.c (renamed from command.c)0
-rw-r--r--common/command.h (renamed from command.h)0
-rw-r--r--common/controller_teensy.h (renamed from controller_teensy.h)0
-rw-r--r--common/debug.h (renamed from debug.h)0
-rw-r--r--common/host.c (renamed from host.c)0
-rw-r--r--common/host.h (renamed from host.h)0
-rw-r--r--common/host_driver.h (renamed from host_driver.h)0
-rw-r--r--common/keyboard.c (renamed from keyboard.c)0
-rw-r--r--common/keyboard.h (renamed from keyboard.h)0
-rw-r--r--common/keymap.h (renamed from keymap.h)0
-rw-r--r--common/layer.c (renamed from layer.c)0
-rw-r--r--common/layer.h (renamed from layer.h)0
-rw-r--r--common/led.h (renamed from led.h)0
-rw-r--r--common/matrix.h (renamed from matrix.h)0
-rw-r--r--[-rwxr-xr-x]common/mousekey.c (renamed from mousekey.c)0
-rw-r--r--common/mousekey.h (renamed from mousekey.h)0
-rw-r--r--common/print.c (renamed from print.c)0
-rw-r--r--common/print.h (renamed from print.h)0
-rw-r--r--common/report.h (renamed from report.h)0
-rw-r--r--common/sendchar.h (renamed from sendchar.h)0
-rw-r--r--common/sendchar_null.c (renamed from sendchar_null.c)0
-rw-r--r--common/sendchar_uart.c (renamed from sendchar_uart.c)0
-rw-r--r--common/timer.c (renamed from timer.c)0
-rw-r--r--common/timer.h (renamed from timer.h)0
-rw-r--r--common/uart.c (renamed from uart.c)0
-rw-r--r--common/uart.h (renamed from uart.h)0
-rw-r--r--common/usb_keycodes.h (renamed from usb_keycodes.h)0
-rw-r--r--common/util.c (renamed from util.c)0
-rw-r--r--common/util.h (renamed from util.h)0
-rw-r--r--converter/adb_usb/Makefile (renamed from adb_usb/Makefile)8
-rw-r--r--converter/adb_usb/README (renamed from adb_usb/README)0
-rw-r--r--converter/adb_usb/config.h (renamed from adb_usb/config.h)0
-rw-r--r--converter/adb_usb/keymap.c (renamed from adb_usb/keymap.c)0
-rw-r--r--converter/adb_usb/led.c (renamed from adb_usb/led.c)0
-rw-r--r--converter/adb_usb/matrix.c (renamed from adb_usb/matrix.c)0
-rw-r--r--converter/m0110_usb/Makefile (renamed from m0110_usb/Makefile)8
-rw-r--r--converter/m0110_usb/README.md (renamed from m0110_usb/README.md)0
-rw-r--r--converter/m0110_usb/config.h (renamed from m0110_usb/config.h)0
-rw-r--r--converter/m0110_usb/doc/m0110.jpg (renamed from m0110_usb/doc/m0110.jpg)bin49360 -> 49360 bytes
-rw-r--r--converter/m0110_usb/doc/teensy.jpg (renamed from m0110_usb/doc/teensy.jpg)bin50081 -> 50081 bytes
-rw-r--r--converter/m0110_usb/keymap.c (renamed from m0110_usb/keymap.c)0
-rw-r--r--converter/m0110_usb/led.c (renamed from m0110_usb/led.c)0
-rw-r--r--converter/m0110_usb/matrix.c (renamed from m0110_usb/matrix.c)0
-rw-r--r--converter/news_usb/Makefile.pjrc (renamed from sony_usb/Makefile.pjrc)8
-rw-r--r--converter/news_usb/config_pjrc.h (renamed from sony_usb/config_pjrc.h)0
-rw-r--r--converter/news_usb/keymap.c (renamed from sony_usb/keymap.c)0
-rw-r--r--converter/news_usb/led.c (renamed from sony_usb/led.c)0
-rw-r--r--converter/news_usb/matrix.c (renamed from sony_usb/matrix.c)0
-rw-r--r--converter/ps2_usb/Makefile (renamed from ps2_usb/Makefile)8
-rw-r--r--converter/ps2_usb/Makefile.pjrc_usart (renamed from ps2_usb/Makefile.pjrc_usart)8
-rw-r--r--converter/ps2_usb/Makefile.vusb (renamed from ps2_usb/Makefile.vusb)8
-rw-r--r--converter/ps2_usb/README (renamed from ps2_usb/README)0
-rw-r--r--converter/ps2_usb/README.vusb (renamed from ps2_usb/README.vusb)0
-rw-r--r--converter/ps2_usb/config_pjrc.h (renamed from ps2_usb/config_pjrc.h)0
-rw-r--r--converter/ps2_usb/config_pjrc_usart.h (renamed from ps2_usb/config_pjrc_usart.h)0
-rw-r--r--converter/ps2_usb/config_vusb.h (renamed from ps2_usb/config_vusb.h)0
-rw-r--r--converter/ps2_usb/keymap.c (renamed from ps2_usb/keymap.c)0
-rw-r--r--converter/ps2_usb/led.c (renamed from ps2_usb/led.c)0
-rw-r--r--converter/ps2_usb/matrix.c (renamed from ps2_usb/matrix.c)0
-rw-r--r--converter/ps2_usb/usbconfig.h (renamed from ps2_usb/usbconfig.h)0
-rw-r--r--converter/terminal_usb/Makefile.102_pjrc (renamed from terminal_usb/Makefile.102_pjrc)8
-rw-r--r--converter/terminal_usb/Makefile.122_pjrc (renamed from terminal_usb/Makefile.122_pjrc)8
-rw-r--r--converter/terminal_usb/README (renamed from terminal_usb/README)0
-rw-r--r--converter/terminal_usb/config_102_pjrc.h (renamed from terminal_usb/config_102_pjrc.h)0
-rw-r--r--converter/terminal_usb/config_122_pjrc.h (renamed from terminal_usb/config_122_pjrc.h)0
-rw-r--r--converter/terminal_usb/keymap_102.c (renamed from terminal_usb/keymap_102.c)0
-rw-r--r--converter/terminal_usb/keymap_122.c (renamed from terminal_usb/keymap_122.c)0
-rw-r--r--converter/terminal_usb/led.c (renamed from terminal_usb/led.c)0
-rw-r--r--converter/terminal_usb/matrix.c (renamed from terminal_usb/matrix.c)0
-rw-r--r--converter/x68k_usb/Makefile (renamed from x68k_usb/Makefile)8
-rw-r--r--converter/x68k_usb/README (renamed from x68k_usb/README)0
-rw-r--r--converter/x68k_usb/config_pjrc.h (renamed from x68k_usb/config_pjrc.h)0
-rw-r--r--converter/x68k_usb/keymap.c (renamed from x68k_usb/keymap.c)0
-rw-r--r--converter/x68k_usb/led.c (renamed from x68k_usb/led.c)0
-rw-r--r--converter/x68k_usb/matrix.c (renamed from x68k_usb/matrix.c)0
-rw-r--r--doc/COPYING.GPLv2 (renamed from COPYING.GPLv2)0
-rw-r--r--doc/COPYING.GPLv3 (renamed from COPYING.GPLv3)0
-rw-r--r--doc/FUSE.txt (renamed from hhkb/FUSE.txt)0
-rw-r--r--doc/POWER.txt (renamed from POWER.txt)0
-rw-r--r--doc/USB_NKRO.txt (renamed from USB_NKRO.txt)0
-rw-r--r--keyboard/hbkb/Makefile (renamed from hbk/Makefile)8
-rw-r--r--keyboard/hbkb/config.h (renamed from hbk/config.h)0
-rw-r--r--keyboard/hbkb/controller_teensy.h (renamed from hbk/controller_teensy.h)0
-rw-r--r--keyboard/hbkb/keymap.c (renamed from hbk/keymap.c)0
-rw-r--r--keyboard/hbkb/led.c (renamed from hbk/led.c)0
-rw-r--r--keyboard/hbkb/matrix.c (renamed from hbk/matrix.c)0
-rw-r--r--keyboard/hhkb/Makefile.iwrap (renamed from hhkb/Makefile.iwrap)10
-rw-r--r--keyboard/hhkb/Makefile.pjrc (renamed from hhkb/Makefile.pjrc)8
-rw-r--r--keyboard/hhkb/Makefile.vusb (renamed from hhkb/Makefile.vusb)8
-rw-r--r--keyboard/hhkb/README (renamed from hhkb/README)0
-rw-r--r--keyboard/hhkb/config_iwrap.h (renamed from hhkb/config_iwrap.h)0
-rw-r--r--keyboard/hhkb/config_pjrc.h (renamed from hhkb/config_pjrc.h)0
-rw-r--r--keyboard/hhkb/config_vusb.h (renamed from hhkb/config_vusb.h)0
-rw-r--r--keyboard/hhkb/doc/Bluetooth.txt (renamed from hhkb/doc/Bluetooth.txt)0
-rwxr-xr-xkeyboard/hhkb/doc/Bluetooth_img/.picasa.ini (renamed from hhkb/doc/Bluetooth_img/.picasa.ini)0
-rw-r--r--[-rwxr-xr-x]keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg (renamed from hhkb/doc/Bluetooth_img/BT_circuit.jpg)bin502118 -> 502118 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB.txt (renamed from hhkb/doc/HHKB.txt)0
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg (renamed from hhkb/doc/HHKB_img/HHKB_TP1684.jpg)bin149082 -> 149082 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg (renamed from hhkb/doc/HHKB_img/HHKB_chart1.jpg)bin155342 -> 155342 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg (renamed from hhkb/doc/HHKB_img/HHKB_chart2.jpg)bin148225 -> 148225 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg (renamed from hhkb/doc/HHKB_img/HHKB_connector.jpg)bin193900 -> 193900 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg (renamed from hhkb/doc/HHKB_img/HHKB_controller.jpg)bin135100 -> 135100 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg (renamed from hhkb/doc/HHKB_img/HHKB_keyswitch.jpg)bin171469 -> 171469 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/connector_contact.jpg (renamed from hhkb/doc/HHKB_img/connector_contact.jpg)bin192830 -> 192830 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg (renamed from hhkb/doc/HHKB_img/logic_analyzer.jpg)bin169564 -> 169564 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/probe_contact.jpg (renamed from hhkb/doc/HHKB_img/probe_contact.jpg)bin208477 -> 208477 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/teensy_install.jpg (renamed from hhkb/doc/HHKB_img/teensy_install.jpg)bin135851 -> 135851 bytes
-rw-r--r--keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg (renamed from hhkb/doc/HHKB_img/teensy_wiring.jpg)bin154695 -> 154695 bytes
-rw-r--r--keyboard/hhkb/keymap.c (renamed from hhkb/keymap.c)0
-rw-r--r--keyboard/hhkb/led.c (renamed from hhkb/led.c)0
-rw-r--r--keyboard/hhkb/matrix.c (renamed from hhkb/matrix.c)0
-rw-r--r--keyboard/hhkb/usbconfig.h (renamed from hhkb/usbconfig.h)0
-rw-r--r--keyboard/macway/Makefile (renamed from macway/Makefile)8
-rw-r--r--keyboard/macway/config.h (renamed from macway/config.h)0
-rw-r--r--keyboard/macway/doc/back.jpg (renamed from macway/doc/back.jpg)bin122135 -> 122135 bytes
-rw-r--r--keyboard/macway/doc/case.jpg (renamed from macway/doc/case.jpg)bin146003 -> 146003 bytes
-rw-r--r--keyboard/macway/doc/keys.jpg (renamed from macway/doc/keys.jpg)bin116365 -> 116365 bytes
-rw-r--r--keyboard/macway/doc/side.jpg (renamed from macway/doc/side.jpg)bin109755 -> 109755 bytes
-rw-r--r--keyboard/macway/doc/switch.jpg (renamed from macway/doc/switch.jpg)bin115526 -> 115526 bytes
-rw-r--r--keyboard/macway/doc/teensy.jpg (renamed from macway/doc/teensy.jpg)bin165814 -> 165814 bytes
-rw-r--r--keyboard/macway/doc/wiring.jpg (renamed from macway/doc/wiring.jpg)bin165569 -> 165569 bytes
-rw-r--r--keyboard/macway/doc/withHHKB.jpg (renamed from macway/doc/withHHKB.jpg)bin152832 -> 152832 bytes
-rw-r--r--keyboard/macway/doc/withThinkPad.jpg (renamed from macway/doc/withThinkPad.jpg)bin118993 -> 118993 bytes
-rw-r--r--keyboard/macway/keymap.c (renamed from macway/keymap.c)0
-rw-r--r--keyboard/macway/led.c (renamed from macway/led.c)0
-rw-r--r--keyboard/macway/matrix.c (renamed from macway/matrix.c)0
-rw-r--r--pjrc/host.c183
-rw-r--r--protocol.mk2
-rw-r--r--protocol/adb.c (renamed from adb.c)0
-rw-r--r--protocol/adb.h (renamed from adb.h)0
-rw-r--r--protocol/iwrap.mk (renamed from iwrap.mk)2
-rw-r--r--protocol/iwrap/iWRAP.txt (renamed from iwrap/iWRAP.txt)0
-rw-r--r--protocol/iwrap/iwrap.c (renamed from iwrap/iwrap.c)0
-rw-r--r--protocol/iwrap/iwrap.h (renamed from iwrap/iwrap.h)0
-rw-r--r--protocol/iwrap/main.c (renamed from iwrap/main.c)0
-rw-r--r--protocol/iwrap/suart.S (renamed from iwrap/suart.S)0
-rw-r--r--protocol/iwrap/suart.h (renamed from iwrap/suart.h)0
-rw-r--r--protocol/iwrap/wd.h (renamed from iwrap/wd.h)0
-rw-r--r--protocol/m0110.c (renamed from m0110.c)0
-rw-r--r--protocol/m0110.h (renamed from m0110.h)0
-rw-r--r--protocol/news.c (renamed from sony_usb/news.c)0
-rw-r--r--protocol/news.h (renamed from sony_usb/news.h)0
-rw-r--r--protocol/pjrc.mk (renamed from pjrc.mk)2
-rw-r--r--protocol/pjrc/bootloader_teensy.c (renamed from pjrc/bootloader_teensy.c)0
-rw-r--r--protocol/pjrc/main.c (renamed from pjrc/main.c)0
-rw-r--r--protocol/pjrc/pjrc.c (renamed from pjrc/pjrc.c)0
-rw-r--r--protocol/pjrc/pjrc.h (renamed from pjrc/pjrc.h)0
-rw-r--r--protocol/pjrc/usb.c (renamed from pjrc/usb.c)0
-rw-r--r--protocol/pjrc/usb.h (renamed from pjrc/usb.h)0
-rw-r--r--protocol/pjrc/usb_debug.c (renamed from pjrc/usb_debug.c)0
-rw-r--r--protocol/pjrc/usb_debug.h (renamed from pjrc/usb_debug.h)0
-rw-r--r--protocol/pjrc/usb_extra.c (renamed from pjrc/usb_extra.c)0
-rw-r--r--protocol/pjrc/usb_extra.h (renamed from pjrc/usb_extra.h)0
-rw-r--r--protocol/pjrc/usb_keyboard.c (renamed from pjrc/usb_keyboard.c)0
-rw-r--r--protocol/pjrc/usb_keyboard.h (renamed from pjrc/usb_keyboard.h)0
-rw-r--r--protocol/pjrc/usb_mouse.c (renamed from pjrc/usb_mouse.c)0
-rw-r--r--protocol/pjrc/usb_mouse.h (renamed from pjrc/usb_mouse.h)0
-rw-r--r--protocol/ps2.c (renamed from ps2.c)0
-rw-r--r--protocol/ps2.h (renamed from ps2.h)0
-rw-r--r--protocol/ps2_mouse.c (renamed from ps2_mouse.c)0
-rw-r--r--protocol/ps2_mouse.h (renamed from ps2_mouse.h)0
-rw-r--r--protocol/ps2_usart.c (renamed from ps2_usart.c)0
-rw-r--r--protocol/vusb.mk (renamed from vusb.mk)2
-rw-r--r--protocol/vusb/bootloader_usbasp.c (renamed from vusb/bootloader_usbasp.c)0
-rw-r--r--protocol/vusb/main.c (renamed from vusb/main.c)0
-rw-r--r--protocol/vusb/sendchar_usart.c (renamed from vusb/sendchar_usart.c)0
-rw-r--r--protocol/vusb/usbdrv/Changelog.txt (renamed from vusb/usbdrv/Changelog.txt)0
-rw-r--r--protocol/vusb/usbdrv/CommercialLicense.txt (renamed from vusb/usbdrv/CommercialLicense.txt)0
-rw-r--r--protocol/vusb/usbdrv/License.txt (renamed from vusb/usbdrv/License.txt)0
-rw-r--r--protocol/vusb/usbdrv/Readme.txt (renamed from vusb/usbdrv/Readme.txt)0
-rw-r--r--protocol/vusb/usbdrv/USB-ID-FAQ.txt (renamed from vusb/usbdrv/USB-ID-FAQ.txt)0
-rw-r--r--protocol/vusb/usbdrv/USB-IDs-for-free.txt (renamed from vusb/usbdrv/USB-IDs-for-free.txt)0
-rw-r--r--protocol/vusb/usbdrv/asmcommon.inc (renamed from vusb/usbdrv/asmcommon.inc)0
-rw-r--r--protocol/vusb/usbdrv/oddebug.c (renamed from vusb/usbdrv/oddebug.c)0
-rw-r--r--protocol/vusb/usbdrv/oddebug.h (renamed from vusb/usbdrv/oddebug.h)0
-rw-r--r--protocol/vusb/usbdrv/usbconfig-prototype.h (renamed from vusb/usbdrv/usbconfig-prototype.h)0
-rw-r--r--protocol/vusb/usbdrv/usbdrv.c (renamed from vusb/usbdrv/usbdrv.c)0
-rw-r--r--protocol/vusb/usbdrv/usbdrv.h (renamed from vusb/usbdrv/usbdrv.h)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm.S (renamed from vusb/usbdrv/usbdrvasm.S)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm.asm (renamed from vusb/usbdrv/usbdrvasm.asm)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm12.inc (renamed from vusb/usbdrv/usbdrvasm12.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm128.inc (renamed from vusb/usbdrv/usbdrvasm128.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm15.inc (renamed from vusb/usbdrv/usbdrvasm15.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm16.inc (renamed from vusb/usbdrv/usbdrvasm16.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm165.inc (renamed from vusb/usbdrv/usbdrvasm165.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm18-crc.inc (renamed from vusb/usbdrv/usbdrvasm18-crc.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbdrvasm20.inc (renamed from vusb/usbdrv/usbdrvasm20.inc)0
-rw-r--r--protocol/vusb/usbdrv/usbportability.h (renamed from vusb/usbdrv/usbportability.h)0
-rw-r--r--protocol/vusb/vusb.c (renamed from vusb/vusb.c)0
-rw-r--r--protocol/vusb/vusb.h (renamed from vusb/vusb.h)0
-rw-r--r--protocol/x68k.c (renamed from x68k_usb/x68k.c)0
-rw-r--r--protocol/x68k.h (renamed from x68k_usb/x68k.h)0
-rw-r--r--rules.mk12
199 files changed, 270 insertions, 414 deletions
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index de622df54..000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,27 +0,0 @@
1Codes are released under each license. See heading of each file for details.
2
3Modified BSD license:
4 ps2.c
5 ps2.h
6 adb.c
7 adb.h
8
9GPLv2 or later:
10 other codes
11
12PJRC's license:
13 print.c
14 print.h
15 pjrc/
16
17GPLv2 or GPLv3 or OBJECTIVE DEVELOPMENT's commercial license:
18 vusb/
19
20
21
22
23This software includes following codes from other parties.
24 - V-USB from OBJECTIVE DEVELOPMENT
25 http://www.obdev.at/products/vusb/index.html
26 - Teensy example codes from PJRC
27 http://www.pjrc.com/teensy/
diff --git a/README b/README
deleted file mode 100644
index d85f512c7..000000000
--- a/README
+++ /dev/null
@@ -1,151 +0,0 @@
1t.m.k. Keyboard Firmware
2========================
3This is keyboard firmware for Teensy(AVR USB MCU) and V-USB board.
4
5source code repository:
6http://github.com/tmk/tmk_keyboard
7
8This firmware is used in following projects:
9HHKB mod: http://geekhack.org/showwiki.php?title=Island:12047
10Macway mod: http://geekhack.org/showwiki.php?title=Island:11930
11PS2 to USB: http://geekhack.org/showwiki.php?title=Island:14618
12ADB to USB: http://geekhack.org/showwiki.php?title=Island:14290
13
14The project is heavily based on PJRC USB Keyboard/Mouse Example and
15owes a debt to preceding keyboard firmware projects.
16http://www.pjrc.com/teensy
17
18
19Features
20--------
21Mouse key
22 control mouse cursor from keyboard.
23System Control Key
24 Power Down, Sleep, Wake Up & USB Remote Wake up
25Media Control Key
26 Volume Down/Up, Mute
27USB NKRO
28 send 120 keys(+ 8 modifiers) at most simultaneously.
29PS/2 mouse support
30 integrate PS/2 mouse(TrackPoint) into keyboard as composite device.
31
32
33Limitations
34-----------
35
36
37Files & Directories
38-------------------
39Target:
40hhkb/ keyboard controller for PFU HHKB pro
41macway/ keyboard controller for Macway mod
42ps2_usb/ PS2 to USB keyboard converter
43adb_usb/ ADB to USB keyboard converter
44
45USB Protocol Stack:
46pjrc/ PJRC USB stack
47vusb/ V-USB USB stack
48ps2.[ch] PS/2 protocol
49adb.[ch] ADB protocol
50
51
52Build
53-----
54To compile needs AVR GCC, AVR Libc and GNU make.
55You can use WinAVR on Windows. http://winavr.sourceforge.net/
56
57$ cd <target>
58$ make
59
60The firmware will be compiled as a file tmk_<target>.hex.
61
62
63Build your own firmware
64-----------------------
65Copying exsistent target(macway) is easy way.
661. Copy contens of macway/ to your own target directory.
672. Edit Makefile. See next section.
683. Edit config.h. See next section.
694. Edit matrix.c. You will need to fix followings at least.
70 matrix_init()
71 matrix_scan()
72 read_col()
73 unselect_rows()
74 select_row()
755. Edit keymap.c. NOTE: It is not final design and a bit messy.
76 You will need to fix followings at least.
77 KEYMAP
78 fn_layer[]
79 fn_keycode[]
80 keymaps[]
816. Build.
82
83If you have a build error like following, comment out "--relax" option in Makefile.common.
84 (.vectors+0x30): relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_12'
85
86
87Build Options
88-------------
89<target>/Makefile:
901. Set target name for your firmware.
91 TARGET = tmk_<target>
922. Choose a MCU and its frequency.
93 MCU = atmega32u4 # Teensy 2.0
94 #MCU = at90usb1286 # Teensy++ 2.0
95 F_CPU = 16000000
963. Choose optional modules as needed. Comment out to disable optional modules.
97 MOUSEKEY_ENABLE = yes # Mouse keys
98 PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
99 EXTRAKEY_ENABLE = yes # Enhanced feature for Windows(Audio control and System control)
100 NKRO_ENABLE = yes # USB Nkey Rollover
101
102<target>/config.h:
1031. USB vendor/product ID and device description
104 #define VENDOR_ID 0xFEED
105 #define PRODUCT_ID 0xBEEF
106 /* device description */
107 #define MANUFACTURER t.m.k.
108 #define PRODUCT Macway mod
109 #define DESCRIPTION t.m.k. keyboard firmware for Macway mod
1102. Keyboard matrix configuration
111 #define MATRIX_ROWS 8
112 #define MATRIX_COLS 8
113 #define MATRIX_HAS_GHOST
1143. Mouse keys configuration if needed.
1154. PS/2 mouse configuration if needed.
116
117
118Debuging & Rescue
119-----------------
120Use PJRC's hid_listen.exe to see debug messages.
121Press <COMMAND> + H to debug menu.
122(see config.h for <COMMAND> key combination.)
123
124Pressing any 3 keys when connected enables debug output.
125Pressing any 4 keys when connected makes bootloader comes up.
126
127
128Projects related
129----------------
130PJRC USB Keyboard/Mouse Example
131 http://www.pjrc.com/teensy/usb_keyboard.html
132 http://www.pjrc.com/teensy/usb_mouse.html
133kbupgrade
134 http://github.com/rhomann/kbupgrade
135 http://geekhack.org/showwiki.php?title=Island:8406
136c64key
137 http://symlink.dk/projects/c64key/
138rump
139 http://mg8.org/rump/
140 http://github.com/clee/rump
141dulcimer
142 http://www.schatenseite.de/dulcimer.html
143humblehacker-keyboard
144 http://github.com/humblehacker
145 http://www.humblehacker.com/keyboard/
146 http://geekhack.org/showwiki.php?title=Island:6292
147ps2avr
148 http://sourceforge.net/projects/ps2avr/
149
150
151EOF
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..d6d8fb4ec
--- /dev/null
+++ b/README.md
@@ -0,0 +1,184 @@
1t.m.k. Keyboard Firmware Collection
2====================================
3This is a keyboard firmware with some features for Atmel AVR controller.
4
5Source code is available here: <http://github.com/tmk/tmk_keyboard>
6
7
8Features
9--------
10* Mouse key - Mouse control by keyboard
11* System Control Key - Power Down, Sleep, Wake Up and USB Remote Wake up
12* Media Control Key - Volume Down/Up, Mute, Next/Prev track, Play, Stop and etc.
13* USB NKRO - Can send 120 keys(+ 8 modifiers) simultaneously.
14* PS/2 mouse support - integrate PS/2 mouse(TrackPoint) into keyboard as composite device.
15
16
17Projects
18--------
19### converter
20* [ps2_usb][c1] - [PS/2 keyboard to USB][GH_ps2]
21* [adb_usb][c2] - [ADB keyboard to USB][GH_adb]
22* [m0110_usb][c3] - [Machintosh 128K/512K/Plus keyboard to USB][GH_m0110]
23* [terminal_usb][c4] - [IBM Model M terminal keyboard(PS/2 scancode set3) to USB][GH_terminal]
24* [news_usb][c5] - [Sony NEWS keyboard to USB][GH_news]
25* [x68k_usb][c6] - [Sharp X68000 keyboard to USB][GH_x68k]
26
27### keyboard
28* [hhkb][k1] - [Happy Hacking Keyboard professional][GH_hhkb]
29* [macway][k2] - [Compact keyboard mod][GH_macway]
30* [hbkb][k3] - [Happy Buckling sprint keyboard(IBM Model M mod)][GH_hbkb]
31
32[c1]: converter/ps2_usb/
33[c2]: converter/adb_usb/
34[c3]: converter/m0110_usb/
35[c4]: converter/terminal_usb/
36[c5]: converter/news_usb/
37[c6]: converter/x68k_usb/
38[k1]: keyboard/hhkb
39[k2]: keyboard/macway
40[k3]: keyboard/hbkb
41[GH_macway]: http://geekhack.org/showwiki.php?title=Island:11930
42[GH_hhkb]: http://geekhack.org/showwiki.php?title=Island:12047
43[GH_ps2]: http://geekhack.org/showwiki.php?title=Island:14618
44[GH_adb]: http://geekhack.org/showwiki.php?title=Island:14290
45[GH_hhkb_bt]: http://geekhack.org/showwiki.php?title=Island:20851
46[GH_m0110]: http://geekhack.org/showwiki.php?title=Island:24965
47[GH_news]: http://geekhack.org/showwiki.php?title=Island:25759
48[GH_terminal]: http://geekhack.org/showwiki.php?title=Island:27272
49[GH_x68k]: http://geekhack.org/showwiki.php?title=Island:29060
50[GH_hbkb]: http://geekhack.org/showwiki.php?title=Island:29483
51
52
53
54Files & Directories
55-------------------
56### Top
57* [common/](common/) - common codes
58* [protocol/](protocol/) - keyboard protocol support
59* [keyboard/](keyboard/) - keyboard projects
60* [converter/](converter/) - protocol converter projects
61* [doc/](doc/) - documents
62
63### Keyboard Protocols
64* [pjrc/](protocol/pjrc/) - PJRC USB stack
65* [vusb/](protocol/vusb/) - Objective Development V-USB
66* [iwrap/](protocol/iwrap) - Bluetooth HID for Bluegiga iWRAP
67* [ps2.c](protocol/ps2.c) - PS/2 protocol
68* [adb.c](protocol/adb.c) - Apple Desktop Bus protocol
69* [m0110.c](protocol/m0110.c) - Macintosh 128K/512K/Plus keyboard protocol
70* [news.c](protocol/news.c) - Sony NEWS keyboard protocol
71* [x68k.c](protocol/x68k.c) - Sharp X68000 keyboard protocol
72
73
74Build & Program
75---------------
76### Build firmware
77To compile you need `AVR GCC`, `AVR Libc` and `GNU make`.
78You can use [WinAVR][winavr] on Windows and [CrossPack][crosspack] on Mac.
79
80 $ cd <project>
81 $ make
82
83The firmware will be compiled as a file `tmk_<project>.hex`.
84
85[winavr]: http://winavr.sourceforge.net/
86[crosspack]: http://www.obdev.at/products/crosspack/index.html
87
88### Program Controller
89If you have proper program command in Makefile just type this.
90
91 $ make program
92
93As for `Teensy` you can use `PJRC's loader` to program hex file. <http://www.pjrc.com/teensy/loader.html>
94
95
96
97Build Options
98-------------
99### `Makefile`
100#### 1. MCU and Frequency.
101 MCU = atmega32u4 # Teensy 2.0
102 #MCU = at90usb1286 # Teensy++ 2.0
103 F_CPU = 16000000
104
105#### 2. Features
106Note that ***comment out*** to disable them.
107 MOUSEKEY_ENABLE = yes # Mouse keys
108 PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
109 EXTRAKEY_ENABLE = yes # Enhanced feature for Windows(Audio control and System control)
110 NKRO_ENABLE = yes # USB Nkey Rollover
111
112#### 3. Programmer
113Set proper command for your controller, bootloader and programmer.
114 # for PJRC Teensy
115 PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
116
117 # for Atmel AT90USBKEY
118 PROGRAM_CMD = dfu-programmer $(MCU) flash $(TARGET).hex
119
120 # avrdude
121 PROGRAM_CMD = avrdude -p $(MCU) -c avrispmkII -P USB -U flash:w:$(TARGET).hex
122 PROGRAM_CMD = avrdude -p $(MCU) -c usbasp -U flash:w:$(TARGET).hex
123 PROGRAM_CMD = avrdude -p $(MCU) -c arduino -P COM1 -b 57600 -U flash:w:$(TARGET).hex
124
125### `config.h`
126#### 1. USB vendor/product ID and device description
127 #define VENDOR_ID 0xFEED
128 #define PRODUCT_ID 0xBEEF
129 /* device description */
130 #define MANUFACTURER t.m.k.
131 #define PRODUCT Macway mod
132 #define DESCRIPTION t.m.k. keyboard firmware for Macway mod
133
134#### 2. Keyboard matrix configuration
135 #define MATRIX_ROWS 8
136 #define MATRIX_COLS 8
137 #define MATRIX_HAS_GHOST
138
139### 3. Mouse keys configuration
140
141### 4. PS/2 mouse configuration
142
143
144Keymap
145------
146
147
148Build your own firmware
149-----------------------
150
151
152Debuging
153--------
154Use PJRC's `hid_listen` to see debug messages and press `<COMMAND> + H` to debug menu.
155See `config.h` for definition of `<COMMAND>` key combination.
156
157
158Other Keyboard Projects
159-----------------------
160### PJRC USB Keyboard/Mouse Example
161- <http://www.pjrc.com/teensy/usb_keyboard.html>
162- <http://www.pjrc.com/teensy/usb_mouse.html>
163
164### kbupgrade
165- <http://github.com/rhomann/kbupgrade>
166- <http://geekhack.org/showwiki.php?title=Island:8406>
167
168### c64key
169- <http://symlink.dk/projects/c64key/>
170
171### rump
172- <http://mg8.org/rump/>
173- <http://github.com/clee/rump>
174
175### dulcimer
176- <http://www.schatenseite.de/dulcimer.html>
177
178### humblehacker-keyboard
179- <http://github.com/humblehacker>
180- <http://www.humblehacker.com/keyboard/>
181- <http://geekhack.org/showwiki.php?title=Island:6292>
182
183### ps2avr
184- <http://sourceforge.net/projects/ps2avr/>
diff --git a/common.mk b/common.mk
index 03cbc296d..d0e04df86 100644
--- a/common.mk
+++ b/common.mk
@@ -33,7 +33,4 @@ ifdef $(or MOUSEKEY_ENABLE, PS2_MOUSE_ENABLE)
33endif 33endif
34 34
35# Search Path 35# Search Path
36VPATH += $(COMMON_DIR) 36VPATH += $(TOP_DIR)/common
37
38
39include $(COMMON_DIR)/rules.mk
diff --git a/bootloader.c b/common/bootloader.c
index 5cbfc72e5..5cbfc72e5 100644
--- a/bootloader.c
+++ b/common/bootloader.c
diff --git a/bootloader.h b/common/bootloader.h
index 44775039d..44775039d 100644
--- a/bootloader.h
+++ b/common/bootloader.h
diff --git a/command.c b/common/command.c
index e325a5d84..e325a5d84 100644
--- a/command.c
+++ b/common/command.c
diff --git a/command.h b/common/command.h
index 4888f5ee0..4888f5ee0 100644
--- a/command.h
+++ b/common/command.h
diff --git a/controller_teensy.h b/common/controller_teensy.h
index 6c3f47ce4..6c3f47ce4 100644
--- a/controller_teensy.h
+++ b/common/controller_teensy.h
diff --git a/debug.h b/common/debug.h
index 230d3b349..230d3b349 100644
--- a/debug.h
+++ b/common/debug.h
diff --git a/host.c b/common/host.c
index cc26d55c2..cc26d55c2 100644
--- a/host.c
+++ b/common/host.c
diff --git a/host.h b/common/host.h
index 11b9aacd7..11b9aacd7 100644
--- a/host.h
+++ b/common/host.h
diff --git a/host_driver.h b/common/host_driver.h
index edb9e5dd9..edb9e5dd9 100644
--- a/host_driver.h
+++ b/common/host_driver.h
diff --git a/keyboard.c b/common/keyboard.c
index 5c2643c95..5c2643c95 100644
--- a/keyboard.c
+++ b/common/keyboard.c
diff --git a/keyboard.h b/common/keyboard.h
index 988dac36e..988dac36e 100644
--- a/keyboard.h
+++ b/common/keyboard.h
diff --git a/keymap.h b/common/keymap.h
index 7dfd6c2a1..7dfd6c2a1 100644
--- a/keymap.h
+++ b/common/keymap.h
diff --git a/layer.c b/common/layer.c
index 0854eede0..0854eede0 100644
--- a/layer.c
+++ b/common/layer.c
diff --git a/layer.h b/common/layer.h
index d9e8cebb8..d9e8cebb8 100644
--- a/layer.h
+++ b/common/layer.h
diff --git a/led.h b/common/led.h
index 402a247b9..402a247b9 100644
--- a/led.h
+++ b/common/led.h
diff --git a/matrix.h b/common/matrix.h
index c4b2cab51..c4b2cab51 100644
--- a/matrix.h
+++ b/common/matrix.h
diff --git a/mousekey.c b/common/mousekey.c
index 76bd0fd36..76bd0fd36 100755..100644
--- a/mousekey.c
+++ b/common/mousekey.c
diff --git a/mousekey.h b/common/mousekey.h
index c2c24e9fa..c2c24e9fa 100644
--- a/mousekey.h
+++ b/common/mousekey.h
diff --git a/print.c b/common/print.c
index 558181ea7..558181ea7 100644
--- a/print.c
+++ b/common/print.c
diff --git a/print.h b/common/print.h
index 686fa89ac..686fa89ac 100644
--- a/print.h
+++ b/common/print.h
diff --git a/report.h b/common/report.h
index b85b86c5f..b85b86c5f 100644
--- a/report.h
+++ b/common/report.h
diff --git a/sendchar.h b/common/sendchar.h
index 7c81303c7..7c81303c7 100644
--- a/sendchar.h
+++ b/common/sendchar.h
diff --git a/sendchar_null.c b/common/sendchar_null.c
index 293330622..293330622 100644
--- a/sendchar_null.c
+++ b/common/sendchar_null.c
diff --git a/sendchar_uart.c b/common/sendchar_uart.c
index 0241859eb..0241859eb 100644
--- a/sendchar_uart.c
+++ b/common/sendchar_uart.c
diff --git a/timer.c b/common/timer.c
index 48a38c9b6..48a38c9b6 100644
--- a/timer.c
+++ b/common/timer.c
diff --git a/timer.h b/common/timer.h
index f9e8181e6..f9e8181e6 100644
--- a/timer.h
+++ b/common/timer.h
diff --git a/uart.c b/common/uart.c
index c17649b08..c17649b08 100644
--- a/uart.c
+++ b/common/uart.c
diff --git a/uart.h b/common/uart.h
index 41136a396..41136a396 100644
--- a/uart.h
+++ b/common/uart.h
diff --git a/usb_keycodes.h b/common/usb_keycodes.h
index 9b6cce153..9b6cce153 100644
--- a/usb_keycodes.h
+++ b/common/usb_keycodes.h
diff --git a/util.c b/common/util.c
index 36afdd447..36afdd447 100644
--- a/util.c
+++ b/common/util.c
diff --git a/util.h b/common/util.h
index 66bccbfa5..66bccbfa5 100644
--- a/util.h
+++ b/common/util.h
diff --git a/adb_usb/Makefile b/converter/adb_usb/Makefile
index f4c5031cb..64a23d09d 100644
--- a/adb_usb/Makefile
+++ b/converter/adb_usb/Makefile
@@ -2,7 +2,7 @@
2TARGET = adb_usb 2TARGET = adb_usb
3 3
4# Directory common source filess exist 4# Directory common source filess exist
5COMMON_DIR = .. 5TOP_DIR = ../..
6 6
7# Directory keyboard dependent files exist 7# Directory keyboard dependent files exist
8TARGET_DIR = . 8TARGET_DIR = .
@@ -48,5 +48,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
48 48
49 49
50 50
51include $(COMMON_DIR)/pjrc.mk 51include $(TOP_DIR)/protocol/pjrc.mk
52include $(COMMON_DIR)/common.mk 52include $(TOP_DIR)/protocol.mk
53include $(TOP_DIR)/common.mk
54include $(TOP_DIR)/rules.mk
diff --git a/adb_usb/README b/converter/adb_usb/README
index 5d0e1bc86..5d0e1bc86 100644
--- a/adb_usb/README
+++ b/converter/adb_usb/README
diff --git a/adb_usb/config.h b/converter/adb_usb/config.h
index 52d5925a5..52d5925a5 100644
--- a/adb_usb/config.h
+++ b/converter/adb_usb/config.h
diff --git a/adb_usb/keymap.c b/converter/adb_usb/keymap.c
index cdaa935d3..cdaa935d3 100644
--- a/adb_usb/keymap.c
+++ b/converter/adb_usb/keymap.c
diff --git a/adb_usb/led.c b/converter/adb_usb/led.c
index 0e162f379..0e162f379 100644
--- a/adb_usb/led.c
+++ b/converter/adb_usb/led.c
diff --git a/adb_usb/matrix.c b/converter/adb_usb/matrix.c
index a2367af56..a2367af56 100644
--- a/adb_usb/matrix.c
+++ b/converter/adb_usb/matrix.c
diff --git a/m0110_usb/Makefile b/converter/m0110_usb/Makefile
index fccfaa521..4a687b933 100644
--- a/m0110_usb/Makefile
+++ b/converter/m0110_usb/Makefile
@@ -2,7 +2,7 @@
2TARGET = m0110 2TARGET = m0110
3 3
4# Directory common source filess exist 4# Directory common source filess exist
5COMMON_DIR = .. 5TOP_DIR = ../..
6 6
7# Directory keyboard dependent files exist 7# Directory keyboard dependent files exist
8TARGET_DIR = . 8TARGET_DIR = .
@@ -48,8 +48,10 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
48 48
49 49
50 50
51include $(COMMON_DIR)/pjrc.mk 51include $(TOP_DIR)/protocol/pjrc.mk
52include $(COMMON_DIR)/common.mk 52include $(TOP_DIR)/protocol.mk
53include $(TOP_DIR)/common.mk
54include $(TOP_DIR)/rules.mk
53 55
54hasu: EXTRAFLAGS += -DHASU 56hasu: EXTRAFLAGS += -DHASU
55hasu: all 57hasu: all
diff --git a/m0110_usb/README.md b/converter/m0110_usb/README.md
index 0ad3631f7..0ad3631f7 100644
--- a/m0110_usb/README.md
+++ b/converter/m0110_usb/README.md
diff --git a/m0110_usb/config.h b/converter/m0110_usb/config.h
index 4563d6da5..4563d6da5 100644
--- a/m0110_usb/config.h
+++ b/converter/m0110_usb/config.h
diff --git a/m0110_usb/doc/m0110.jpg b/converter/m0110_usb/doc/m0110.jpg
index ef9a123ab..ef9a123ab 100644
--- a/m0110_usb/doc/m0110.jpg
+++ b/converter/m0110_usb/doc/m0110.jpg
Binary files differ
diff --git a/m0110_usb/doc/teensy.jpg b/converter/m0110_usb/doc/teensy.jpg
index 96e93e7e2..96e93e7e2 100644
--- a/m0110_usb/doc/teensy.jpg
+++ b/converter/m0110_usb/doc/teensy.jpg
Binary files differ
diff --git a/m0110_usb/keymap.c b/converter/m0110_usb/keymap.c
index b5cdd300b..b5cdd300b 100644
--- a/m0110_usb/keymap.c
+++ b/converter/m0110_usb/keymap.c
diff --git a/m0110_usb/led.c b/converter/m0110_usb/led.c
index f76545f0b..f76545f0b 100644
--- a/m0110_usb/led.c
+++ b/converter/m0110_usb/led.c
diff --git a/m0110_usb/matrix.c b/converter/m0110_usb/matrix.c
index 1ca6894c4..1ca6894c4 100644
--- a/m0110_usb/matrix.c
+++ b/converter/m0110_usb/matrix.c
diff --git a/sony_usb/Makefile.pjrc b/converter/news_usb/Makefile.pjrc
index 2a4eeff13..376133ad5 100644
--- a/sony_usb/Makefile.pjrc
+++ b/converter/news_usb/Makefile.pjrc
@@ -7,7 +7,7 @@
7TARGET = news_usb_pjrc 7TARGET = news_usb_pjrc
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -52,5 +52,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
52 52
53 53
54 54
55include $(COMMON_DIR)/pjrc.mk 55include $(TOP_DIR)/protocol/pjrc.mk
56include $(COMMON_DIR)/common.mk 56include $(TOP_DIR)/protocol.mk
57include $(TOP_DIR)/common.mk
58include $(TOP_DIR)/rules.mk
diff --git a/sony_usb/config_pjrc.h b/converter/news_usb/config_pjrc.h
index e9cf7dedb..e9cf7dedb 100644
--- a/sony_usb/config_pjrc.h
+++ b/converter/news_usb/config_pjrc.h
diff --git a/sony_usb/keymap.c b/converter/news_usb/keymap.c
index 4bd556ba0..4bd556ba0 100644
--- a/sony_usb/keymap.c
+++ b/converter/news_usb/keymap.c
diff --git a/sony_usb/led.c b/converter/news_usb/led.c
index 51e601318..51e601318 100644
--- a/sony_usb/led.c
+++ b/converter/news_usb/led.c
diff --git a/sony_usb/matrix.c b/converter/news_usb/matrix.c
index bf363e7d9..bf363e7d9 100644
--- a/sony_usb/matrix.c
+++ b/converter/news_usb/matrix.c
diff --git a/ps2_usb/Makefile b/converter/ps2_usb/Makefile
index f003aea01..0bba191a3 100644
--- a/ps2_usb/Makefile
+++ b/converter/ps2_usb/Makefile
@@ -7,7 +7,7 @@
7TARGET = ps2_usb_pjrc 7TARGET = ps2_usb_pjrc
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -52,5 +52,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
52 52
53 53
54 54
55include $(COMMON_DIR)/pjrc.mk 55include $(TOP_DIR)/protocol/pjrc.mk
56include $(COMMON_DIR)/common.mk 56include $(TOP_DIR)/protocol.mk
57include $(TOP_DIR)/common.mk
58include $(TOP_DIR)/rules.mk
diff --git a/ps2_usb/Makefile.pjrc_usart b/converter/ps2_usb/Makefile.pjrc_usart
index e620e66c2..3dad7e2f8 100644
--- a/ps2_usb/Makefile.pjrc_usart
+++ b/converter/ps2_usb/Makefile.pjrc_usart
@@ -7,7 +7,7 @@
7TARGET = ps2_usb_pjrc_usart 7TARGET = ps2_usb_pjrc_usart
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -52,5 +52,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
52 52
53 53
54 54
55include $(COMMON_DIR)/pjrc.mk 55include $(TOP_DIR)/protocol/pjrc.mk
56include $(COMMON_DIR)/common.mk 56include $(TOP_DIR)/protocol.mk
57include $(TOP_DIR)/common.mk
58include $(TOP_DIR)/rules.mk
diff --git a/ps2_usb/Makefile.vusb b/converter/ps2_usb/Makefile.vusb
index 5b6978f01..4d5240c30 100644
--- a/ps2_usb/Makefile.vusb
+++ b/converter/ps2_usb/Makefile.vusb
@@ -7,7 +7,7 @@
7TARGET = ps2_usb_vusb 7TARGET = ps2_usb_vusb
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -86,5 +86,7 @@ PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE
86 86
87 87
88 88
89include $(COMMON_DIR)/vusb.mk 89include $(TOP_DIR)/protocol/vusb.mk
90include $(COMMON_DIR)/common.mk 90include $(TOP_DIR)/protocol.mk
91include $(TOP_DIR)/common.mk
92include $(TOP_DIR)/rules.mk
diff --git a/ps2_usb/README b/converter/ps2_usb/README
index c10393e5e..c10393e5e 100644
--- a/ps2_usb/README
+++ b/converter/ps2_usb/README
diff --git a/ps2_usb/README.vusb b/converter/ps2_usb/README.vusb
index c92871bcd..c92871bcd 100644
--- a/ps2_usb/README.vusb
+++ b/converter/ps2_usb/README.vusb
diff --git a/ps2_usb/config_pjrc.h b/converter/ps2_usb/config_pjrc.h
index 883ffab27..883ffab27 100644
--- a/ps2_usb/config_pjrc.h
+++ b/converter/ps2_usb/config_pjrc.h
diff --git a/ps2_usb/config_pjrc_usart.h b/converter/ps2_usb/config_pjrc_usart.h
index 83ddbf770..83ddbf770 100644
--- a/ps2_usb/config_pjrc_usart.h
+++ b/converter/ps2_usb/config_pjrc_usart.h
diff --git a/ps2_usb/config_vusb.h b/converter/ps2_usb/config_vusb.h
index afd2f7911..afd2f7911 100644
--- a/ps2_usb/config_vusb.h
+++ b/converter/ps2_usb/config_vusb.h
diff --git a/ps2_usb/keymap.c b/converter/ps2_usb/keymap.c
index f1e34a929..f1e34a929 100644
--- a/ps2_usb/keymap.c
+++ b/converter/ps2_usb/keymap.c
diff --git a/ps2_usb/led.c b/converter/ps2_usb/led.c
index e448e84ec..e448e84ec 100644
--- a/ps2_usb/led.c
+++ b/converter/ps2_usb/led.c
diff --git a/ps2_usb/matrix.c b/converter/ps2_usb/matrix.c
index 4187ea060..4187ea060 100644
--- a/ps2_usb/matrix.c
+++ b/converter/ps2_usb/matrix.c
diff --git a/ps2_usb/usbconfig.h b/converter/ps2_usb/usbconfig.h
index 9038f1eb8..9038f1eb8 100644
--- a/ps2_usb/usbconfig.h
+++ b/converter/ps2_usb/usbconfig.h
diff --git a/terminal_usb/Makefile.102_pjrc b/converter/terminal_usb/Makefile.102_pjrc
index c1fd397f6..e9d14e7a0 100644
--- a/terminal_usb/Makefile.102_pjrc
+++ b/converter/terminal_usb/Makefile.102_pjrc
@@ -7,7 +7,7 @@
7TARGET = terminal_usb_102_pjrc 7TARGET = terminal_usb_102_pjrc
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -52,5 +52,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
52 52
53 53
54 54
55include $(COMMON_DIR)/pjrc.mk 55include $(TOP_DIR)/protocol/pjrc.mk
56include $(COMMON_DIR)/common.mk 56include $(TOP_DIR)/protocol.mk
57include $(TOP_DIR)/common.mk
58include $(TOP_DIR)/rules.mk
diff --git a/terminal_usb/Makefile.122_pjrc b/converter/terminal_usb/Makefile.122_pjrc
index b91e484ff..bec00510e 100644
--- a/terminal_usb/Makefile.122_pjrc
+++ b/converter/terminal_usb/Makefile.122_pjrc
@@ -7,7 +7,7 @@
7TARGET = terminal_usb_122_pjrc 7TARGET = terminal_usb_122_pjrc
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -52,5 +52,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
52 52
53 53
54 54
55include $(COMMON_DIR)/pjrc.mk 55include $(TOP_DIR)/protocol/pjrc.mk
56include $(COMMON_DIR)/common.mk 56include $(TOP_DIR)/protocol.mk
57include $(TOP_DIR)/common.mk
58include $(TOP_DIR)/rules.mk
diff --git a/terminal_usb/README b/converter/terminal_usb/README
index 1ce49f33d..1ce49f33d 100644
--- a/terminal_usb/README
+++ b/converter/terminal_usb/README
diff --git a/terminal_usb/config_102_pjrc.h b/converter/terminal_usb/config_102_pjrc.h
index 2dce04af7..2dce04af7 100644
--- a/terminal_usb/config_102_pjrc.h
+++ b/converter/terminal_usb/config_102_pjrc.h
diff --git a/terminal_usb/config_122_pjrc.h b/converter/terminal_usb/config_122_pjrc.h
index 43691bd71..43691bd71 100644
--- a/terminal_usb/config_122_pjrc.h
+++ b/converter/terminal_usb/config_122_pjrc.h
diff --git a/terminal_usb/keymap_102.c b/converter/terminal_usb/keymap_102.c
index 430570c47..430570c47 100644
--- a/terminal_usb/keymap_102.c
+++ b/converter/terminal_usb/keymap_102.c
diff --git a/terminal_usb/keymap_122.c b/converter/terminal_usb/keymap_122.c
index 7a2168122..7a2168122 100644
--- a/terminal_usb/keymap_122.c
+++ b/converter/terminal_usb/keymap_122.c
diff --git a/terminal_usb/led.c b/converter/terminal_usb/led.c
index e448e84ec..e448e84ec 100644
--- a/terminal_usb/led.c
+++ b/converter/terminal_usb/led.c
diff --git a/terminal_usb/matrix.c b/converter/terminal_usb/matrix.c
index a6eff8c1e..a6eff8c1e 100644
--- a/terminal_usb/matrix.c
+++ b/converter/terminal_usb/matrix.c
diff --git a/x68k_usb/Makefile b/converter/x68k_usb/Makefile
index c4b9b221b..c3b5fa29f 100644
--- a/x68k_usb/Makefile
+++ b/converter/x68k_usb/Makefile
@@ -7,7 +7,7 @@
7TARGET = x68k_usb_pjrc 7TARGET = x68k_usb_pjrc
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -81,5 +81,7 @@ PROGRAM_CMD = dfu-programmer atmega32u4 flash $(TARGET).hex
81 81
82 82
83 83
84include $(COMMON_DIR)/pjrc.mk 84include $(TOP_DIR)/protocol/pjrc.mk
85include $(COMMON_DIR)/common.mk 85include $(TOP_DIR)/protocol.mk
86include $(TOP_DIR)/common.mk
87include $(TOP_DIR)/rules.mk
diff --git a/x68k_usb/README b/converter/x68k_usb/README
index 0b61b2c4b..0b61b2c4b 100644
--- a/x68k_usb/README
+++ b/converter/x68k_usb/README
diff --git a/x68k_usb/config_pjrc.h b/converter/x68k_usb/config_pjrc.h
index 20758bf24..20758bf24 100644
--- a/x68k_usb/config_pjrc.h
+++ b/converter/x68k_usb/config_pjrc.h
diff --git a/x68k_usb/keymap.c b/converter/x68k_usb/keymap.c
index 94c2aeee1..94c2aeee1 100644
--- a/x68k_usb/keymap.c
+++ b/converter/x68k_usb/keymap.c
diff --git a/x68k_usb/led.c b/converter/x68k_usb/led.c
index 40156cf4a..40156cf4a 100644
--- a/x68k_usb/led.c
+++ b/converter/x68k_usb/led.c
diff --git a/x68k_usb/matrix.c b/converter/x68k_usb/matrix.c
index 954e7ef12..954e7ef12 100644
--- a/x68k_usb/matrix.c
+++ b/converter/x68k_usb/matrix.c
diff --git a/COPYING.GPLv2 b/doc/COPYING.GPLv2
index d159169d1..d159169d1 100644
--- a/COPYING.GPLv2
+++ b/doc/COPYING.GPLv2
diff --git a/COPYING.GPLv3 b/doc/COPYING.GPLv3
index 94a9ed024..94a9ed024 100644
--- a/COPYING.GPLv3
+++ b/doc/COPYING.GPLv3
diff --git a/hhkb/FUSE.txt b/doc/FUSE.txt
index 40055e5ab..40055e5ab 100644
--- a/hhkb/FUSE.txt
+++ b/doc/FUSE.txt
diff --git a/POWER.txt b/doc/POWER.txt
index 0abbbe48e..0abbbe48e 100644
--- a/POWER.txt
+++ b/doc/POWER.txt
diff --git a/USB_NKRO.txt b/doc/USB_NKRO.txt
index 4751bca86..4751bca86 100644
--- a/USB_NKRO.txt
+++ b/doc/USB_NKRO.txt
diff --git a/hbk/Makefile b/keyboard/hbkb/Makefile
index e03b45e3a..26be322e0 100644
--- a/hbk/Makefile
+++ b/keyboard/hbkb/Makefile
@@ -2,7 +2,7 @@
2TARGET = hbk 2TARGET = hbk
3 3
4# Directory common source filess exist 4# Directory common source filess exist
5COMMON_DIR = .. 5TOP_DIR = ../..
6 6
7# Directory keyboard dependent files exist 7# Directory keyboard dependent files exist
8TARGET_DIR = . 8TARGET_DIR = .
@@ -50,5 +50,7 @@ PROGRAM_CMD = /opt/dfu-programmer-0.5.2/bin/dfu-programmer $(MCU) erase && \
50 50
51 51
52 52
53include $(COMMON_DIR)/pjrc.mk 53include $(TOP_DIR)/protocol/pjrc.mk
54include $(COMMON_DIR)/common.mk 54include $(TOP_DIR)/protocol.mk
55include $(TOP_DIR)/common.mk
56include $(TOP_DIR)/rules.mk
diff --git a/hbk/config.h b/keyboard/hbkb/config.h
index 5262399dc..5262399dc 100644
--- a/hbk/config.h
+++ b/keyboard/hbkb/config.h
diff --git a/hbk/controller_teensy.h b/keyboard/hbkb/controller_teensy.h
index 1b1611365..1b1611365 100644
--- a/hbk/controller_teensy.h
+++ b/keyboard/hbkb/controller_teensy.h
diff --git a/hbk/keymap.c b/keyboard/hbkb/keymap.c
index 1de317c9a..1de317c9a 100644
--- a/hbk/keymap.c
+++ b/keyboard/hbkb/keymap.c
diff --git a/hbk/led.c b/keyboard/hbkb/led.c
index fc0eeb0ff..fc0eeb0ff 100644
--- a/hbk/led.c
+++ b/keyboard/hbkb/led.c
diff --git a/hbk/matrix.c b/keyboard/hbkb/matrix.c
index d7c066364..d7c066364 100644
--- a/hbk/matrix.c
+++ b/keyboard/hbkb/matrix.c
diff --git a/hhkb/Makefile.iwrap b/keyboard/hhkb/Makefile.iwrap
index cf020b94a..ef7ad2eac 100644
--- a/hhkb/Makefile.iwrap
+++ b/keyboard/hhkb/Makefile.iwrap
@@ -7,7 +7,7 @@
7TARGET = hhkb_iwrap 7TARGET = hhkb_iwrap
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -85,7 +85,9 @@ PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE
85# Search Path 85# Search Path
86VPATH = $(TARGET_DIR) 86VPATH = $(TARGET_DIR)
87 87
88include $(COMMON_DIR)/iwrap.mk 88include $(TOP_DIR)/protocol/iwrap.mk
89# To be swatchable btween Bluetooth and USB. Comment out if you don't need USB. 89# To be swatchable btween Bluetooth and USB. Comment out if you don't need USB.
90include $(COMMON_DIR)/vusb.mk 90include $(TOP_DIR)/protocol/vusb.mk
91include $(COMMON_DIR)/common.mk 91include $(TOP_DIR)/protocol.mk
92include $(TOP_DIR)/common.mk
93include $(TOP_DIR)/rules.mk
diff --git a/hhkb/Makefile.pjrc b/keyboard/hhkb/Makefile.pjrc
index 17aa865dd..f6d133eae 100644
--- a/hhkb/Makefile.pjrc
+++ b/keyboard/hhkb/Makefile.pjrc
@@ -7,7 +7,7 @@
7TARGET = hhkb_pjrc 7TARGET = hhkb_pjrc
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -54,5 +54,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
54# Search Path 54# Search Path
55VPATH = $(TARGET_DIR) 55VPATH = $(TARGET_DIR)
56 56
57include $(COMMON_DIR)/pjrc.mk 57include $(TOP_DIR)/protocol/pjrc.mk
58include $(COMMON_DIR)/common.mk 58include $(TOP_DIR)/protocol.mk
59include $(TOP_DIR)/common.mk
60include $(TOP_DIR)/rules.mk
diff --git a/hhkb/Makefile.vusb b/keyboard/hhkb/Makefile.vusb
index 371b36690..6dd628807 100644
--- a/hhkb/Makefile.vusb
+++ b/keyboard/hhkb/Makefile.vusb
@@ -7,7 +7,7 @@
7TARGET = hhkb_vusb 7TARGET = hhkb_vusb
8 8
9# Directory common source filess exist 9# Directory common source filess exist
10COMMON_DIR = .. 10TOP_DIR = ../..
11 11
12# Directory keyboard dependent files exist 12# Directory keyboard dependent files exist
13TARGET_DIR = . 13TARGET_DIR = .
@@ -85,5 +85,7 @@ PROGRAM_CMD = $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE
85# Search Path 85# Search Path
86VPATH = $(TARGET_DIR) 86VPATH = $(TARGET_DIR)
87 87
88include $(COMMON_DIR)/vusb.mk 88include $(TOP_DIR)/protocol/vusb.mk
89include $(COMMON_DIR)/common.mk 89include $(TOP_DIR)/protocol.mk
90include $(TOP_DIR)/common.mk
91include $(TOP_DIR)/rules.mk
diff --git a/hhkb/README b/keyboard/hhkb/README
index 65f7dcab5..65f7dcab5 100644
--- a/hhkb/README
+++ b/keyboard/hhkb/README
diff --git a/hhkb/config_iwrap.h b/keyboard/hhkb/config_iwrap.h
index 80ab64398..80ab64398 100644
--- a/hhkb/config_iwrap.h
+++ b/keyboard/hhkb/config_iwrap.h
diff --git a/hhkb/config_pjrc.h b/keyboard/hhkb/config_pjrc.h
index fffe3522c..fffe3522c 100644
--- a/hhkb/config_pjrc.h
+++ b/keyboard/hhkb/config_pjrc.h
diff --git a/hhkb/config_vusb.h b/keyboard/hhkb/config_vusb.h
index 268644849..268644849 100644
--- a/hhkb/config_vusb.h
+++ b/keyboard/hhkb/config_vusb.h
diff --git a/hhkb/doc/Bluetooth.txt b/keyboard/hhkb/doc/Bluetooth.txt
index b27f19700..b27f19700 100644
--- a/hhkb/doc/Bluetooth.txt
+++ b/keyboard/hhkb/doc/Bluetooth.txt
diff --git a/hhkb/doc/Bluetooth_img/.picasa.ini b/keyboard/hhkb/doc/Bluetooth_img/.picasa.ini
index f6a4f6067..f6a4f6067 100755
--- a/hhkb/doc/Bluetooth_img/.picasa.ini
+++ b/keyboard/hhkb/doc/Bluetooth_img/.picasa.ini
diff --git a/hhkb/doc/Bluetooth_img/BT_circuit.jpg b/keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg
index 2e5a25e81..2e5a25e81 100755..100644
--- a/hhkb/doc/Bluetooth_img/BT_circuit.jpg
+++ b/keyboard/hhkb/doc/Bluetooth_img/BT_circuit.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB.txt b/keyboard/hhkb/doc/HHKB.txt
index ace931de3..ace931de3 100644
--- a/hhkb/doc/HHKB.txt
+++ b/keyboard/hhkb/doc/HHKB.txt
diff --git a/hhkb/doc/HHKB_img/HHKB_TP1684.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg
index 0a0316409..0a0316409 100644
--- a/hhkb/doc/HHKB_img/HHKB_TP1684.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/HHKB_TP1684.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/HHKB_chart1.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg
index 1f09bd185..1f09bd185 100644
--- a/hhkb/doc/HHKB_img/HHKB_chart1.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/HHKB_chart1.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/HHKB_chart2.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg
index 45f5ada90..45f5ada90 100644
--- a/hhkb/doc/HHKB_img/HHKB_chart2.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/HHKB_chart2.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/HHKB_connector.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg
index e8a09e9b2..e8a09e9b2 100644
--- a/hhkb/doc/HHKB_img/HHKB_connector.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/HHKB_connector.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/HHKB_controller.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg
index e3dae8e86..e3dae8e86 100644
--- a/hhkb/doc/HHKB_img/HHKB_controller.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/HHKB_controller.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg b/keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg
index 3afc269e7..3afc269e7 100644
--- a/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/HHKB_keyswitch.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/connector_contact.jpg b/keyboard/hhkb/doc/HHKB_img/connector_contact.jpg
index 5304bc8d7..5304bc8d7 100644
--- a/hhkb/doc/HHKB_img/connector_contact.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/connector_contact.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/logic_analyzer.jpg b/keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg
index f1b438ae7..f1b438ae7 100644
--- a/hhkb/doc/HHKB_img/logic_analyzer.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/logic_analyzer.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/probe_contact.jpg b/keyboard/hhkb/doc/HHKB_img/probe_contact.jpg
index dc79afa0c..dc79afa0c 100644
--- a/hhkb/doc/HHKB_img/probe_contact.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/probe_contact.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/teensy_install.jpg b/keyboard/hhkb/doc/HHKB_img/teensy_install.jpg
index 873d988ed..873d988ed 100644
--- a/hhkb/doc/HHKB_img/teensy_install.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/teensy_install.jpg
Binary files differ
diff --git a/hhkb/doc/HHKB_img/teensy_wiring.jpg b/keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg
index 1c4eb6743..1c4eb6743 100644
--- a/hhkb/doc/HHKB_img/teensy_wiring.jpg
+++ b/keyboard/hhkb/doc/HHKB_img/teensy_wiring.jpg
Binary files differ
diff --git a/hhkb/keymap.c b/keyboard/hhkb/keymap.c
index 85a7c31b7..85a7c31b7 100644
--- a/hhkb/keymap.c
+++ b/keyboard/hhkb/keymap.c
diff --git a/hhkb/led.c b/keyboard/hhkb/led.c
index 669b6107f..669b6107f 100644
--- a/hhkb/led.c
+++ b/keyboard/hhkb/led.c
diff --git a/hhkb/matrix.c b/keyboard/hhkb/matrix.c
index 350066b90..350066b90 100644
--- a/hhkb/matrix.c
+++ b/keyboard/hhkb/matrix.c
diff --git a/hhkb/usbconfig.h b/keyboard/hhkb/usbconfig.h
index c3aad34be..c3aad34be 100644
--- a/hhkb/usbconfig.h
+++ b/keyboard/hhkb/usbconfig.h
diff --git a/macway/Makefile b/keyboard/macway/Makefile
index b8b0a85e1..afee38b12 100644
--- a/macway/Makefile
+++ b/keyboard/macway/Makefile
@@ -2,7 +2,7 @@
2TARGET = macway 2TARGET = macway
3 3
4# Directory common source filess exist 4# Directory common source filess exist
5COMMON_DIR = .. 5TOP_DIR = ../..
6 6
7# Directory keyboard dependent files exist 7# Directory keyboard dependent files exist
8TARGET_DIR = . 8TARGET_DIR = .
@@ -47,5 +47,7 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
47 47
48 48
49 49
50include $(COMMON_DIR)/pjrc.mk 50include $(TOP_DIR)/protocol/pjrc.mk
51include $(COMMON_DIR)/common.mk 51include $(TOP_DIR)/protocol.mk
52include $(TOP_DIR)/common.mk
53include $(TOP_DIR)/rules.mk
diff --git a/macway/config.h b/keyboard/macway/config.h
index 2e68bf252..2e68bf252 100644
--- a/macway/config.h
+++ b/keyboard/macway/config.h
diff --git a/macway/doc/back.jpg b/keyboard/macway/doc/back.jpg
index 0774401f6..0774401f6 100644
--- a/macway/doc/back.jpg
+++ b/keyboard/macway/doc/back.jpg
Binary files differ
diff --git a/macway/doc/case.jpg b/keyboard/macway/doc/case.jpg
index c776d5e05..c776d5e05 100644
--- a/macway/doc/case.jpg
+++ b/keyboard/macway/doc/case.jpg
Binary files differ
diff --git a/macway/doc/keys.jpg b/keyboard/macway/doc/keys.jpg
index f340ebe8e..f340ebe8e 100644
--- a/macway/doc/keys.jpg
+++ b/keyboard/macway/doc/keys.jpg
Binary files differ
diff --git a/macway/doc/side.jpg b/keyboard/macway/doc/side.jpg
index bdf8268f2..bdf8268f2 100644
--- a/macway/doc/side.jpg
+++ b/keyboard/macway/doc/side.jpg
Binary files differ
diff --git a/macway/doc/switch.jpg b/keyboard/macway/doc/switch.jpg
index a1500d707..a1500d707 100644
--- a/macway/doc/switch.jpg
+++ b/keyboard/macway/doc/switch.jpg
Binary files differ
diff --git a/macway/doc/teensy.jpg b/keyboard/macway/doc/teensy.jpg
index 07207475d..07207475d 100644
--- a/macway/doc/teensy.jpg
+++ b/keyboard/macway/doc/teensy.jpg
Binary files differ
diff --git a/macway/doc/wiring.jpg b/keyboard/macway/doc/wiring.jpg
index 0f3490f10..0f3490f10 100644
--- a/macway/doc/wiring.jpg
+++ b/keyboard/macway/doc/wiring.jpg
Binary files differ
diff --git a/macway/doc/withHHKB.jpg b/keyboard/macway/doc/withHHKB.jpg
index 9921856e7..9921856e7 100644
--- a/macway/doc/withHHKB.jpg
+++ b/keyboard/macway/doc/withHHKB.jpg
Binary files differ
diff --git a/macway/doc/withThinkPad.jpg b/keyboard/macway/doc/withThinkPad.jpg
index 231c61d03..231c61d03 100644
--- a/macway/doc/withThinkPad.jpg
+++ b/keyboard/macway/doc/withThinkPad.jpg
Binary files differ
diff --git a/macway/keymap.c b/keyboard/macway/keymap.c
index ae9f595fc..ae9f595fc 100644
--- a/macway/keymap.c
+++ b/keyboard/macway/keymap.c
diff --git a/macway/led.c b/keyboard/macway/led.c
index f76545f0b..f76545f0b 100644
--- a/macway/led.c
+++ b/keyboard/macway/led.c
diff --git a/macway/matrix.c b/keyboard/macway/matrix.c
index 56fb85896..56fb85896 100644
--- a/macway/matrix.c
+++ b/keyboard/macway/matrix.c
diff --git a/pjrc/host.c b/pjrc/host.c
deleted file mode 100644
index fcf71d579..000000000
--- a/pjrc/host.c
+++ /dev/null
@@ -1,183 +0,0 @@
1/*
2Copyright 2011 Jun Wako <wakojun@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include <stdint.h>
19#include <avr/interrupt.h>
20#include "usb_keycodes.h"
21#include "usb_keyboard.h"
22#if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE)
23#include "usb_mouse.h"
24#endif
25#ifdef EXTRAKEY_ENABLE
26#include "usb_extra.h"
27#endif
28#include "debug.h"
29#include "host.h"
30#include "util.h"
31
32
33#ifdef NKRO_ENABLE
34bool keyboard_nkro = false;
35#endif
36
37static report_keyboard_t report0;
38static report_keyboard_t report1;
39report_keyboard_t *keyboard_report = &report0;
40report_keyboard_t *keyboard_report_prev = &report1;
41
42static inline void add_key_byte(uint8_t code);
43static inline void add_key_bit(uint8_t code);
44
45
46uint8_t host_keyboard_leds(void)
47{
48 return usb_keyboard_leds;
49}
50
51/* keyboard report operations */
52void host_add_key(uint8_t key)
53{
54#ifdef NKRO_ENABLE
55 if (keyboard_nkro) {
56 add_key_bit(key);
57 return;
58 }
59#endif
60 add_key_byte(key);
61}
62
63void host_add_mod_bit(uint8_t mod)
64{
65 keyboard_report->mods |= mod;
66}
67
68void host_set_mods(uint8_t mods)
69{
70 keyboard_report->mods = mods;
71}
72
73void host_add_code(uint8_t code)
74{
75 if (IS_MOD(code)) {
76 host_add_mod_bit(MOD_BIT(code));
77 } else {
78 host_add_key(code);
79 }
80}
81
82void host_swap_keyboard_report(void)
83{
84 uint8_t sreg = SREG;
85 cli();
86 report_keyboard_t *tmp = keyboard_report_prev;
87 keyboard_report_prev = keyboard_report;
88 keyboard_report = tmp;
89 SREG = sreg;
90}
91
92void host_clear_keyboard_report(void)
93{
94 keyboard_report->mods = 0;
95 for (int8_t i = 0; i < REPORT_KEYS; i++) {
96 keyboard_report->keys[i] = 0;
97 }
98}
99
100uint8_t host_has_anykey(void)
101{
102 uint8_t cnt = 0;
103 for (int i = 0; i < REPORT_KEYS; i++) {
104 if (keyboard_report->keys[i])
105 cnt++;
106 }
107 return cnt;
108}
109
110uint8_t host_get_first_key(void)
111{
112#ifdef NKRO_ENABLE
113 if (keyboard_nkro) {
114 uint8_t i = 0;
115 for (; i < REPORT_KEYS && !keyboard_report->keys[i]; i++)
116 ;
117 return i<<3 | biton(keyboard_report->keys[i]);
118 }
119#endif
120 return keyboard_report->keys[0];
121}
122
123
124void host_send_keyboard_report(void)
125{
126 usb_keyboard_send_report(keyboard_report);
127}
128
129#if defined(MOUSEKEY_ENABLE) || defined(PS2_MOUSE_ENABLE)
130void host_mouse_send(report_mouse_t *report)
131{
132 usb_mouse_send(report->x, report->y, report->v, report->h, report->buttons);
133}
134#endif
135
136#ifdef EXTRAKEY_ENABLE
137void host_system_send(uint16_t data)
138{
139 usb_extra_system_send(data);
140}
141
142void host_consumer_send(uint16_t data)
143{
144 static uint16_t last_data = 0;
145 if (data == last_data) return;
146 last_data = data;
147
148 usb_extra_consumer_send(data);
149}
150#endif
151
152
153static inline void add_key_byte(uint8_t code)
154{
155 // TODO: fix ugly code
156 int8_t i = 0;
157 int8_t empty = -1;
158 for (; i < REPORT_KEYS; i++) {
159 if (keyboard_report_prev->keys[i] == code) {
160 keyboard_report->keys[i] = code;
161 break;
162 }
163 if (empty == -1 &&
164 keyboard_report_prev->keys[i] == 0 &&
165 keyboard_report->keys[i] == 0) {
166 empty = i;
167 }
168 }
169 if (i == REPORT_KEYS) {
170 if (empty != -1) {
171 keyboard_report->keys[empty] = code;
172 }
173 }
174}
175
176static inline void add_key_bit(uint8_t code)
177{
178 if ((code>>3) < REPORT_KEYS) {
179 keyboard_report->keys[code>>3] |= 1<<(code&7);
180 } else {
181 debug("add_key_bit: can't add: "); phex(code); debug("\n");
182 }
183}
diff --git a/protocol.mk b/protocol.mk
new file mode 100644
index 000000000..1442c5206
--- /dev/null
+++ b/protocol.mk
@@ -0,0 +1,2 @@
1# Search Path
2VPATH += $(TOP_DIR)/protocol
diff --git a/adb.c b/protocol/adb.c
index 116f61272..116f61272 100644
--- a/adb.c
+++ b/protocol/adb.c
diff --git a/adb.h b/protocol/adb.h
index 177f41394..177f41394 100644
--- a/adb.h
+++ b/protocol/adb.h
diff --git a/iwrap.mk b/protocol/iwrap.mk
index ea4a6e972..d9906fd1b 100644
--- a/iwrap.mk
+++ b/protocol/iwrap.mk
@@ -7,4 +7,4 @@ SRC += iwrap.c \
7 7
8 8
9# Search Path 9# Search Path
10VPATH += $(COMMON_DIR)/iwrap 10VPATH += $(TOP_DIR)/protocol/iwrap
diff --git a/iwrap/iWRAP.txt b/protocol/iwrap/iWRAP.txt
index 2a062d9d9..2a062d9d9 100644
--- a/iwrap/iWRAP.txt
+++ b/protocol/iwrap/iWRAP.txt
diff --git a/iwrap/iwrap.c b/protocol/iwrap/iwrap.c
index 9c68761bf..9c68761bf 100644
--- a/iwrap/iwrap.c
+++ b/protocol/iwrap/iwrap.c
diff --git a/iwrap/iwrap.h b/protocol/iwrap/iwrap.h
index ffaad9395..ffaad9395 100644
--- a/iwrap/iwrap.h
+++ b/protocol/iwrap/iwrap.h
diff --git a/iwrap/main.c b/protocol/iwrap/main.c
index a552afb67..a552afb67 100644
--- a/iwrap/main.c
+++ b/protocol/iwrap/main.c
diff --git a/iwrap/suart.S b/protocol/iwrap/suart.S
index 1b0290963..1b0290963 100644
--- a/iwrap/suart.S
+++ b/protocol/iwrap/suart.S
diff --git a/iwrap/suart.h b/protocol/iwrap/suart.h
index 72725b998..72725b998 100644
--- a/iwrap/suart.h
+++ b/protocol/iwrap/suart.h
diff --git a/iwrap/wd.h b/protocol/iwrap/wd.h
index 99058f033..99058f033 100644
--- a/iwrap/wd.h
+++ b/protocol/iwrap/wd.h
diff --git a/m0110.c b/protocol/m0110.c
index a669c85a4..a669c85a4 100644
--- a/m0110.c
+++ b/protocol/m0110.c
diff --git a/m0110.h b/protocol/m0110.h
index 2b95ed34d..2b95ed34d 100644
--- a/m0110.h
+++ b/protocol/m0110.h
diff --git a/sony_usb/news.c b/protocol/news.c
index d18b996f4..d18b996f4 100644
--- a/sony_usb/news.c
+++ b/protocol/news.c
diff --git a/sony_usb/news.h b/protocol/news.h
index 35e09c4d2..35e09c4d2 100644
--- a/sony_usb/news.h
+++ b/protocol/news.h
diff --git a/pjrc.mk b/protocol/pjrc.mk
index e13a809a1..1ee45e9ec 100644
--- a/pjrc.mk
+++ b/protocol/pjrc.mk
@@ -8,7 +8,7 @@ SRC += pjrc.c \
8 8
9 9
10# Search Path 10# Search Path
11VPATH += $(COMMON_DIR):$(COMMON_DIR)/pjrc 11VPATH += $(TOP_DIR)/protocol/pjrc
12 12
13 13
14# Option modules 14# Option modules
diff --git a/pjrc/bootloader_teensy.c b/protocol/pjrc/bootloader_teensy.c
index 9d34852f1..9d34852f1 100644
--- a/pjrc/bootloader_teensy.c
+++ b/protocol/pjrc/bootloader_teensy.c
diff --git a/pjrc/main.c b/protocol/pjrc/main.c
index 15f14920b..15f14920b 100644
--- a/pjrc/main.c
+++ b/protocol/pjrc/main.c
diff --git a/pjrc/pjrc.c b/protocol/pjrc/pjrc.c
index 0562a12ff..0562a12ff 100644
--- a/pjrc/pjrc.c
+++ b/protocol/pjrc/pjrc.c
diff --git a/pjrc/pjrc.h b/protocol/pjrc/pjrc.h
index 06e79626f..06e79626f 100644
--- a/pjrc/pjrc.h
+++ b/protocol/pjrc/pjrc.h
diff --git a/pjrc/usb.c b/protocol/pjrc/usb.c
index 89087218f..89087218f 100644
--- a/pjrc/usb.c
+++ b/protocol/pjrc/usb.c
diff --git a/pjrc/usb.h b/protocol/pjrc/usb.h
index 0eb58fc39..0eb58fc39 100644
--- a/pjrc/usb.h
+++ b/protocol/pjrc/usb.h
diff --git a/pjrc/usb_debug.c b/protocol/pjrc/usb_debug.c
index c1e6f6544..c1e6f6544 100644
--- a/pjrc/usb_debug.c
+++ b/protocol/pjrc/usb_debug.c
diff --git a/pjrc/usb_debug.h b/protocol/pjrc/usb_debug.h
index e70f4ca3a..e70f4ca3a 100644
--- a/pjrc/usb_debug.h
+++ b/protocol/pjrc/usb_debug.h
diff --git a/pjrc/usb_extra.c b/protocol/pjrc/usb_extra.c
index fe1f422c0..fe1f422c0 100644
--- a/pjrc/usb_extra.c
+++ b/protocol/pjrc/usb_extra.c
diff --git a/pjrc/usb_extra.h b/protocol/pjrc/usb_extra.h
index 042ac4837..042ac4837 100644
--- a/pjrc/usb_extra.h
+++ b/protocol/pjrc/usb_extra.h
diff --git a/pjrc/usb_keyboard.c b/protocol/pjrc/usb_keyboard.c
index e057c77fa..e057c77fa 100644
--- a/pjrc/usb_keyboard.c
+++ b/protocol/pjrc/usb_keyboard.c
diff --git a/pjrc/usb_keyboard.h b/protocol/pjrc/usb_keyboard.h
index c362ca3b8..c362ca3b8 100644
--- a/pjrc/usb_keyboard.h
+++ b/protocol/pjrc/usb_keyboard.h
diff --git a/pjrc/usb_mouse.c b/protocol/pjrc/usb_mouse.c
index d81db756f..d81db756f 100644
--- a/pjrc/usb_mouse.c
+++ b/protocol/pjrc/usb_mouse.c
diff --git a/pjrc/usb_mouse.h b/protocol/pjrc/usb_mouse.h
index eb3056126..eb3056126 100644
--- a/pjrc/usb_mouse.h
+++ b/protocol/pjrc/usb_mouse.h
diff --git a/ps2.c b/protocol/ps2.c
index 8a0591621..8a0591621 100644
--- a/ps2.c
+++ b/protocol/ps2.c
diff --git a/ps2.h b/protocol/ps2.h
index 834165356..834165356 100644
--- a/ps2.h
+++ b/protocol/ps2.h
diff --git a/ps2_mouse.c b/protocol/ps2_mouse.c
index f796b2b4d..f796b2b4d 100644
--- a/ps2_mouse.c
+++ b/protocol/ps2_mouse.c
diff --git a/ps2_mouse.h b/protocol/ps2_mouse.h
index 4529ce113..4529ce113 100644
--- a/ps2_mouse.h
+++ b/protocol/ps2_mouse.h
diff --git a/ps2_usart.c b/protocol/ps2_usart.c
index 7d591c650..7d591c650 100644
--- a/ps2_usart.c
+++ b/protocol/ps2_usart.c
diff --git a/vusb.mk b/protocol/vusb.mk
index 9426efb25..9e8e1fb39 100644
--- a/vusb.mk
+++ b/protocol/vusb.mk
@@ -16,4 +16,4 @@ endif
16 16
17 17
18# Search Path 18# Search Path
19VPATH += $(COMMON_DIR)/vusb:$(COMMON_DIR)/vusb/usbdrv 19VPATH += $(TOP_DIR)/protocol/vusb:$(TOP_DIR)/protocol/vusb/usbdrv
diff --git a/vusb/bootloader_usbasp.c b/protocol/vusb/bootloader_usbasp.c
index 6ec99cbf2..6ec99cbf2 100644
--- a/vusb/bootloader_usbasp.c
+++ b/protocol/vusb/bootloader_usbasp.c
diff --git a/vusb/main.c b/protocol/vusb/main.c
index 1bf9035b3..1bf9035b3 100644
--- a/vusb/main.c
+++ b/protocol/vusb/main.c
diff --git a/vusb/sendchar_usart.c b/protocol/vusb/sendchar_usart.c
index 8d24f87d1..8d24f87d1 100644
--- a/vusb/sendchar_usart.c
+++ b/protocol/vusb/sendchar_usart.c
diff --git a/vusb/usbdrv/Changelog.txt b/protocol/vusb/usbdrv/Changelog.txt
index 5c6354ab1..5c6354ab1 100644
--- a/vusb/usbdrv/Changelog.txt
+++ b/protocol/vusb/usbdrv/Changelog.txt
diff --git a/vusb/usbdrv/CommercialLicense.txt b/protocol/vusb/usbdrv/CommercialLicense.txt
index 11d07d9df..11d07d9df 100644
--- a/vusb/usbdrv/CommercialLicense.txt
+++ b/protocol/vusb/usbdrv/CommercialLicense.txt
diff --git a/vusb/usbdrv/License.txt b/protocol/vusb/usbdrv/License.txt
index 4460cfbae..4460cfbae 100644
--- a/vusb/usbdrv/License.txt
+++ b/protocol/vusb/usbdrv/License.txt
diff --git a/vusb/usbdrv/Readme.txt b/protocol/vusb/usbdrv/Readme.txt
index 970dc66b2..970dc66b2 100644
--- a/vusb/usbdrv/Readme.txt
+++ b/protocol/vusb/usbdrv/Readme.txt
diff --git a/vusb/usbdrv/USB-ID-FAQ.txt b/protocol/vusb/usbdrv/USB-ID-FAQ.txt
index d1de8fb61..d1de8fb61 100644
--- a/vusb/usbdrv/USB-ID-FAQ.txt
+++ b/protocol/vusb/usbdrv/USB-ID-FAQ.txt
diff --git a/vusb/usbdrv/USB-IDs-for-free.txt b/protocol/vusb/usbdrv/USB-IDs-for-free.txt
index 2f4d59ad1..2f4d59ad1 100644
--- a/vusb/usbdrv/USB-IDs-for-free.txt
+++ b/protocol/vusb/usbdrv/USB-IDs-for-free.txt
diff --git a/vusb/usbdrv/asmcommon.inc b/protocol/vusb/usbdrv/asmcommon.inc
index 07d692be3..07d692be3 100644
--- a/vusb/usbdrv/asmcommon.inc
+++ b/protocol/vusb/usbdrv/asmcommon.inc
diff --git a/vusb/usbdrv/oddebug.c b/protocol/vusb/usbdrv/oddebug.c
index 945457c1f..945457c1f 100644
--- a/vusb/usbdrv/oddebug.c
+++ b/protocol/vusb/usbdrv/oddebug.c
diff --git a/vusb/usbdrv/oddebug.h b/protocol/vusb/usbdrv/oddebug.h
index d61309daa..d61309daa 100644
--- a/vusb/usbdrv/oddebug.h
+++ b/protocol/vusb/usbdrv/oddebug.h
diff --git a/vusb/usbdrv/usbconfig-prototype.h b/protocol/vusb/usbdrv/usbconfig-prototype.h
index 847710e2a..847710e2a 100644
--- a/vusb/usbdrv/usbconfig-prototype.h
+++ b/protocol/vusb/usbdrv/usbconfig-prototype.h
diff --git a/vusb/usbdrv/usbdrv.c b/protocol/vusb/usbdrv/usbdrv.c
index 21ed554f8..21ed554f8 100644
--- a/vusb/usbdrv/usbdrv.c
+++ b/protocol/vusb/usbdrv/usbdrv.c
diff --git a/vusb/usbdrv/usbdrv.h b/protocol/vusb/usbdrv/usbdrv.h
index 3a78f307b..3a78f307b 100644
--- a/vusb/usbdrv/usbdrv.h
+++ b/protocol/vusb/usbdrv/usbdrv.h
diff --git a/vusb/usbdrv/usbdrvasm.S b/protocol/vusb/usbdrv/usbdrvasm.S
index 45fcf1831..45fcf1831 100644
--- a/vusb/usbdrv/usbdrvasm.S
+++ b/protocol/vusb/usbdrv/usbdrvasm.S
diff --git a/vusb/usbdrv/usbdrvasm.asm b/protocol/vusb/usbdrv/usbdrvasm.asm
index 9cc4e4d73..9cc4e4d73 100644
--- a/vusb/usbdrv/usbdrvasm.asm
+++ b/protocol/vusb/usbdrv/usbdrvasm.asm
diff --git a/vusb/usbdrv/usbdrvasm12.inc b/protocol/vusb/usbdrv/usbdrvasm12.inc
index c1167584c..c1167584c 100644
--- a/vusb/usbdrv/usbdrvasm12.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm12.inc
diff --git a/vusb/usbdrv/usbdrvasm128.inc b/protocol/vusb/usbdrv/usbdrvasm128.inc
index bcd6621cc..bcd6621cc 100644
--- a/vusb/usbdrv/usbdrvasm128.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm128.inc
diff --git a/vusb/usbdrv/usbdrvasm15.inc b/protocol/vusb/usbdrv/usbdrvasm15.inc
index 401b7f8ff..401b7f8ff 100644
--- a/vusb/usbdrv/usbdrvasm15.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm15.inc
diff --git a/vusb/usbdrv/usbdrvasm16.inc b/protocol/vusb/usbdrv/usbdrvasm16.inc
index 207b6e48a..207b6e48a 100644
--- a/vusb/usbdrv/usbdrvasm16.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm16.inc
diff --git a/vusb/usbdrv/usbdrvasm165.inc b/protocol/vusb/usbdrv/usbdrvasm165.inc
index 79b3c61cf..79b3c61cf 100644
--- a/vusb/usbdrv/usbdrvasm165.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm165.inc
diff --git a/vusb/usbdrv/usbdrvasm18-crc.inc b/protocol/vusb/usbdrv/usbdrvasm18-crc.inc
index f83347df7..f83347df7 100644
--- a/vusb/usbdrv/usbdrvasm18-crc.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm18-crc.inc
diff --git a/vusb/usbdrv/usbdrvasm20.inc b/protocol/vusb/usbdrv/usbdrvasm20.inc
index 303abaf64..303abaf64 100644
--- a/vusb/usbdrv/usbdrvasm20.inc
+++ b/protocol/vusb/usbdrv/usbdrvasm20.inc
diff --git a/vusb/usbdrv/usbportability.h b/protocol/vusb/usbdrv/usbportability.h
index 476184dc6..476184dc6 100644
--- a/vusb/usbdrv/usbportability.h
+++ b/protocol/vusb/usbdrv/usbportability.h
diff --git a/vusb/vusb.c b/protocol/vusb/vusb.c
index 0bfe21e92..0bfe21e92 100644
--- a/vusb/vusb.c
+++ b/protocol/vusb/vusb.c
diff --git a/vusb/vusb.h b/protocol/vusb/vusb.h
index 5accf233b..5accf233b 100644
--- a/vusb/vusb.h
+++ b/protocol/vusb/vusb.h
diff --git a/x68k_usb/x68k.c b/protocol/x68k.c
index d17af51cc..d17af51cc 100644
--- a/x68k_usb/x68k.c
+++ b/protocol/x68k.c
diff --git a/x68k_usb/x68k.h b/protocol/x68k.h
index 2cfda63a7..2cfda63a7 100644
--- a/x68k_usb/x68k.h
+++ b/protocol/x68k.h
diff --git a/rules.mk b/rules.mk
index 9143f9bcf..104031fbb 100644
--- a/rules.mk
+++ b/rules.mk
@@ -121,7 +121,9 @@ CFLAGS += -Wstrict-prototypes
121CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) 121CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
122CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) 122CFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
123CFLAGS += $(CSTANDARD) 123CFLAGS += $(CSTANDARD)
124CFLAGS += -include $(CONFIG_H) 124ifdef CONFIG_H
125 CFLAGS += -include $(CONFIG_H)
126endif
125 127
126 128
127#---------------- Compiler Options C++ ---------------- 129#---------------- Compiler Options C++ ----------------
@@ -149,7 +151,9 @@ CPPFLAGS += -Wundef
149CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst) 151CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
150CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) 152CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
151#CPPFLAGS += $(CSTANDARD) 153#CPPFLAGS += $(CSTANDARD)
152CPPFLAGS += -include $(CONFIG_H) 154ifdef CONFIG_H
155 CPPFLAGS += -include $(CONFIG_H)
156endif
153 157
154 158
155#---------------- Assembler Options ---------------- 159#---------------- Assembler Options ----------------
@@ -162,7 +166,9 @@ CPPFLAGS += -include $(CONFIG_H)
162# -listing-cont-lines: Sets the maximum number of continuation lines of hex 166# -listing-cont-lines: Sets the maximum number of continuation lines of hex
163# dump that will be displayed for a given single line of source input. 167# dump that will be displayed for a given single line of source input.
164ASFLAGS = $(ADEFS) -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100 168ASFLAGS = $(ADEFS) -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
165ASFLAGS += -include $(CONFIG_H) 169ifdef CONFIG_H
170 ASFLAGS += -include $(CONFIG_H)
171endif
166 172
167 173
168#---------------- Library Options ---------------- 174#---------------- Library Options ----------------