~ruther/qmk_firmware

0142b571c46c7db314063615c956cbc5ec9720f1 — tmk 12 years ago d9f2875
Add keymaps of gh60

- keymap_poker.h            poker emulation
- keymap_poker_set.h        poker emulation with Esc fix and cursor fix
- keymap_poker_bit.h        poker emulation with Esc fix and cursor fix
M keyboard/gh60/Makefile.lufa => keyboard/gh60/Makefile.lufa +5 -2
@@ 125,5 125,8 @@ plain: all
poker: OPT_DEFS += -DKEYMAP_POKER
poker: all

poker_stack: OPT_DEFS += -DKEYMAP_POKER_STACK
poker_stack: all
poker_bit: OPT_DEFS += -DKEYMAP_POKER_SET
poker_bit: all

poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT
poker_bit: all

M keyboard/gh60/Makefile.pjrc => keyboard/gh60/Makefile.pjrc +5 -2
@@ 95,5 95,8 @@ plain: all
poker: OPT_DEFS += -DKEYMAP_POKER
poker: all

poker_stack: OPT_DEFS += -DKEYMAP_POKER_STACK
poker_stack: all
poker_bit: OPT_DEFS += -DKEYMAP_POKER_SET
poker_bit: all

poker_bit: OPT_DEFS += -DKEYMAP_POKER_BIT
poker_bit: all

M keyboard/gh60/README.md => keyboard/gh60/README.md +1 -1
@@ 47,7 47,7 @@ See [keymap_plain.h](keymap_plain.h) for detail.
    `-----------------------------------------------------------'

### 2  Poker keymap
Poker layer emulation without Esc/grave bug :)
Poker layer emulation

See [keymap_poker.h](keymap_poker.h) for detail.


M keyboard/gh60/keymap.c => keyboard/gh60/keymap.c +4 -2
@@ 64,8 64,10 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
    #include "keymap_plain.h"
#elif defined(KEYMAP_POKER)
    #include "keymap_poker.h"
#elif defined(KEYMAP_POKER_STACK)
    #include "keymap_poker_stack.h"
#elif defined(KEYMAP_POKER_SET)
    #include "keymap_poker_set.h"
#elif defined(KEYMAP_POKER_BIT)
    #include "keymap_poker_bit.h"
#else
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /*

R keyboard/gh60/keymap_poker.h => keyboard/gh60/keymap_poker_bit.h +38 -24
@@ 20,44 20,59 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
        TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS, \
        LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,  \
        LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT, \
        LCTL,LGUI,LALT,          SPC,                     FN3, RGUI,APP, RCTL),
    /* Layer 1: Poker with Arrow */
        LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
    /* Layer x001: Poker with Arrow */
    KEYMAP_ANSI(
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
        TRNS,TRNS,TRNS,          TRNS,                    FN4, LEFT,DOWN,RGHT),
    /* Layer 2: Poker with Esc */
        TRNS,TRNS,TRNS,          TRNS,                    FN2, LEFT,DOWN,RGHT),
    /* Layer x010: Poker with Esc */
    KEYMAP_ANSI(
        ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS, \
        TRNS,TRNS,TRNS,          TRNS,                    FN5, TRNS,TRNS,TRNS),
    /* Layer 3: Poker Default + Fn'd */
        TRNS,TRNS,TRNS,          TRNS,                    FN2, TRNS,TRNS,TRNS),
    /* Layer x011: Poker with Arrow and Esc */
    KEYMAP_ANSI(
        ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
        TRNS,TRNS,TRNS,          TRNS,                    FN2, LEFT,DOWN,RGHT),
    /*
     * Poker Momentary Fn Layer
     */
    /* Layer x100: Poker Default + Fn'd */
    KEYMAP_ANSI(
        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN0, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           UP,   \
        TRNS,TRNS,TRNS,          FN0,                     FN3, LEFT,DOWN,RGHT),

    /* Layer 4: Poker Default + Fn'd */
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
        TRNS,TRNS,TRNS,          FN0,                     FN2, TRNS,TRNS,TRNS),
    /* Layer x101: Poker with Arrow + Fn'd */
    KEYMAP_ANSI(
        TRNS F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN0, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           UP,   \
        TRNS,TRNS,TRNS,          FN0,                     FN4, HOME,PGDN,END),
    /* Layer 5: Poker Default + Fn'd */
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
        TRNS,TRNS,TRNS,          FN0,                     FN2, HOME,PGDN,END),
    /* Layer x110: Poker with Esc + Fn'd */
    KEYMAP_ANSI(
        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN0, END,      TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
        TRNS,TRNS,TRNS,          FN0,                     FN5, TRNS,TRNS,TRNS),

        TRNS,TRNS,TRNS,          FN0,                     FN2, TRNS,TRNS,TRNS),
    /* Layer x111: Poker with Arrow and Esc + Fn'd */
    KEYMAP_ANSI(
        GRV, F9,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        CAPS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
        TRNS,TRNS,TRNS,          FN0,                     FN2, HOME,PGDN,END),
    /* colemak */
    [8] = KEYMAP_ANSI(
        GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \


@@ 86,10 101,9 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 */
static const uint16_t PROGMEM fn_actions[] = {
    /* Poker Layout */
    [0] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN0 Task(RControl,RShift+Esc)
    [0] = ACTION_LAYER_BIT_TOGGLE(1),              // FN1 Poker Arrow toggle(Space)
    [1] = ACTION_LAYER_BIT_TOGGLE(2),              // FN2 Poker Esc toggle(Q)
    [2] = ACTION_LAYER_BIT(3),                     // FN3 Poker Fn
    [3] = ACTION_LAYER_BIT(4),                     // FN4 Poker Fn
    [0] = ACTION_LAYER_BIT_TOGGLE(1),              // FN0 Poker Arrow toggle(Space)
    [1] = ACTION_LAYER_BIT_TOGGLE(2),              // FN1 Poker Esc toggle(Q)
    [2] = ACTION_LAYER_BIT(4),                     // FN2 Poker Fn
    [3] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN3 Task(RControl,RShift+Esc)
};


R keyboard/gh60/keymap_poker_stack.h => keyboard/gh60/keymap_poker_set.h +69 -36
@@ 1,8 1,5 @@
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    /*
     * Poker Layer
     */
    /* Layer x000: Poker Default Layer
    /* Poker Default Layer
     * ,-----------------------------------------------------------.
     * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
     * |-----------------------------------------------------------|


@@ 15,54 12,83 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     * |Ctrl|Gui |Alt |      Space             |Fn  |Gui |App |Ctrl|
     * `-----------------------------------------------------------'
     */
    /* Layer 0: qwerty */
    KEYMAP_ANSI(
        GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \
        TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS, \
        LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,  \
        LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT, \
        LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
    /* Layer 1: Poker with Arrow */
    KEYMAP_ANSI(
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
        TRNS,TRNS,TRNS,          TRNS,                    TRNS,LEFT,DOWN,RGHT),
    /* Layer 2: Poker with Esc */
        LCTL,LGUI,LALT,          SPC,                     FN0, RGUI,APP, RCTL),
    /* Layer 1: colemak */
    KEYMAP_ANSI(
        ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS, \
        TRNS,TRNS,TRNS,          TRNS,                    TRNS,TRNS,TRNS,TRNS),
    /* Layer 3: Poker Fn'd */
    KEYMAP_ANSI(
        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        TRNS,FN1, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN3, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
        TRNS,TRNS,TRNS,          FN0,                     TRNS,TRNS,TRNS,TRNS),
    /* colemak */
    [4] = KEYMAP_ANSI(
        GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \
        TAB, Q,   W,   F,   P,   G,   J,   L,   U,   Y,   SCLN,LBRC,RBRC,BSLS, \
        BSPC,A,   R,   S,   T,   D,   H,   N,   E,   I,   O,   QUOT,     ENT,  \
        LSFT,Z,   X,   C,   V,   B,   K,   M,   COMM,DOT, SLSH,          RSFT, \
        LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
    /* dvorak */
        LCTL,LGUI,LALT,          SPC,                     FN0, RGUI,APP, RCTL),
    /* Layer 2: dvorak */
    KEYMAP_ANSI(
        GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   LBRC,RBRC,BSPC, \
        TAB, QUOT,COMM,DOT, P,   Y,   F,   G,   C,   R,   L,   SLSH,EQL, BSLS, \
        CAPS,A,   O,   E,   U,   I,   D,   H,   T,   N,   S,   MINS,     ENT,  \
        LSFT,SCLN,Q,   J,   K,   X,   B,   M,   W,   V,   Z,             RSFT, \
        LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
    /* workman */
        LCTL,LGUI,LALT,          SPC,                     FN0, RGUI,APP, RCTL),
    /* Layer3: workman */
    KEYMAP_ANSI(
        GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \
        TAB, Q,   D,   R,   W,   B,   J,   F,   U,   P,   SCLN,LBRC,RBRC,BSLS, \
        BSPC,A,   S,   H,   T,   G,   Y,   N,   E,   O,   I,   QUOT,     ENT,  \
        LSFT,Z,   X,   M,   C,   V,   K,   L,   COMM,DOT, SLSH,          RSFT, \
        LCTL,LGUI,LALT,          SPC,                     FN2, RGUI,APP, RCTL),
        LCTL,LGUI,LALT,          SPC,                     FN0, RGUI,APP, RCTL),
    /* Layer 4: Poker with Arrow */
    KEYMAP_ANSI(
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
        TRNS,TRNS,TRNS,          TRNS,                    FN1, LEFT,DOWN,RGHT),
    /* Layer 5: Poker with Esc */
    KEYMAP_ANSI(
        ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS, \
        TRNS,TRNS,TRNS,          TRNS,                    FN2, TRNS,TRNS,TRNS),
    /* Layer 6: Poker with Arrow and Esc */
    KEYMAP_ANSI(
        ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
        TRNS,TRNS,TRNS,          TRNS,                    FN3, LEFT,DOWN,RGHT),
    /* Layer 7: Poker Fn'd */
    KEYMAP_ANSI(
        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        TRNS,FN6, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
        TRNS,TRNS,TRNS,          FN5,                     FN4, TRNS,TRNS,TRNS),
    /* Layer 8: Poker Fn'd arrow */
    KEYMAP_ANSI(
        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        TRNS,FN7, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
        TRNS,TRNS,TRNS,          FN4,                     FN5, HOME,PGDN,END),
    /* Layer 9: Poker Fn'd Esc */
    KEYMAP_ANSI(
        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        TRNS,FN4, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
        TRNS,TRNS,TRNS,          FN7,                     FN6, TRNS,TRNS,TRNS),
    /* Layer 10: Poker Fn'd Arrow + Esc */
    KEYMAP_ANSI(
        GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
        TRNS,FN5, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
        TRNS,TRNS,TRNS,          FN6,                     FN7, HOME,PGDN,END),
};

/*


@@ 70,8 96,15 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 */
static const uint16_t PROGMEM fn_actions[] = {
    /* Poker Layout */
    [0] = ACTION_LAYER_SWITCH_TOGGLE(1),              // FN0 Poker Arrow toggle(Space)
    [1] = ACTION_LAYER_SWITCH_TOGGLE(2),              // FN1 Poker Esc toggle(Q)
    [2] = ACTION_LAYER_SWITCH(3),                     // FN2 Poker Fn
    [3] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN3 Task(RControl,RShift+Esc)
    [0] = ACTION_LAYER_SET_P(7),     // FN0 move to Fn'd             when press
    [1] = ACTION_LAYER_SET_P(8),     // FN1 move to Fn'd arrow       when press
    [2] = ACTION_LAYER_SET_P(9),     // FN2 move to Fn'd Esc         when press
    [3] = ACTION_LAYER_SET_P(10),    // FN3 move to Fn'd arrow + Esc when press

    [4] = ACTION_LAYER_SET_R(0),     // FN4 move to default          when release
    [5] = ACTION_LAYER_SET_R(4),     // FN5 move to arrow            when release
    [6] = ACTION_LAYER_SET_R(5),     // FN6 move to Esc              when release
    [7] = ACTION_LAYER_SET_R(6),     // FN7 move to arrow + Esc      when release

    [8] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN8 Task(RControl,RShift+Esc)
};