~ruther/qmk_firmware

c958b2d19b0ec0dbc02f87dc4c9ccee933a54be5 — tmk 14 years ago fb8d23c
fixed adb_usb to comply new API.
R adb/Makefile => adb_usb/Makefile +13 -43
@@ 1,46 1,5 @@
# 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
TARGET = adb_usb

# Directory common source filess exist
COMMON_DIR = ..


@@ 49,10 8,14 @@ COMMON_DIR = ..
TARGET_DIR = .

# keyboard dependent files
TARGET_SRC =	keymap.c \
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


@@ 79,4 42,11 @@ USB_EXTRA_ENABLE = yes	# Enhanced feature for Windows(Audio control and System c
#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

R adb/README => adb_usb/README +0 -0
R adb/config.h => adb_usb/config.h +9 -5
@@ 13,18 13,21 @@
/* 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

R adb/keymap.c => adb_usb/keymap.c +1 -8
@@ 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));
}

A adb_usb/led.c => adb_usb/led.c +9 -0
@@ 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);
}

R adb/matrix.c => adb_usb/matrix.c +1 -8
@@ 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;

M pjrc/usb_keyboard.c => pjrc/usb_keyboard.c +4 -0
@@ 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];
    }