]> git.friedersdorff.com Git - max/tmk_keyboard.git/blob - keyboard/gh60/keymap_poker_bit.c
ibmpc: Add ibmpc_host_clear_isr
[max/tmk_keyboard.git] / keyboard / gh60 / keymap_poker_bit.c
1 #include "keymap_common.h"
2
3 // Poker fix with toggle and bit operation
4 // Fn + Esc = `
5 // Fn + {left, down, up, right}  = {home, pgdown, pgup, end}
6 const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
7     /* 0: qwerty */
8     KEYMAP_ANSI(
9         GRV, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC, \
10         TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS, \
11         LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,     ENT,  \
12         LSFT,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,          RSFT, \
13         LCTL,LGUI,LALT,          SPC,                     FN0, RGUI,APP, RCTL),
14     /* 4: Poker Default + Fn'd */
15     [4] = KEYMAP_ANSI(
16         TRNS,F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
17         CAPS,FN2, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
18         TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN4, END,      TRNS, \
19         TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
20         TRNS,TRNS,TRNS,          FN1,                     TRNS,TRNS,TRNS,TRNS),
21     /* 5: Poker with Arrow */
22     KEYMAP_ANSI(
23         TRNS,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,TRNS,TRNS, \
25         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
26         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          PGUP, \
27         TRNS,TRNS,TRNS,          TRNS,                    FN3, HOME,PGDN,END),
28     /* 6: Poker with Esc */
29     KEYMAP_ANSI(
30         ESC, 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,TRNS,TRNS,TRNS, \
32         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
33         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          TRNS, \
34         TRNS,TRNS,TRNS,          TRNS,                    TRNS,TRNS,TRNS,TRNS),
35     /* 7: Poker with Arrow + Fn'd */
36     KEYMAP_ANSI(
37         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
38         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
39         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,     TRNS, \
40         TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,          UP,   \
41         TRNS,TRNS,TRNS,          TRNS,                    TRNS,LEFT,DOWN,RGHT),
42 };
43 const action_t PROGMEM fn_actions[] = {
44     /* Poker Layout */
45     [0] = ACTION_LAYER_BIT_XOR(1, 0b0101, ON_BOTH),   // Poker Fn(with fix for Esc)
46     [1] = ACTION_LAYER_TOGGLE(5),                     // Poker Arrow toggle
47     [2] = ACTION_LAYER_TOGGLE(6),                     // Poker Esc toggle
48     [3] = ACTION_LAYER_BIT_XOR(1, 0b1101, ON_BOTH),   // Poker Fn(with fix for Arrow)
49     [4] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN3 Task(RControl,RShift+Esc)
50 };