From c6d88d27956c4b76f8819fcdb076bf94a8f55868 Mon Sep 17 00:00:00 2001 From: tmk Date: Tue, 2 Apr 2013 17:44:24 +0900 Subject: Rename file layer_switch to action_layer --- common.mk | 2 +- common/action.c | 2 +- common/action_layer.c | 135 ++++++++++++++++++++++++++++++++++++++++++++ common/action_layer.h | 77 +++++++++++++++++++++++++ common/command.c | 2 +- common/keymap.c | 2 +- common/layer_switch.c | 135 -------------------------------------------- common/layer_switch.h | 77 ------------------------- converter/pc98_usb/keymap.c | 32 +++-------- converter/pc98_usb/matrix.c | 4 -- keyboard/gh60/keymap.c | 1 - keyboard/hid_liber/keymap.c | 29 ++-------- 12 files changed, 229 insertions(+), 269 deletions(-) create mode 100644 common/action_layer.c create mode 100644 common/action_layer.h delete mode 100644 common/layer_switch.c delete mode 100644 common/layer_switch.h diff --git a/common.mk b/common.mk index be9f289c94..6759e6ef93 100644 --- a/common.mk +++ b/common.mk @@ -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 \ diff --git a/common/action.c b/common/action.c index 596831d4de..158522dd03 100644 --- a/common/action.c +++ b/common/action.c @@ -21,7 +21,7 @@ along with this program. If not, see . #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" diff --git a/common/action_layer.c b/common/action_layer.c new file mode 100644 index 0000000000..3413c53e65 --- /dev/null +++ b/common/action_layer.c @@ -0,0 +1,135 @@ +#include +#include "keyboard.h" +#include "action.h" +#include "debug.h" +#include "util.h" +#include "action_layer.h" + + +/* + * Default Layer State + */ +uint32_t default_layer_state = 0; + +static void default_layer_state_set(uint32_t state) +{ + debug("default_layer_state: "); + default_layer_debug(); debug(" to "); + default_layer_state = state; + default_layer_debug(); debug("\n"); + clear_keyboard_but_mods(); // To avoid stuck keys +} + +void default_layer_debug(void) +{ + debug_hex32(default_layer_state); + debug("("); debug_dec(biton32(default_layer_state)); debug(")"); +} + +void default_layer_set(uint8_t layer) +{ + default_layer_state_set(1UL<= 0; i--) { + if (layers & (1UL< + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +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 ACTION_LAYER_H +#define ACTION_LAYER_H + +#include +#include "keyboard.h" +#include "action.h" + + +/* + * Default Layer + */ +extern uint32_t default_layer_state; +void default_layer_debug(void); +void default_layer_set(uint8_t layer); + +#ifndef NO_ACTION_LAYER +/* bitwise operation */ +void default_layer_or(uint32_t state); +void default_layer_and(uint32_t state); +void default_layer_xor(uint32_t state); +#else +#define default_layer_or(state) +#define default_layer_and(state) +#define default_layer_xor(state) +#endif + + +/* + * Keymap Layer + */ +#ifndef NO_ACTION_LAYER +extern uint32_t layer_state; +void layer_debug(void); +void layer_clear(void); +void layer_move(uint8_t layer); +void layer_on(uint8_t layer); +void layer_off(uint8_t layer); +void layer_invert(uint8_t layer); +/* bitwise operation */ +void layer_or(uint32_t state); +void layer_and(uint32_t state); +void layer_xor(uint32_t state); +#else +#define layer_state 0 +#define layer_clear() +#define layer_move(layer) +#define layer_on(layer) +#define layer_off(layer) +#define layer_invert(layer) + +#define layer_or(state) +#define layer_and(state) +#define layer_xor(state) +#define layer_debug() +#endif + + +/* return action depending on current layer status */ +action_t layer_switch_get_action(key_t key); + +#endif diff --git a/common/command.c b/common/command.c index c954ff02f4..dc06c6da35 100644 --- a/common/command.c +++ b/common/command.c @@ -26,7 +26,7 @@ along with this program. If not, see . #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" diff --git a/common/keymap.c b/common/keymap.c index ace3f49b69..c98ce09b66 100644 --- a/common/keymap.c +++ b/common/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #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" diff --git a/common/layer_switch.c b/common/layer_switch.c deleted file mode 100644 index 9905741f48..0000000000 --- a/common/layer_switch.c +++ /dev/null @@ -1,135 +0,0 @@ -#include -#include "keyboard.h" -#include "action.h" -#include "debug.h" -#include "util.h" -#include "layer_switch.h" - - -/* - * Default Layer State - */ -uint32_t default_layer_state = 0; - -static void default_layer_state_set(uint32_t state) -{ - debug("default_layer_state: "); - default_layer_debug(); debug(" to "); - default_layer_state = state; - default_layer_debug(); debug("\n"); - clear_keyboard_but_mods(); // To avoid stuck keys -} - -void default_layer_debug(void) -{ - debug_hex32(default_layer_state); - debug("("); debug_dec(biton32(default_layer_state)); debug(")"); -} - -void default_layer_set(uint8_t layer) -{ - default_layer_state_set(1UL<= 0; i--) { - if (layers & (1UL< - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -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 LAYER_SWITCH_H -#define LAYER_SWITCH_H - -#include -#include "keyboard.h" -#include "action.h" - - -/* - * Default Layer - */ -extern uint32_t default_layer_state; -void default_layer_debug(void); -void default_layer_set(uint8_t layer); - -#ifndef NO_ACTION_LAYER -/* bitwise operation */ -void default_layer_or(uint32_t state); -void default_layer_and(uint32_t state); -void default_layer_xor(uint32_t state); -#else -#define default_layer_or(state) -#define default_layer_and(state) -#define default_layer_xor(state) -#endif - - -/* - * Keymap Layer - */ -#ifndef NO_ACTION_LAYER -extern uint32_t layer_state; -void layer_debug(void); -void layer_clear(void); -void layer_move(uint8_t layer); -void layer_on(uint8_t layer); -void layer_off(uint8_t layer); -void layer_invert(uint8_t layer); -/* bitwise operation */ -void layer_or(uint32_t state); -void layer_and(uint32_t state); -void layer_xor(uint32_t state); -#else -#define layer_state 0 -#define layer_clear() -#define layer_move(layer) -#define layer_on(layer) -#define layer_off(layer) -#define layer_invert(layer) - -#define layer_or(state) -#define layer_and(state) -#define layer_xor(state) -#define layer_debug() -#endif - - -/* return action depending on current layer status */ -action_t layer_switch_get_action(key_t key); - -#endif diff --git a/converter/pc98_usb/keymap.c b/converter/pc98_usb/keymap.c index 279b2b60c0..3ab0a4dbea 100644 --- a/converter/pc98_usb/keymap.c +++ b/converter/pc98_usb/keymap.c @@ -21,7 +21,6 @@ along with this program. If not, see . #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)]); } } diff --git a/converter/pc98_usb/matrix.c b/converter/pc98_usb/matrix.c index d03aaf10d1..8833e0a851 100644 --- a/converter/pc98_usb/matrix.c +++ b/converter/pc98_usb/matrix.c @@ -93,10 +93,6 @@ RETRY: void matrix_init(void) { - print_enable = true; -// debug_enable = true; -// debug_matrix = true; - PC98_RST_DDR |= (1<. #include "keycode.h" #include "action.h" #include "action_macro.h" -#include "layer_switch.h" #include "report.h" #include "host.h" #include "print.h" diff --git a/keyboard/hid_liber/keymap.c b/keyboard/hid_liber/keymap.c index f3d6bfa2ef..609edb5e1b 100644 --- a/keyboard/hid_liber/keymap.c +++ b/keyboard/hid_liber/keymap.c @@ -24,7 +24,6 @@ along with this program. If not, see . #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)]); } } -- cgit v1.2.3