]> git.donarmstrong.com Git - tmk_firmware.git/commitdiff
Rename file layer_switch to action_layer
authortmk <nobody@nowhere>
Tue, 2 Apr 2013 08:44:24 +0000 (17:44 +0900)
committertmk <nobody@nowhere>
Tue, 2 Apr 2013 08:44:24 +0000 (17:44 +0900)
12 files changed:
common.mk
common/action.c
common/action_layer.c [new file with mode: 0644]
common/action_layer.h [new file with mode: 0644]
common/command.c
common/keymap.c
common/layer_switch.c [deleted file]
common/layer_switch.h [deleted file]
converter/pc98_usb/keymap.c
converter/pc98_usb/matrix.c
keyboard/gh60/keymap.c
keyboard/hid_liber/keymap.c

index be9f289c94f400d871e1f8bef318230a977d80b1..6759e6ef939752ed868d2dd7fe4a4957b375e3ab 100644 (file)
--- 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 \
index 596831d4de948b0f3dca5c4cecd2acd36b17ce35..158522dd034518f51f653cb3f0a7d1da3df24e10 100644 (file)
@@ -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"
diff --git a/common/action_layer.c b/common/action_layer.c
new file mode 100644 (file)
index 0000000..3413c53
--- /dev/null
@@ -0,0 +1,135 @@
+#include <stdint.h>
+#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<<layer);
+}
+
+#ifndef NO_ACTION_LAYER
+void default_layer_or(uint32_t state)
+{
+    default_layer_state_set(default_layer_state | state);
+}
+void default_layer_and(uint32_t state)
+{
+    default_layer_state_set(default_layer_state & state);
+}
+void default_layer_xor(uint32_t state)
+{
+    default_layer_state_set(default_layer_state ^ state);
+}
+#endif
+
+
+#ifndef NO_ACTION_LAYER
+/* 
+ * Keymap Layer State
+ */
+uint32_t layer_state = 0;
+
+static void layer_state_set(uint32_t state)
+{
+    debug("layer_state: ");
+    layer_debug(); debug(" to ");
+    layer_state = state;
+    layer_debug(); debug("\n");
+    clear_keyboard_but_mods(); // To avoid stuck keys
+}
+
+void layer_clear(void)
+{
+    layer_state_set(0);
+}
+
+void layer_move(uint8_t layer)
+{
+    layer_state_set(1UL<<layer);
+}
+
+void layer_on(uint8_t layer)
+{
+    layer_state_set(layer_state | (1UL<<layer));
+}
+
+void layer_off(uint8_t layer)
+{
+    layer_state_set(layer_state & ~(1UL<<layer));
+}
+
+void layer_invert(uint8_t layer)
+{
+    layer_state_set(layer_state ^ (1UL<<layer));
+}
+
+void layer_or(uint32_t state)
+{
+    layer_state_set(layer_state | state);
+}
+void layer_and(uint32_t state)
+{
+    layer_state_set(layer_state & state);
+}
+void layer_xor(uint32_t state)
+{
+    layer_state_set(layer_state ^ state);
+}
+
+void layer_debug(void)
+{
+    debug_hex32(layer_state);
+    debug("("); debug_dec(biton32(layer_state)); debug(")");
+}
+#endif
+
+
+
+action_t layer_switch_get_action(key_t key)
+{
+    action_t action;
+    action.code = ACTION_TRANSPARENT;
+
+#ifndef NO_ACTION_LAYER
+    uint32_t layers = layer_state | default_layer_state;
+    /* check top layer first */
+    for (int8_t i = 31; i >= 0; i--) {
+        if (layers & (1UL<<i)) {
+            action = action_for_key(i, key);
+            if (action.code != ACTION_TRANSPARENT) {
+                return action;
+            }
+        }
+    }
+    /* fall back to layer 0 */
+    action = action_for_key(0, key);
+    return action;
+#else
+    action = action_for_key(biton32(default_layer_state), key);
+    return action;
+#endif
+}
diff --git a/common/action_layer.h b/common/action_layer.h
new file mode 100644 (file)
index 0000000..23f8a00
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+Copyright 2013 Jun Wako <wakojun@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+#ifndef ACTION_LAYER_H
+#define ACTION_LAYER_H
+
+#include <stdint.h>
+#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
index c954ff02f4fc2ed7101e74ef02fde998dc340fd0..dc06c6da35d642d7d5ae42a940dfeed308ae68ac 100644 (file)
@@ -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"
index ace3f49b69c01303a9a601b7f097086c4ec9b214..c98ce09b66f7efb3df3f9ea093a7a22efdbcc3d3 100644 (file)
@@ -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"
diff --git a/common/layer_switch.c b/common/layer_switch.c
deleted file mode 100644 (file)
index 9905741..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#include <stdint.h>
-#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<<layer);
-}
-
-#ifndef NO_ACTION_LAYER
-void default_layer_or(uint32_t state)
-{
-    default_layer_state_set(default_layer_state | state);
-}
-void default_layer_and(uint32_t state)
-{
-    default_layer_state_set(default_layer_state & state);
-}
-void default_layer_xor(uint32_t state)
-{
-    default_layer_state_set(default_layer_state ^ state);
-}
-#endif
-
-
-#ifndef NO_ACTION_LAYER
-/* 
- * Keymap Layer State
- */
-uint32_t layer_state = 0;
-
-static void layer_state_set(uint32_t state)
-{
-    debug("layer_state: ");
-    layer_debug(); debug(" to ");
-    layer_state = state;
-    layer_debug(); debug("\n");
-    clear_keyboard_but_mods(); // To avoid stuck keys
-}
-
-void layer_clear(void)
-{
-    layer_state_set(0);
-}
-
-void layer_move(uint8_t layer)
-{
-    layer_state_set(1UL<<layer);
-}
-
-void layer_on(uint8_t layer)
-{
-    layer_state_set(layer_state | (1UL<<layer));
-}
-
-void layer_off(uint8_t layer)
-{
-    layer_state_set(layer_state & ~(1UL<<layer));
-}
-
-void layer_invert(uint8_t layer)
-{
-    layer_state_set(layer_state ^ (1UL<<layer));
-}
-
-void layer_or(uint32_t state)
-{
-    layer_state_set(layer_state | state);
-}
-void layer_and(uint32_t state)
-{
-    layer_state_set(layer_state & state);
-}
-void layer_xor(uint32_t state)
-{
-    layer_state_set(layer_state ^ state);
-}
-
-void layer_debug(void)
-{
-    debug_hex32(layer_state);
-    debug("("); debug_dec(biton32(layer_state)); debug(")");
-}
-#endif
-
-
-
-action_t layer_switch_get_action(key_t key)
-{
-    action_t action;
-    action.code = ACTION_TRANSPARENT;
-
-#ifndef NO_ACTION_LAYER
-    uint32_t layers = layer_state | default_layer_state;
-    /* check top layer first */
-    for (int8_t i = 31; i >= 0; i--) {
-        if (layers & (1UL<<i)) {
-            action = action_for_key(i, key);
-            if (action.code != ACTION_TRANSPARENT) {
-                return action;
-            }
-        }
-    }
-    /* fall back to layer 0 */
-    action = action_for_key(0, key);
-    return action;
-#else
-    action = action_for_key(biton32(default_layer_state), key);
-    return action;
-#endif
-}
diff --git a/common/layer_switch.h b/common/layer_switch.h
deleted file mode 100644 (file)
index ed8dfb5..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-Copyright 2013 Jun Wako <wakojun@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-#ifndef LAYER_SWITCH_H
-#define LAYER_SWITCH_H
-
-#include <stdint.h>
-#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
index 279b2b60c0532513fa99549c177f0224baaaaede..3ab0a4dbea0d8c43c0e668ab083bae3259d07a8a 100644 (file)
@@ -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)]);
     }
 }
 
index d03aaf10d1b3d562998c0008cbc03232225b1e9b..8833e0a851badc6cc1693771a48fe64e5f07554b 100644 (file)
@@ -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);
index 2f41ad4fdc583c474a771076791fbb9885887f76..6db4d3db005405f507c555772866c100cc0cf443 100644 (file)
@@ -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"
index f3d6bfa2efb435bba9224778dea2b7952f108069..609edb5e1b9ba5f01ca580b87beafda66603e1fe 100644 (file)
@@ -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)]);
     }
 }