]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
fixed adb_usb to comply new API.
authortmk <nobody@nowhere>
Mon, 21 Feb 2011 14:05:28 +0000 (23:05 +0900)
committertmk <nobody@nowhere>
Mon, 21 Feb 2011 18:09:18 +0000 (03:09 +0900)
adb/Makefile [deleted file]
adb_usb/Makefile [new file with mode: 0644]
adb_usb/README [moved from adb/README with 100% similarity]
adb_usb/config.h [moved from adb/config.h with 84% similarity]
adb_usb/keymap.c [moved from adb/keymap.c with 96% similarity]
adb_usb/led.c [new file with mode: 0644]
adb_usb/matrix.c [moved from adb/matrix.c with 94% similarity]
pjrc/usb_keyboard.c

diff --git a/adb/Makefile b/adb/Makefile
deleted file mode 100644 (file)
index c27c75e..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-# 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_adb
-
-# Directory common source filess exist
-COMMON_DIR = ..
-
-# Directory keyboard dependent files exist
-TARGET_DIR = .
-
-# keyboard dependent files
-TARGET_SRC =   keymap.c \
-               matrix.c \
-               adb.c
-
-
-# MCU name, you MUST set this to match the board you are using
-# type "make clean" after changing this, so all files will be rebuilt
-#MCU = at90usb162       # Teensy 1.0
-MCU = atmega32u4       # Teensy 2.0
-#MCU = at90usb646       # Teensy++ 1.0
-#MCU = at90usb1286      # Teensy++ 2.0
-
-
-# Processor frequency.
-#   Normally the first thing your program should do is set the clock prescaler,
-#   so your program will run at the correct speed.  You should also set this
-#   variable to same clock speed.  The _delay_ms() macro uses this, and many
-#   examples use this variable to calculate timings.  Do not add a "UL" here.
-F_CPU = 16000000
-
-
-# Build Options
-#   comment out to disable the options.
-#
-MOUSEKEY_ENABLE = yes  # Mouse keys
-#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
-
-
-include $(COMMON_DIR)/Makefile.common
diff --git a/adb_usb/Makefile b/adb_usb/Makefile
new file mode 100644 (file)
index 0000000..61e43a7
--- /dev/null
@@ -0,0 +1,52 @@
+# Target file name (without extension).
+TARGET = adb_usb
+
+# Directory common source filess exist
+COMMON_DIR = ..
+
+# Directory keyboard dependent files exist
+TARGET_DIR = .
+
+# keyboard dependent files
+TARGET_SRC =   main_pjrc.c \
+               keymap.c \
+               matrix.c \
+               led.c \
+               adb.c
+
+CONFIG_H = config.h
+
+
+# MCU name, you MUST set this to match the board you are using
+# type "make clean" after changing this, so all files will be rebuilt
+#MCU = at90usb162       # Teensy 1.0
+MCU = atmega32u4       # Teensy 2.0
+#MCU = at90usb646       # Teensy++ 1.0
+#MCU = at90usb1286      # Teensy++ 2.0
+
+
+# Processor frequency.
+#   Normally the first thing your program should do is set the clock prescaler,
+#   so your program will run at the correct speed.  You should also set this
+#   variable to same clock speed.  The _delay_ms() macro uses this, and many
+#   examples use this variable to calculate timings.  Do not add a "UL" here.
+F_CPU = 16000000
+
+
+# Build Options
+#   comment out to disable the options.
+#
+MOUSEKEY_ENABLE = yes  # Mouse keys
+#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
similarity index 100%
rename from adb/README
rename to adb_usb/README
similarity index 84%
rename from adb/config.h
rename to adb_usb/config.h
index 099a24bfa80af71c37bac330b9d67acb5efe0bee..ea78dd9bdb81e01fe3ecf3e0e2e432b42f6f6afc 100644 (file)
 /* matrix size */
 #define MATRIX_ROWS 16  // keycode bit: 3-0
 #define MATRIX_COLS 8   // keycode bit: 6-4
-/* 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
@@ -37,6 +40,7 @@
 #   define PS2_DATA_BIT    1
 #endif
 
+
 /* ADB port setting */
 #define ADB_PORT        PORTF
 #define ADB_PIN         PINF
similarity index 96%
rename from adb/keymap.c
rename to adb_usb/keymap.c
index 05ab4c45263b500f338908b23ed86720192b17d6..c5345770133161a0e4cd42cae6626a3168794554 100644 (file)
@@ -9,7 +9,7 @@
 #include "print.h"
 #include "debug.h"
 #include "util.h"
-#include "keymap_skel.h"
+#include "keymap.h"
 
 
 #define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)]))
@@ -131,10 +131,3 @@ uint8_t keymap_fn_keycode(uint8_t fn_bits)
 {
     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_LCTRL | BIT_LSHIFT | BIT_LALT | BIT_LGUI));
-    return (usb_keyboard_mods == (BIT_RSHIFT));
-}
diff --git a/adb_usb/led.c b/adb_usb/led.c
new file mode 100644 (file)
index 0000000..93009a5
--- /dev/null
@@ -0,0 +1,9 @@
+#include "stdint.h"
+#include "adb.h"
+#include "led.h"
+
+
+void led_set(uint8_t usb_led)
+{
+    adb_host_kbd_led(~usb_led);
+}
similarity index 94%
rename from adb/matrix.c
rename to adb_usb/matrix.c
index 550506ec4d0b23594f74138bcb5d320ade5fbeb3..72515dce238cd8900ed21e6200c70d43f2056fd8 100644 (file)
@@ -9,8 +9,7 @@
 #include "util.h"
 #include "debug.h"
 #include "adb.h"
-#include "usb_keyboard.h"
-#include "matrix_skel.h"
+#include "matrix.h"
 
 
 #if (MATRIX_COLS > 16)
@@ -72,12 +71,6 @@ uint8_t matrix_scan(void)
     uint16_t codes;
     uint8_t key0, key1;
 
-    static uint8_t prev_led = 0;
-    if (prev_led != usb_keyboard_leds) {
-        adb_host_kbd_led(~usb_keyboard_leds);
-        prev_led = usb_keyboard_leds;
-    }
-
     _matrix_is_modified = false;
     codes = adb_host_kbd_recv();
     key0 = codes>>8;
index e29c5c9e918955eea672886f079ce0930883f7a8..fc05f7c9e74233b544dcc0d749bb91ce22612848 100644 (file)
@@ -81,8 +81,12 @@ static inline int8_t send_report(report_keyboard_t *report, uint8_t endpoint, ui
             UENUM = endpoint;
     }
     UEDATX = report->mods;
+#ifdef USB_NKRO_ENABLE
     if (!keyboard_nkro)
         UEDATX = 0;
+#else
+    UEDATX = 0;
+#endif
     for (uint8_t i = keys_start; i < keys_end; i++) {
             UEDATX = report->keys[i];
     }