]> git.donarmstrong.com Git - tmk_firmware.git/blob - keyboard/gh60/keymap_poker_set.h
Fix keymap of gh60
[tmk_firmware.git] / keyboard / gh60 / keymap_poker_set.h
1 // Poker fix with set(state transition)
2 // Fn + Esc = `
3 // Fn + {left, down, up, right}  = {home, pgdown, pgup, end}
4 static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
5     /* 0: qwerty */
6     KEYMAP_ANSI(
7         GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \
8         TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS, \
9         LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,  \
10         LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT, \
11         LCTL,LGUI,LALT,          SPC,                     FN0, RGUI,APP, RCTL),
12     /* 1: Poker with Arrow */
13     KEYMAP_ANSI(
14         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
15         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
16         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
17         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
18         TRNS,TRNS,TRNS,          TRNS,                    FN1, LEFT,DOWN,RGHT),
19     /* 2: Poker with Esc */
20     KEYMAP_ANSI(
21         ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
22         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
23         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
24         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS, \
25         TRNS,TRNS,TRNS,          TRNS,                    FN2, TRNS,TRNS,TRNS),
26     /* 3: Poker with Arrow and Esc */
27     KEYMAP_ANSI(
28         ESC, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
29         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
30         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
31         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
32         TRNS,TRNS,TRNS,          TRNS,                    FN3, LEFT,DOWN,RGHT),
33     /* 4: Poker Fn'd */
34     KEYMAP_ANSI(
35         ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
36         TRNS,FN6, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
37         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
38         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
39         TRNS,TRNS,TRNS,          FN5,                     FN4, TRNS,TRNS,TRNS),
40     /* 5: Poker Fn'd arrow */
41     KEYMAP_ANSI(
42         ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
43         TRNS,FN7, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
44         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
45         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
46         TRNS,TRNS,TRNS,          FN4,                     FN5, HOME,PGDN,END),
47     /* 6: Poker Fn'd Esc */
48     KEYMAP_ANSI(
49         GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
50         TRNS,FN4, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
51         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
52         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
53         TRNS,TRNS,TRNS,          FN7,                     FN6, TRNS,TRNS,TRNS),
54     /* 7: Poker Fn'd Arrow + Esc */
55     KEYMAP_ANSI(
56         GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
57         TRNS,FN5, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
58         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN8, END,      TRNS, \
59         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           PGUP, \
60         TRNS,TRNS,TRNS,          FN6,                     FN7, HOME,PGDN,END),
61 };
62
63 /*
64  * Fn action definition
65  */
66 static const uint16_t PROGMEM fn_actions[] = {
67     /* Poker Layout */
68     [0] = ACTION_LAYER_SET(4, ON_PRESS),     // FN0 move to Fn'd             when press
69     [1] = ACTION_LAYER_SET(5, ON_PRESS),     // FN1 move to Fn'd arrow       when press
70     [2] = ACTION_LAYER_SET(6, ON_PRESS),     // FN2 move to Fn'd Esc         when press
71     [3] = ACTION_LAYER_SET(7, ON_PRESS),     // FN3 move to Fn'd arrow + Esc when press
72
73     //[4] = ACTION_LAYER_CLEAR(ON_RELEASE),    // FN4 clear overlay            when release
74     [4] = ACTION_LAYER_SET(0, ON_RELEASE),   // FN4 clear overlay            when release
75     [5] = ACTION_LAYER_SET(1, ON_RELEASE),   // FN5 move to arrow            when release
76     [6] = ACTION_LAYER_SET(2, ON_RELEASE),   // FN6 move to Esc              when release
77     [7] = ACTION_LAYER_SET(3, ON_RELEASE),   // FN7 move to arrow + Esc      when release
78
79     [8] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN8 Task(RControl,RShift+Esc)
80 };