-// TODO: use [1] = KEYMAP(...) to prevent from changing index of element?
-static const uint16_t PROGMEM fn_actions[] = {
- ACTION_DEFAULT_LAYER, // FN0
- ACTION_KEYMAP(1), // FN1
- ACTION_KEYMAP_TAP_KEY(2, KC_SLASH), // FN2 Layer with Slash
- ACTION_KEYMAP_TAP_KEY(3, KC_SCLN), // FN3 Layer with Semicolon
-
- ACTION_KEYMAP(3), // FN4
-// ACTION_KEYMAP_TOGGLE(3), // FN4
-// ACTION_FUNCTION(MACRO, 0), // FN4
- ACTION_KEYMAP_TAP_KEY(5, KC_SPC), // FN5
-// ACTION_LMOD_TAP_KEY(KC_LCTL, KC_BSPC), // FN6 Control with tap Backspace
- ACTION_LMOD_TAP_KEY(KC_LCTL, KC_ESC), // FN6 Control with tap Backspace
- ACTION_RMOD_TAP_KEY(KC_RCTL, KC_ENT), // FN7 Control with tap Enter
- ACTION_LMOD_ONESHOT(KC_LSFT), // FN8 Oneshot Shift
- [9] = ACTION_KEYMAP_TAP_TOGGLE(1), // FN9
- [11] = ACTION_FUNCTION_TAP(LSHIFT_LPAREN), // FN11 Function: LShift with tap '('
- [12] = ACTION_FUNCTION_TAP(RSHIFT_RPAREN), // FN12 Function: RShift with tap ')'
- [13] = ACTION_MACRO(SHIFT_D),
- [14] = ACTION_MACRO(HELLO),
+#ifdef KEYMAP_SECTION_ENABLE
+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*
+ [3] = ACTION_LAYER_TAP_KEY(3, KC_SCLN), // Mousekey layer with Semicolon*
+ [4] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT), // RControl with tap Enter*
+ [5] = ACTION_MODS_ONESHOT(MOD_LSFT), // Oneshot Shift*
+ [6] = ACTION_LAYER_TAP_KEY(5, KC_SPC), // Mousekey layer with Space
+ [7] = ACTION_LAYER_TOGGLE(3), // Mousekey layer(toggle)
+ [8] = ACTION_MODS_KEY(MOD_LCTL, KC_W), // Close Tab
+
+// [8] = ACTION_LMOD_TAP_KEY(KC_LCTL, KC_BSPC), // LControl with tap Backspace
+// [9] = ACTION_LMOD_TAP_KEY(KC_LCTL, KC_ESC), // LControl with tap Esc
+// [11] = ACTION_FUNCTION_TAP(LSHIFT_LPAREN), // Function: LShift with tap '('
+// [12] = ACTION_FUNCTION_TAP(RSHIFT_RPAREN), // Function: RShift with tap ')'
+// [13] = ACTION_MACRO_TAP(LSHIFT_PAREN), // Macro: LShift with tap '('
+// [14] = ACTION_MACRO_TAP(RSHIFT_PAREN), // Macro: RShift with tap ')'
+// [15] = ACTION_MACRO(HELLO), // Macro: say hello
+// [9] = ACTION_MACRO(VOLUP), // Macro: media key