forked from mirrors/qmk_userspace
		
	Fix keymap of gh60
This commit is contained in:
		
					parent
					
						
							
								f9a7e224a4
							
						
					
				
			
			
				commit
				
					
						489fd75fdf
					
				
			
		
					 6 changed files with 52 additions and 57 deletions
				
			
		| 
						 | 
				
			
			@ -40,7 +40,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 *
 | 
			
		||||
 * Other Keys(01xx)
 | 
			
		||||
 * ----------------
 | 
			
		||||
 * ACT_USAGE(0100):
 | 
			
		||||
 * ACT_USAGE(0100): TODO: Not needed?
 | 
			
		||||
 * 0100|00| usage(10)     System control(0x80) - General Desktop page(0x01)
 | 
			
		||||
 * 0100|01| usage(10)     Consumer control(0x01) - Consumer page(0x0C)
 | 
			
		||||
 * 0100|10| usage(10)     (reserved)
 | 
			
		||||
| 
						 | 
				
			
			@ -66,6 +66,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
 *   ee:    on event(00:default layer, 01:press, 10:release, 11:both)
 | 
			
		||||
 *
 | 
			
		||||
 * 1001|xxxx|xxxx xxxx   (reserved)
 | 
			
		||||
 * 1001|oopp|BBBB BBBB   8-bit Bitwise Operation???
 | 
			
		||||
 *
 | 
			
		||||
 * ACT_LAYER_TAP(101x):
 | 
			
		||||
 * 101E|LLLL| keycode    Invert with tap key
 | 
			
		||||
| 
						 | 
				
			
			@ -240,8 +241,10 @@ enum layer_pram_tap_op {
 | 
			
		|||
};
 | 
			
		||||
#define ACTION_LAYER_BITOP(op, part, bits, on)      (ACT_LAYER<<12 | (op)<<10 | (on)<<8 | (part)<<5 | ((bits)&0x1f))
 | 
			
		||||
#define ACTION_LAYER_TAP(layer, key)                (ACT_LAYER_TAP<<12 | (layer)<<8 | (key))
 | 
			
		||||
/* Default Layer */
 | 
			
		||||
#define ACTION_DEFAULT_LAYER_SET(layer)             ACTION_DEFAULT_LAYER_BIT_SET((layer)/4, 1<<((layer)%4))
 | 
			
		||||
/* Layer Operation */
 | 
			
		||||
#define ACTION_LAYER_CLEAR(on)                      ACTION_LAYER_AND(0x1f, (on))
 | 
			
		||||
#define ACTION_LAYER_CLEAR(on)                      ACTION_LAYER_BIT_AND(0, 0, (on))
 | 
			
		||||
#define ACTION_LAYER_MOMENTARY(layer)               ACTION_LAYER_ON_OFF(layer)
 | 
			
		||||
#define ACTION_LAYER_TOGGLE(layer)                  ACTION_LAYER_INVERT(layer, ON_RELEASE)
 | 
			
		||||
#define ACTION_LAYER_INVERT(layer, on)              ACTION_LAYER_BIT_XOR((layer)/4,   1<<((layer)%4),  (on))
 | 
			
		||||
| 
						 | 
				
			
			@ -251,21 +254,19 @@ enum layer_pram_tap_op {
 | 
			
		|||
#define ACTION_LAYER_ON_OFF(layer)                  ACTION_LAYER_TAP((layer), OP_ON_OFF)
 | 
			
		||||
#define ACTION_LAYER_OFF_ON(layer)                  ACTION_LAYER_TAP((layer), OP_OFF_ON)
 | 
			
		||||
#define ACTION_LAYER_SET_CLEAR(layer)               ACTION_LAYER_TAP((layer), OP_SET_CLEAR)
 | 
			
		||||
/* With Tapping */
 | 
			
		||||
#define ACTION_LAYER_TAP_KEY(layer, key)            ACTION_LAYER_TAP((layer), (key))
 | 
			
		||||
#define ACTION_LAYER_TAP_TOGGLE(layer)              ACTION_LAYER_TAP((layer), OP_TAP_TOGGLE)
 | 
			
		||||
/* Bitwise Operation */
 | 
			
		||||
#define ACTION_LAYER_BIT_AND(part, bits, on)        ACTION_LAYER_BITOP(OP_BIT_AND, (part), (bits), (on))
 | 
			
		||||
#define ACTION_LAYER_BIT_OR( part, bits, on)        ACTION_LAYER_BITOP(OP_BIT_OR,  (part), (bits), (on))
 | 
			
		||||
#define ACTION_LAYER_BIT_XOR(part, bits, on)        ACTION_LAYER_BITOP(OP_BIT_XOR, (part), (bits), (on))
 | 
			
		||||
#define ACTION_LAYER_BIT_SET(part, bits, on)        ACTION_LAYER_BITOP(OP_BIT_SET, (part), (bits), (on))
 | 
			
		||||
/* Default Layer */
 | 
			
		||||
#define ACTION_DEFAULT_LAYER_SET(layer)             ACTION_DEFAULT_LAYER_BIT_SET((layer)/4, 1<<((layer)%4))
 | 
			
		||||
/* Default Layer Bitwise Operation */
 | 
			
		||||
#define ACTION_DEFAULT_LAYER_BIT_AND(part, bits)    ACTION_LAYER_BITOP(OP_BIT_AND, (part), (bits), 0)
 | 
			
		||||
#define ACTION_DEFAULT_LAYER_BIT_OR( part, bits)    ACTION_LAYER_BITOP(OP_BIT_OR,  (part), (bits), 0)
 | 
			
		||||
#define ACTION_DEFAULT_LAYER_BIT_XOR(part, bits)    ACTION_LAYER_BITOP(OP_BIT_XOR, (part), (bits), 0)
 | 
			
		||||
#define ACTION_DEFAULT_LAYER_BIT_SET(part, bits)    ACTION_LAYER_BITOP(OP_BIT_SET, (part), (bits), 0)
 | 
			
		||||
/* With Tapping */
 | 
			
		||||
#define ACTION_LAYER_TAP_KEY(layer, key)            ACTION_LAYER_TAP((layer), (key))
 | 
			
		||||
#define ACTION_LAYER_TAP_TOGGLE(layer)              ACTION_LAYER_TAP((layer), OP_TAP_TOGGLE)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -210,7 +210,7 @@ static const uint16_t PROGMEM fn_actions[] = {
 | 
			
		|||
    [6] = ACTION_DEFAULT_LAYER_SET(1),  // set colemak layout
 | 
			
		||||
    [7] = ACTION_DEFAULT_LAYER_SET(2),  // set dvorak layout
 | 
			
		||||
    [8] = ACTION_DEFAULT_LAYER_SET(3),  // set workman layout
 | 
			
		||||
    [9] = ACTION_RMOD_TAP_KEY(KC_RSFT, KC_GRV),
 | 
			
		||||
    [9] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_GRV),
 | 
			
		||||
};
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,9 @@
 | 
			
		|||
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Keymap 0: qwerty */
 | 
			
		||||
    /* 0: qwerty */
 | 
			
		||||
    KEYMAP(ESC, 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, \
 | 
			
		||||
           CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NO,  ENT,  \
 | 
			
		||||
           LSFT,NO,  Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,NO,  RSFT, \
 | 
			
		||||
           LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, RCTL),
 | 
			
		||||
};
 | 
			
		||||
static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {};
 | 
			
		||||
static const uint16_t PROGMEM fn_actions[] = {};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,49 +1,47 @@
 | 
			
		|||
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Keymap 0: qwerty */
 | 
			
		||||
    /* 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, \
 | 
			
		||||
        CAPS,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,                     FN0, RGUI,APP, RCTL),
 | 
			
		||||
    /* Keymap 1: colemak */
 | 
			
		||||
    /* 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),
 | 
			
		||||
    /* Keymap 2: dvorak */
 | 
			
		||||
    /* 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),
 | 
			
		||||
    /* Keymap: workman */
 | 
			
		||||
    /* 3: 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),
 | 
			
		||||
};
 | 
			
		||||
static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Overlay 0: Poker with Arrow */
 | 
			
		||||
    /* 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,                    TRNS,LEFT,DOWN,RGHT),
 | 
			
		||||
    /* Overlay 1: Poker with Esc */
 | 
			
		||||
    /* 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,                    TRNS,TRNS,TRNS,TRNS),
 | 
			
		||||
    /* Overlay 2: Poker Fn
 | 
			
		||||
    /* 6: Poker Fn
 | 
			
		||||
     * ,-----------------------------------------------------------.
 | 
			
		||||
     * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|       |
 | 
			
		||||
     * |-----------------------------------------------------------|
 | 
			
		||||
| 
						 | 
				
			
			@ -66,7 +64,7 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
        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,          FN1,                     TRNS,TRNS,TRNS,TRNS),
 | 
			
		||||
    /* Overlay 3: Layout selector
 | 
			
		||||
    /* 7: Layout selector
 | 
			
		||||
     * ,-----------------------------------------------------------.
 | 
			
		||||
     * | Lq| Lc| Ld| Lw|   |   |   |   |   |   |   |   |   |       |
 | 
			
		||||
     * |-----------------------------------------------------------|
 | 
			
		||||
| 
						 | 
				
			
			@ -92,11 +90,11 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
};
 | 
			
		||||
static const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
    /* Poker Layout */
 | 
			
		||||
    [0] = ACTION_OVERLAY_MOMENTARY(2),  // to Fn overlay
 | 
			
		||||
    [1] = ACTION_OVERLAY_TOGGLE(0),     // toggle arrow overlay
 | 
			
		||||
    [2] = ACTION_OVERLAY_TOGGLE(1),     // toggle Esc overlay
 | 
			
		||||
    [3] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // Task(RControl,RShift+Esc)
 | 
			
		||||
    [4] = ACTION_OVERLAY_MOMENTARY(3),  // to Layout selector
 | 
			
		||||
    [0] = ACTION_LAYER_MOMENTARY(6),  // to Fn overlay
 | 
			
		||||
    [1] = ACTION_LAYER_TOGGLE(4),     // toggle arrow overlay
 | 
			
		||||
    [2] = ACTION_LAYER_TOGGLE(5),     // toggle Esc overlay
 | 
			
		||||
    [3] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // Task(RControl,RShift+Esc)
 | 
			
		||||
    [4] = ACTION_LAYER_MOMENTARY(7),  // to Layout selector
 | 
			
		||||
    [5] = ACTION_DEFAULT_LAYER_SET(0),  // set qwerty layout
 | 
			
		||||
    [6] = ACTION_DEFAULT_LAYER_SET(1),  // set colemak layout
 | 
			
		||||
    [7] = ACTION_DEFAULT_LAYER_SET(2),  // set dvorak layout
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,37 +2,35 @@
 | 
			
		|||
// Fn + Esc = `
 | 
			
		||||
// Fn + {left, down, up, right}  = {home, pgdown, pgup, end}
 | 
			
		||||
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Keymap 0: qwerty */
 | 
			
		||||
    /* 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,                     FN0, RGUI,APP, RCTL),
 | 
			
		||||
};
 | 
			
		||||
static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Overlay 0: Poker Default + Fn'd */
 | 
			
		||||
    KEYMAP_ANSI(
 | 
			
		||||
    /* 4: Poker Default + Fn'd */
 | 
			
		||||
    [4] = KEYMAP_ANSI(
 | 
			
		||||
        TRNS,F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
 | 
			
		||||
        CAPS,FN2, UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,CALC,TRNS,HOME,INS, TRNS, \
 | 
			
		||||
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,FN4, END,      TRNS, \
 | 
			
		||||
        TRNS,DEL, TRNS,WHOM,MUTE,VOLU,VOLD,TRNS,PGUP,PGDN,DEL,           TRNS, \
 | 
			
		||||
        TRNS,TRNS,TRNS,          FN1,                     TRNS,TRNS,TRNS,TRNS),
 | 
			
		||||
    /* Overlay 1: Poker with Arrow */
 | 
			
		||||
    /* 5: 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,          PGUP, \
 | 
			
		||||
        TRNS,TRNS,TRNS,          TRNS,                    FN3, HOME,PGDN,END),
 | 
			
		||||
    /* Overlay 2: Poker with Esc */
 | 
			
		||||
    /* 6: 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,                    TRNS,TRNS,TRNS,TRNS),
 | 
			
		||||
    /* Overlay 3: Poker with Arrow + Fn'd */
 | 
			
		||||
    /* 7: Poker with Arrow + Fn'd */
 | 
			
		||||
    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, \
 | 
			
		||||
| 
						 | 
				
			
			@ -42,9 +40,9 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
};
 | 
			
		||||
static const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
    /* Poker Layout */
 | 
			
		||||
    [0] = ACTION_OVERLAY_INV4(0b0101, 0),        // Poker Fn(with fix for Esc)
 | 
			
		||||
    [1] = ACTION_OVERLAY_TOGGLE(1),              // Poker Arrow toggle
 | 
			
		||||
    [2] = ACTION_OVERLAY_TOGGLE(2),              // Poker Esc toggle
 | 
			
		||||
    [3] = ACTION_OVERLAY_INV4(0b1101, 0),        // Poker Fn(with fix for Arrow)
 | 
			
		||||
    [4] = ACTION_RMODS_KEY(MOD_BIT(KC_RCTL)|MOD_BIT(KC_RSFT), KC_ESC), // FN3 Task(RControl,RShift+Esc)
 | 
			
		||||
    [0] = ACTION_LAYER_BIT_XOR(1, 0b0101, ON_BOTH),   // Poker Fn(with fix for Esc)
 | 
			
		||||
    [1] = ACTION_LAYER_TOGGLE(5),                     // Poker Arrow toggle
 | 
			
		||||
    [2] = ACTION_LAYER_TOGGLE(6),                     // Poker Esc toggle
 | 
			
		||||
    [3] = ACTION_LAYER_BIT_XOR(1, 0b1101, ON_BOTH),   // Poker Fn(with fix for Arrow)
 | 
			
		||||
    [4] = ACTION_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN3 Task(RControl,RShift+Esc)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,58 +2,56 @@
 | 
			
		|||
// Fn + Esc = `
 | 
			
		||||
// Fn + {left, down, up, right}  = {home, pgdown, pgup, end}
 | 
			
		||||
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Keymap 0: qwerty */
 | 
			
		||||
    /* 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,                     FN0, RGUI,APP, RCTL),
 | 
			
		||||
};
 | 
			
		||||
static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		||||
    /* Overlay 0: Poker with Arrow */
 | 
			
		||||
    /* 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,                    FN1, LEFT,DOWN,RGHT),
 | 
			
		||||
    /* Overlay 1: Poker with Esc */
 | 
			
		||||
    /* 2: 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),
 | 
			
		||||
    /* Overlay 2: Poker with Arrow and Esc */
 | 
			
		||||
    /* 3: 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),
 | 
			
		||||
    /* Overlay 3: Poker Fn'd */
 | 
			
		||||
    /* 4: 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),
 | 
			
		||||
    /* Overlay 4: Poker Fn'd arrow */
 | 
			
		||||
    /* 5: 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),
 | 
			
		||||
    /* Overlay 5: Poker Fn'd Esc */
 | 
			
		||||
    /* 6: 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),
 | 
			
		||||
    /* Overlay 6: Poker Fn'd Arrow + Esc */
 | 
			
		||||
    /* 7: 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, \
 | 
			
		||||
| 
						 | 
				
			
			@ -67,15 +65,16 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
 */
 | 
			
		||||
static const uint16_t PROGMEM fn_actions[] = {
 | 
			
		||||
    /* Poker Layout */
 | 
			
		||||
    [0] = ACTION_OVERLAY_SET(3, ON_PRESS),     // FN0 move to Fn'd             when press
 | 
			
		||||
    [1] = ACTION_OVERLAY_SET(4, ON_PRESS),     // FN1 move to Fn'd arrow       when press
 | 
			
		||||
    [2] = ACTION_OVERLAY_SET(5, ON_PRESS),     // FN2 move to Fn'd Esc         when press
 | 
			
		||||
    [3] = ACTION_OVERLAY_SET(6, ON_PRESS),     // FN3 move to Fn'd arrow + Esc when press
 | 
			
		||||
    [0] = ACTION_LAYER_SET(4, ON_PRESS),     // FN0 move to Fn'd             when press
 | 
			
		||||
    [1] = ACTION_LAYER_SET(5, ON_PRESS),     // FN1 move to Fn'd arrow       when press
 | 
			
		||||
    [2] = ACTION_LAYER_SET(6, ON_PRESS),     // FN2 move to Fn'd Esc         when press
 | 
			
		||||
    [3] = ACTION_LAYER_SET(7, ON_PRESS),     // FN3 move to Fn'd arrow + Esc when press
 | 
			
		||||
 | 
			
		||||
    [4] = ACTION_OVERLAY_CLEAR(ON_RELEASE),    // FN4 clear overlay            when release
 | 
			
		||||
    [5] = ACTION_OVERLAY_SET(0, ON_RELEASE),   // FN5 move to arrow            when release
 | 
			
		||||
    [6] = ACTION_OVERLAY_SET(1, ON_RELEASE),   // FN6 move to Esc              when release
 | 
			
		||||
    [7] = ACTION_OVERLAY_SET(2, ON_RELEASE),   // FN7 move to arrow + Esc      when release
 | 
			
		||||
    //[4] = ACTION_LAYER_CLEAR(ON_RELEASE),    // FN4 clear overlay            when release
 | 
			
		||||
    [4] = ACTION_LAYER_SET(0, ON_RELEASE),   // FN4 clear overlay            when release
 | 
			
		||||
    [5] = ACTION_LAYER_SET(1, ON_RELEASE),   // FN5 move to arrow            when release
 | 
			
		||||
    [6] = ACTION_LAYER_SET(2, ON_RELEASE),   // FN6 move to Esc              when release
 | 
			
		||||
    [7] = ACTION_LAYER_SET(3, ON_RELEASE),   // 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_MODS_KEY(MOD_RCTL|MOD_RSFT, KC_ESC), // FN8 Task(RControl,RShift+Esc)
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue