diff options
| author | tmk <nobody@nowhere> | 2013-09-11 14:04:33 +0900 | 
|---|---|---|
| committer | tmk <nobody@nowhere> | 2013-09-11 14:04:33 +0900 | 
| commit | da24259632f79dad8ecc11d887d58a1e36bd5af8 (patch) | |
| tree | 63ae148e3e6c0be4cd0ef35bf9db0162abae3af4 /keyboard | |
| parent | 60103a12b2ca0a572da1e72eb46bff19c499fc95 (diff) | |
| parent | 259c4a040af658552d7a003655572c33d8fcef83 (diff) | |
Merge branch 'keymap_section'
Diffstat (limited to 'keyboard')
| -rw-r--r-- | keyboard/hhkb/Makefile | 14 | ||||
| -rw-r--r-- | keyboard/hhkb/keymap.c | 19 | 
2 files changed, 19 insertions, 14 deletions
| diff --git a/keyboard/hhkb/Makefile b/keyboard/hhkb/Makefile index 1ef0a0187a..34bafc24fc 100644 --- a/keyboard/hhkb/Makefile +++ b/keyboard/hhkb/Makefile @@ -111,12 +111,13 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096  # Build Options  #   comment out to disable the options.  # -BOOTMAGIC_ENABLE = yes	# Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes	# Mouse keys -EXTRAKEY_ENABLE = yes	# Audio control and System control -CONSOLE_ENABLE = yes	# Console for debug -COMMAND_ENABLE = yes    # Commands for debug and configuration -NKRO_ENABLE = yes	# USB Nkey Rollover +BOOTMAGIC_ENABLE = yes		# Virtual DIP switch configuration +MOUSEKEY_ENABLE = yes		# Mouse keys +EXTRAKEY_ENABLE = yes		# Audio control and System control +CONSOLE_ENABLE = yes		# Console for debug +COMMAND_ENABLE = yes    	# Commands for debug and configuration +NKRO_ENABLE = yes		# USB Nkey Rollover +KEYMAP_SECTION_ENABLE = yes	# fixed address keymap for keymap editor  # Search Path @@ -128,4 +129,5 @@ include $(TOP_DIR)/common.mk  include $(TOP_DIR)/rules.mk  debug-on: EXTRAFLAGS += -DDEBUG +#debug-on: EXTRAFLAGS += -DDEBUG -DDEBUG_ACTION  debug-on: all diff --git a/keyboard/hhkb/keymap.c b/keyboard/hhkb/keymap.c index faa62dd7e1..5c3bc9de6f 100644 --- a/keyboard/hhkb/keymap.c +++ b/keyboard/hhkb/keymap.c @@ -48,8 +48,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.      { KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74, KC_##K75, KC_##K76, KC_NO    } \  } - -static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +#ifdef KEYMAP_SECTION +const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] __attribute__ ((section (".keymap.keymaps"))) = { +#else +static const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = { +#endif      /* Layer 0: Default Layer       * ,-----------------------------------------------------------.       * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|  `| @@ -186,7 +189,11 @@ enum macro_id {  /*   * Fn action definition   */ -static const uint16_t PROGMEM fn_actions[] = { +#ifdef KEYMAP_SECTION +const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = { +#else +static const uint16_t fn_actions[] PROGMEM = { +#endif      [0] = ACTION_DEFAULT_LAYER_SET(0),                // Default layer(not used)      [1] = ACTION_LAYER_TAP_TOGGLE(1),                 // HHKB layer(toggle with 5 taps)      [2] = ACTION_LAYER_TAP_KEY(2, KC_SLASH),          // Cursor layer with Slash* @@ -310,10 +317,6 @@ uint8_t keymap_key_to_keycode(uint8_t layer, key_t key)  action_t keymap_fn_to_action(uint8_t keycode)  {      action_t action; -    if (FN_INDEX(keycode) < sizeof(fn_actions) / sizeof(fn_actions[0])) { -        action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]); -    } else { -        action.code = ACTION_NO; -    } +    action.code = pgm_read_word(&fn_actions[FN_INDEX(keycode)]);      return action;  } | 
