@ -1,88 +1,59 @@
/ / Poker fix with set ( state transition )
/ / Fn + Esc = `
/ / Fn + { left , down , up , right } = { home , pgdown , pgup , end }
static const uint8_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
static const uint8_t PROGMEM keymaps [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/* Poker Default Layer
* , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - .
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backsp |
* | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
* | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
* | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
* | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Return |
* | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
* | Shift | Z | X | C | V | B | N | M | , | . | / | Shift |
* | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
* | Ctrl | Gui | Alt | Space | Fn | Gui | App | Ctrl |
* ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '
*/
/* Layer 0: qwerty */
/* Keymap 0: qwerty */
KEYMAP_ANSI (
KEYMAP_ANSI (
GRV , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , MINS , EQL , BSPC , \
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 , \
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 , \
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 , \
LSFT , Z , X , C , V , B , N , M , COMM , DOT , SLSH , RSFT , \
LCTL , LGUI , LALT , SPC , FN0 , RGUI , APP , RCTL ) ,
LCTL , LGUI , LALT , SPC , FN0 , RGUI , APP , RCTL ) ,
/* Layer 1: colemak */
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 , 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 , 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 , FN0 , RGUI , APP , RCTL ) ,
/* Layer 4: Poker with Arrow */
} ;
static const uint8_t PROGMEM overlays [ ] [ MATRIX_ROWS ] [ MATRIX_COLS ] = {
/* Overlay 0: Poker with Arrow */
KEYMAP_ANSI (
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 , 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 , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , UP , \
TRNS , TRNS , TRNS , TRNS , FN1 , LEFT , DOWN , RGHT ) ,
TRNS , TRNS , TRNS , TRNS , FN1 , LEFT , DOWN , RGHT ) ,
/* Layer 5 : Poker with Esc */
/* Overlay 1: Poker with Esc */
KEYMAP_ANSI (
KEYMAP_ANSI (
ESC , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , \
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 , 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 ) ,
TRNS , TRNS , TRNS , TRNS , FN2 , TRNS , TRNS , TRNS ) ,
/* Layer 6 : Poker with Arrow and Esc */
/* Overlay 2: Poker with Arrow and Esc */
KEYMAP_ANSI (
KEYMAP_ANSI (
ESC , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , \
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 , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , \
TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , UP , \
TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , UP , \
TRNS , TRNS , TRNS , TRNS , FN3 , LEFT , DOWN , RGHT ) ,
TRNS , TRNS , TRNS , TRNS , FN3 , LEFT , DOWN , RGHT ) ,
/* Layer 7 : Poker Fn'd */
/* Overlay 3 : Poker Fn'd */
KEYMAP_ANSI (
KEYMAP_ANSI (
ESC , 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 , \
TRNS , FN6 , UP , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , CALC , TRNS , HOME , INS , 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 , 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 , DEL , TRNS , WHOM , MUTE , VOLU , VOLD , TRNS , PGUP , PGDN , DEL , TRNS , \
TRNS , TRNS , TRNS , FN5 , FN4 , TRNS , TRNS , TRNS ) ,
TRNS , TRNS , TRNS , FN5 , FN4 , TRNS , TRNS , TRNS ) ,
/* Layer 8 : Poker Fn'd arrow */
/* Overlay 4 : Poker Fn'd arrow */
KEYMAP_ANSI (
KEYMAP_ANSI (
ESC , 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 , \
TRNS , FN7 , UP , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , CALC , TRNS , HOME , INS , 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 , 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 , DEL , TRNS , WHOM , MUTE , VOLU , VOLD , TRNS , PGUP , PGDN , DEL , PGUP , \
TRNS , TRNS , TRNS , FN4 , FN5 , HOME , PGDN , END ) ,
TRNS , TRNS , TRNS , FN4 , FN5 , HOME , PGDN , END ) ,
/* Layer 9 : Poker Fn'd Esc */
/* Overlay 5 : Poker Fn'd Esc */
KEYMAP_ANSI (
KEYMAP_ANSI (
GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10 , F11 , F12 , TRNS , \
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 , 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 , 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 , DEL , TRNS , WHOM , MUTE , VOLU , VOLD , TRNS , PGUP , PGDN , DEL , TRNS , \
TRNS , TRNS , TRNS , FN7 , FN6 , TRNS , TRNS , TRNS ) ,
TRNS , TRNS , TRNS , FN7 , FN6 , TRNS , TRNS , TRNS ) ,
/* Layer 10 : Poker Fn'd Arrow + Esc */
/* Overlay 6 : Poker Fn'd Arrow + Esc */
KEYMAP_ANSI (
KEYMAP_ANSI (
GRV , F1 , F2 , F3 , F4 , F5 , F6 , F7 , F8 , F9 , F10 , F11 , F12 , TRNS , \
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 , FN5 , UP , TRNS , TRNS , TRNS , TRNS , TRNS , TRNS , CALC , TRNS , HOME , INS , TRNS , \
@ -96,15 +67,15 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
*/
static const uint16_t PROGMEM fn_actions [ ] = {
static const uint16_t PROGMEM fn_actions [ ] = {
/* Poker Layout */
/* Poker Layout */
[ 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
[ 0 ] = ACTION_OVER LAY_SET_P ( 3 ) , / / FN0 move to Fn ' d when press
[ 1 ] = ACTION_OVER LAY_SET_P ( 4 ) , / / FN1 move to Fn ' d arrow when press
[ 2 ] = ACTION_OVER LAY_SET_P ( 5 ) , / / FN2 move to Fn ' d Esc when press
[ 3 ] = ACTION_OVER LAY_SET_P ( 6 ) , / / 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
[ 4 ] = ACTION_OVERLAY_CLEAR , / / FN4 clear overlay when release
[ 5 ] = ACTION_OVER LAY_SET_R ( 0 ) , / / FN5 move to arrow when release
[ 6 ] = ACTION_OVER LAY_SET_R ( 1 ) , / / FN6 move to Esc when release
[ 7 ] = ACTION_OVER LAY_SET_R ( 2 ) , / / 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 )
[ 8 ] = ACTION_RMODS_KEY ( MOD_BIT ( KC_RCTL ) | MOD_BIT ( KC_RSFT ) , KC_ESC ) , / / FN8 Task ( RControl , RShift + Esc )
} ;
} ;