diff --git a/keyboard/alps64/Makefile b/keyboard/alps64/Makefile
index 7634c428..bd6ecb6b 100644
--- a/keyboard/alps64/Makefile
+++ b/keyboard/alps64/Makefile
@@ -42,14 +42,14 @@
TARGET = alps64
# Directory common source filess exist
+TOP_DIR = ../..
TMK_DIR = ../../tmk_core
# Directory keyboard dependent files exist
TARGET_DIR = .
# project specific files
-SRC = keymap_common.c \
- matrix.c \
+SRC = alps64.c \
led.c
ifdef KEYMAP
@@ -127,8 +127,7 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
# Search Path
VPATH += $(TARGET_DIR)
+VPATH += $(TOP_DIR)
VPATH += $(TMK_DIR)
-include $(TMK_DIR)/protocol/lufa.mk
-include $(TMK_DIR)/common.mk
-include $(TMK_DIR)/rules.mk
+include $(TOP_DIR)/quantum/quantum.mk
diff --git a/keyboard/alps64/keymap_common.c b/keyboard/alps64/alps64.c
similarity index 57%
rename from keyboard/alps64/keymap_common.c
rename to keyboard/alps64/alps64.c
index fdb1769e..dde10c11 100644
--- a/keyboard/alps64/keymap_common.c
+++ b/keyboard/alps64/alps64.c
@@ -14,17 +14,30 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "keymap_common.h"
+#include "quantum.h"
+#define LED_ON() do { DDRC |= (1<<5); PORTC |= (1<<5); } while (0)
+#define LED_OFF() do { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } while (0)
+#define LED_TGL() do { DDRC |= (1<<5); PINC |= (1<<5); } while (0)
-/* translates key to keycode */
-uint8_t keymap_key_to_keycode(uint8_t layer, keypos_t key)
-{
- return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]);
+__attribute__ ((weak))
+void matrix_init_user(void) {
+
+}
+
+__attribute__ ((weak))
+void matrix_scan_user(void) {
+
+}
+
+void matrix_init_kb(void) {
+ LED_ON();
+ _delay_ms(500);
+ LED_OFF();
+
+ matrix_init_user();
}
-/* translates Fn keycode to action */
-action_t keymap_fn_to_action(uint8_t keycode)
-{
- return (action_t){ .code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]) };
+void matrix_scan_kb(void) {
+ matrix_scan_user();
}
diff --git a/keyboard/alps64/keymap_common.h b/keyboard/alps64/alps64.h
similarity index 87%
rename from keyboard/alps64/keymap_common.h
rename to keyboard/alps64/alps64.h
index 957db579..d0777201 100644
--- a/keyboard/alps64/keymap_common.h
+++ b/keyboard/alps64/alps64.h
@@ -14,25 +14,10 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#ifndef KEYMAP_COMMON_H
-#define KEYMAP_COMMON_H
-
-#include
-#include
-#include
-#include "keycode.h"
-#include "action.h"
-#include "action_macro.h"
-#include "report.h"
-#include "host.h"
-#include "print.h"
-#include "debug.h"
-#include "keymap.h"
-
-
-extern const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
-extern const uint16_t fn_actions[];
+#ifndef ALPS64_H
+#define ALPS64_H
+#include "quantum.h"
/* Alps64 keymap definition macro */
#define KEYMAP( \
diff --git a/keyboard/alps64/config.h b/keyboard/alps64/config.h
index 824d3e83..858a82ec 100644
--- a/keyboard/alps64/config.h
+++ b/keyboard/alps64/config.h
@@ -18,6 +18,7 @@ along with this program. If not, see .
#ifndef CONFIG_H
#define CONFIG_H
+#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
@@ -31,6 +32,10 @@ along with this program. If not, see .
#define MATRIX_ROWS 8
#define MATRIX_COLS 8
+#define MATRIX_COL_PINS { B0, B1, B2, B3, B4, B5, B6, B7 }
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, D4, D5, D6, C2 }
+#define UNUSED_PINS
+
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
diff --git a/keyboard/alps64/keymaps/default.c b/keyboard/alps64/keymaps/default.c
index a5489919..2c45dc7f 100644
--- a/keyboard/alps64/keymaps/default.c
+++ b/keyboard/alps64/keymaps/default.c
@@ -1,6 +1,6 @@
-#include "keymap_common.h"
+#include "alps64.h"
-const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
KEYMAP( \
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS, BSPC, \
diff --git a/keyboard/alps64/keymaps/hasu.c b/keyboard/alps64/keymaps/hasu.c
index d297d72f..e93dd0d4 100644
--- a/keyboard/alps64/keymaps/hasu.c
+++ b/keyboard/alps64/keymaps/hasu.c
@@ -1,9 +1,9 @@
-#include "keymap_common.h"
+#include "alps64.h"
/*
* Hasu
*/
-const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Default Layer
* ,-----------------------------------------------------------.
* |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \ |
diff --git a/keyboard/alps64/matrix.c b/keyboard/alps64/matrix.c
index 5638d7f6..805999d4 100644
--- a/keyboard/alps64/matrix.c
+++ b/keyboard/alps64/matrix.c
@@ -55,10 +55,6 @@ uint8_t matrix_cols(void)
return MATRIX_COLS;
}
-#define LED_ON() do { DDRC |= (1<<5); PORTC |= (1<<5); } while (0)
-#define LED_OFF() do { DDRC &= ~(1<<5); PORTC &= ~(1<<5); } while (0)
-#define LED_TGL() do { DDRC |= (1<<5); PINC |= (1<<5); } while (0)
-
void matrix_init(void)
{
// initialize row and col
@@ -160,6 +156,7 @@ static void unselect_rows(void)
PORTC &= ~0b00000100;
}
+
static void select_row(uint8_t row)
{
// Output low(DDR:1, PORT:0) to select
diff --git a/quantum/matrix.c b/quantum/matrix.c
index d5fd7def..412662a7 100644
--- a/quantum/matrix.c
+++ b/quantum/matrix.c
@@ -68,8 +68,10 @@ uint8_t matrix_cols(void) {
void matrix_init(void) {
/* frees PORTF by setting the JTD bit twice within four cycles */
- MCUCR |= _BV(JTD);
- MCUCR |= _BV(JTD);
+ #ifdef __AVR_ATmega32U4__
+ MCUCR |= _BV(JTD);
+ MCUCR |= _BV(JTD);
+ #endif
/* initializes the I/O pins */
#if DIODE_DIRECTION == COL2ROW
for (int8_t r = MATRIX_ROWS - 1; r >= 0; --r) {
diff --git a/quantum/quantum.h b/quantum/quantum.h
index 69a0d812..71533f48 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -23,6 +23,7 @@
#include "eeconfig.h"
#include
#include
+#include
extern uint32_t default_layer_state;