@@ -5,7 +5,7 @@ SRC += $(COMMON_DIR)/host.c \ | |||
$(COMMON_DIR)/action_tapping.c \ | |||
$(COMMON_DIR)/action_oneshot.c \ | |||
$(COMMON_DIR)/action_macro.c \ | |||
$(COMMON_DIR)/layer_switch.c \ | |||
$(COMMON_DIR)/action_layer.c \ | |||
$(COMMON_DIR)/keymap.c \ | |||
$(COMMON_DIR)/timer.c \ | |||
$(COMMON_DIR)/print.c \ |
@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
#include "command.h" | |||
#include "debug.h" | |||
#include "led.h" | |||
#include "layer_switch.h" | |||
#include "action_layer.h" | |||
#include "action_tapping.h" | |||
#include "action_oneshot.h" | |||
#include "action_macro.h" |
@@ -3,7 +3,7 @@ | |||
#include "action.h" | |||
#include "debug.h" | |||
#include "util.h" | |||
#include "layer_switch.h" | |||
#include "action_layer.h" | |||
/* |
@@ -14,8 +14,8 @@ 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 <http://www.gnu.org/licenses/>. | |||
*/ | |||
#ifndef LAYER_SWITCH_H | |||
#define LAYER_SWITCH_H | |||
#ifndef ACTION_LAYER_H | |||
#define ACTION_LAYER_H | |||
#include <stdint.h> | |||
#include "keyboard.h" |
@@ -26,7 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
#include "timer.h" | |||
#include "keyboard.h" | |||
#include "bootloader.h" | |||
#include "layer_switch.h" | |||
#include "action_layer.h" | |||
#include "eeconfig.h" | |||
#include "sleep_led.h" | |||
#include "led.h" |
@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
#include "keymap.h" | |||
#include "report.h" | |||
#include "keycode.h" | |||
#include "layer_switch.h" | |||
#include "action_layer.h" | |||
#include "action.h" | |||
#include "action_macro.h" | |||
#include "debug.h" |
@@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
#include "keycode.h" | |||
#include "action.h" | |||
#include "action_macro.h" | |||
#include "layer_switch.h" | |||
#include "util.h" | |||
#include "keymap.h" | |||
@@ -165,10 +164,10 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
* Fn actions | |||
*/ | |||
static const uint16_t PROGMEM fn_actions[] = { | |||
ACTION_KEYMAP_TAP_TOGGLE(0), // FN0 | |||
ACTION_KEYMAP_TAP_KEY(1, KC_SLASH), // FN1 | |||
ACTION_KEYMAP_TAP_KEY(2, KC_SCLN), // FN2 | |||
ACTION_KEYMAP_MOMENTARY(2), // FN3 | |||
ACTION_LAYER_TAP_TOGGLE(0), // FN0 | |||
ACTION_LAYER_TAP_KEY(1, KC_SLASH), // FN1 | |||
ACTION_LAYER_TAP_KEY(2, KC_SCLN), // FN2 | |||
ACTION_LAYER_MOMENTARY(2), // FN3 | |||
ACTION_MACRO(LBRACKET), // FN4 | |||
ACTION_MACRO(RBRACKET), // FN5 | |||
ACTION_MACRO(DUMMY), // FN6 | |||
@@ -183,29 +182,16 @@ static const uint16_t PROGMEM fn_actions[] = { | |||
* No need to edit. | |||
*/ | |||
#define KEYMAPS_SIZE (sizeof(keymaps) / sizeof(keymaps[0])) | |||
#define OVERLAYS_SIZE (sizeof(overlays) / sizeof(overlays[0])) | |||
#define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0])) | |||
/* translates key to keycode */ | |||
uint8_t keymap_key_to_keycode(uint8_t layer, key_t key) | |||
{ | |||
/* Overlay: 16-31(OVERLAY_BIT(0x10) | overlay_layer) */ | |||
if (layer & OVERLAY_BIT) { | |||
layer &= OVERLAY_MASK; | |||
if (layer < OVERLAYS_SIZE) { | |||
return pgm_read_byte(&overlays[(layer)][(key.row)][(key.col)]); | |||
} else { | |||
return KC_TRANSPARENT; | |||
} | |||
} | |||
/* Keymap: 0-15 */ | |||
else { | |||
if (layer < KEYMAPS_SIZE) { | |||
return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); | |||
} else { | |||
// fall back to layer 0 | |||
return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]); | |||
} | |||
if (layer < KEYMAPS_SIZE) { | |||
return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); | |||
} else { | |||
// fall back to layer 0 | |||
return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]); | |||
} | |||
} | |||
@@ -93,10 +93,6 @@ RETRY: | |||
void matrix_init(void) | |||
{ | |||
print_enable = true; | |||
// debug_enable = true; | |||
// debug_matrix = true; | |||
PC98_RST_DDR |= (1<<PC98_RST_BIT); | |||
PC98_RDY_DDR |= (1<<PC98_RDY_BIT); | |||
PC98_RTY_DDR |= (1<<PC98_RTY_BIT); |
@@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
#include "keycode.h" | |||
#include "action.h" | |||
#include "action_macro.h" | |||
#include "layer_switch.h" | |||
#include "report.h" | |||
#include "host.h" | |||
#include "print.h" |
@@ -24,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
#include "keycode.h" | |||
#include "action.h" | |||
#include "action_macro.h" | |||
#include "layer_switch.h" | |||
#include "report.h" | |||
#include "host.h" | |||
#include "print.h" | |||
@@ -160,8 +159,6 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
}; | |||
static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {}; | |||
/* | |||
* Fn action definition | |||
*/ | |||
@@ -179,33 +176,15 @@ static const uint16_t PROGMEM fn_actions[] = { | |||
#endif | |||
#define KEYMAPS_SIZE (sizeof(keymaps) / sizeof(keymaps[0])) | |||
#define OVERLAYS_SIZE (sizeof(overlays) / sizeof(overlays[0])) | |||
#define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0])) | |||
/* translates key to keycode */ | |||
uint8_t keymap_key_to_keycode(uint8_t layer, key_t key) | |||
{ | |||
/* Overlay: 16-31(OVERLAY_BIT(0x10) | overlay_layer) */ | |||
if (layer & OVERLAY_BIT) { | |||
layer &= OVERLAY_MASK; | |||
if (layer < OVERLAYS_SIZE) { | |||
return pgm_read_byte(&overlays[(layer)][(key.row)][(key.col)]); | |||
} else { | |||
// XXX: this may cuaes bootlaoder_jump incositent fail. | |||
//debug("key_to_keycode: overlay "); debug_dec(layer); debug(" is invalid.\n"); | |||
return KC_TRANSPARENT; | |||
} | |||
} | |||
/* Keymap: 0-15 */ | |||
else { | |||
if (layer < KEYMAPS_SIZE) { | |||
return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); | |||
} else { | |||
// XXX: this may cuaes bootlaoder_jump incositent fail. | |||
//debug("key_to_keycode: base "); debug_dec(layer); debug(" is invalid.\n"); | |||
// fall back to layer 0 | |||
return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]); | |||
} | |||
if (layer < KEYMAPS_SIZE) { | |||
return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); | |||
} else { | |||
return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]); | |||
} | |||
} | |||