-# Hey Emacs, this is a -*- makefile -*-
-#----------------------------------------------------------------------------
-# WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al.
-#
-# Released to the Public Domain
-#
-# Additional material for this makefile was written by:
-# Peter Fleury
-# Tim Henigan
-# Colin O'Flynn
-# Reiner Patommel
-# Markus Pfaff
-# Sander Pool
-# Frederik Rouleau
-# Carlos Lamas
-#
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make all = Make software.
-#
-# make clean = Clean out built project files.
-#
-# make coff = Convert ELF to AVR COFF.
-#
-# make extcoff = Convert ELF to AVR Extended COFF.
-#
-# make program = Download the hex file to the device, using avrdude.
-# Please customize the avrdude settings below first!
-#
-# make debug = Start either simulavr or avarice as specified for debugging,
-# with avr-gdb or avr-insight as the front end for debugging.
-#
-# make filename.s = Just compile filename.c into the assembler code only.
-#
-# make filename.i = Create a preprocessed source file for use in submitting
-# bug reports to the GCC project.
-#
-# To rebuild project do "make clean" then "make all".
-#----------------------------------------------------------------------------
-
# Target file name (without extension).
-TARGET = tmk_macway
+TARGET = macway
# Directory common source filess exist
COMMON_DIR = ..
TARGET_DIR = .
# keyboard dependent files
-TARGET_SRC = keymap.c \
- matrix.c
+TARGET_SRC = main_pjrc.c \
+ keymap.c \
+ matrix.c \
+ led.c
+
+CONFIG_H = config.h
# MCU name, you MUST set this to match the board you are using
# comment out to disable the options.
#
MOUSEKEY_ENABLE = yes # Mouse keys
-PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
+#PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
USB_EXTRA_ENABLE = yes # Enhanced feature for Windows(Audio control and System control)
#USB_NKRO_ENABLE = yes # USB Nkey Rollover
+
+#---------------- Programming Options --------------------------
+PROGRAM_CMD = teensy_loader_cli.exe -mmcu=$(MCU) -w -v $(TARGET).hex
+
+
+
+include $(COMMON_DIR)/Makefile.pjrc
include $(COMMON_DIR)/Makefile.common
#define PRODUCT Macway mod
#define DESCRIPTION t.m.k. keyboard firmware for Macway mod
+
/* matrix size */
#define MATRIX_ROWS 9
#define MATRIX_COLS 8
/* define if matrix has ghost */
#define MATRIX_HAS_GHOST
-/* USB NKey Rollover */
-#ifdef USB_NKRO_ENABLE
-#endif
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \
+ keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \
+)
+
/* mouse keys */
#ifdef MOUSEKEY_ENABLE
# define MOUSEKEY_DELAY_TIME 192
#endif
+
/* PS/2 mouse */
#ifdef PS2_MOUSE_ENABLE
# define PS2_CLOCK_PORT PORTF
#include <stdint.h>
#include <stdbool.h>
#include <avr/pgmspace.h>
-#include "usb_keyboard.h"
#include "usb_keycodes.h"
#include "print.h"
#include "debug.h"
#include "util.h"
-#include "keymap_skel.h"
+#include "keymap.h"
// Convert physical keyboard layout to matrix array.
{
return pgm_read_byte(&fn_keycode[(biton(fn_bits))]);
}
-
-// define a condition to enter special function mode
-bool keymap_is_special_mode(uint8_t fn_bits)
-{
- return usb_keyboard_mods == (BIT_LSHIFT | BIT_RSHIFT);
-}