forked from mirrors/qmk_userspace
		
	Merge pull request #878 from sethbc/add_sethbc_gh60_keymap
add sethbc keymap for gh60 and update macro expansion
This commit is contained in:
		
				commit
				
					
						3b990c08dc
					
				
			
		
					 5 changed files with 148 additions and 68 deletions
				
			
		| 
						 | 
					@ -4,7 +4,7 @@
 | 
				
			||||||
#include "quantum.h"
 | 
					#include "quantum.h"
 | 
				
			||||||
#include "led.h"
 | 
					#include "led.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* GH60 LEDs 
 | 
					/* GH60 LEDs
 | 
				
			||||||
 *   GPIO pads
 | 
					 *   GPIO pads
 | 
				
			||||||
 *   0 F7 WASD LEDs
 | 
					 *   0 F7 WASD LEDs
 | 
				
			||||||
 *   1 F6 ESC LED
 | 
					 *   1 F6 ESC LED
 | 
				
			||||||
| 
						 | 
					@ -35,40 +35,41 @@ inline void gh60_wasd_leds_off(void)   	{ DDRF &= ~(1<<7); PORTF &= ~(1<<7); }
 | 
				
			||||||
    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
					    K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
				
			||||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
					    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
				
			||||||
) { \
 | 
					) { \
 | 
				
			||||||
    { KC_##K00, KC_##K01, KC_##K02, KC_##K03, KC_##K04, KC_##K05, KC_##K06, KC_##K07, KC_##K08, KC_##K09, KC_##K0A, KC_##K0B, KC_##K0C, KC_##K0D }, \
 | 
					    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
				
			||||||
    { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17, KC_##K18, KC_##K19, KC_##K1A, KC_##K1B, KC_##K1C, KC_##K1D }, \
 | 
					    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
				
			||||||
    { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_##K25, KC_##K26, KC_##K27, KC_##K28, KC_##K29, KC_##K2A, KC_##K2B, KC_##K2C, KC_##K2D }, \
 | 
					    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D }, \
 | 
				
			||||||
    { KC_##K30, KC_##K31, KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37, KC_##K38, KC_##K39, KC_##K3A, KC_##K3B, KC_##K3C, KC_##K3D }, \
 | 
					    { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
				
			||||||
    { KC_##K40, KC_##K41, KC_##K42, KC_NO,    KC_NO,    KC_##K45, KC_NO,    KC_NO,    KC_NO,    KC_##K49, KC_##K4A, KC_##K4B, KC_##K4C, KC_##K4D }  \
 | 
					    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    K49, K4A, K4B, K4C, K4D }  \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ANSI valiant. No extra keys for ISO */
 | 
					/* ANSI variant. No extra keys for ISO */
 | 
				
			||||||
#define KEYMAP_ANSI( \
 | 
					#define KEYMAP_ANSI( \
 | 
				
			||||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
					    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
				
			||||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
					    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
				
			||||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
					    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
				
			||||||
    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           K3D, \
 | 
					    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,           K3D, \
 | 
				
			||||||
    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 | 
					    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 | 
				
			||||||
) KEYMAP( \
 | 
					) { \
 | 
				
			||||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
					    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
				
			||||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
					    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
				
			||||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO,  K2D, \
 | 
					    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO,    K2D }, \
 | 
				
			||||||
    K30, NO,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, NO,  K3D, \
 | 
					    { K30, KC_NO,    K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO,    K3D }, \
 | 
				
			||||||
    K40, K41, K42,           K45,                NO,  K4A, K4B, K4C, K4D  \
 | 
					    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    KC_NO,    K4A, K4B, K4C, K4D }  \
 | 
				
			||||||
)
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* HHKB Variant */
 | 
				
			||||||
#define KEYMAP_HHKB( \
 | 
					#define KEYMAP_HHKB( \
 | 
				
			||||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
 | 
					    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K49,\
 | 
				
			||||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
					    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
				
			||||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
					    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B,      K2D, \
 | 
				
			||||||
    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
 | 
					    K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B,      K3D, K3C, \
 | 
				
			||||||
    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 | 
					    K40, K41, K42,           K45,                     K4A, K4B, K4C, K4D  \
 | 
				
			||||||
) KEYMAP( \
 | 
					) { \
 | 
				
			||||||
    K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
 | 
					    { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
 | 
				
			||||||
    K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
 | 
					    { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
 | 
				
			||||||
    K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, NO,  K2D, \
 | 
					    { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO,    K2D }, \
 | 
				
			||||||
    K30, NO,  K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \
 | 
					    { K30, KC_NO,    K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D }, \
 | 
				
			||||||
    K40, K41, K42,           K45,                K49, K4A, K4B, K4C, K4D  \
 | 
					    { K40, K41, K42, KC_NO,    KC_NO,    K45, KC_NO,    KC_NO,    KC_NO,    K49, K4A, K4B, K4C, K4D }  \
 | 
				
			||||||
)
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,25 +4,25 @@
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
    /* 0: qwerty */
 | 
					    /* 0: qwerty */
 | 
				
			||||||
    KEYMAP(
 | 
					    KEYMAP(
 | 
				
			||||||
	ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, GRV,  \
 | 
						      KC_ESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_GRV,\
 | 
				
			||||||
        TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSPC, \
 | 
					        KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSPC,\
 | 
				
			||||||
        CAPS,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,NO,  ENT,  \
 | 
					        KC_CAPS,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT,\
 | 
				
			||||||
        LSFT,FN1, Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,FN0, RSFT, \
 | 
					        KC_LSFT,F(1),KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,F(0),KC_RSFT,\
 | 
				
			||||||
        LCTL,LGUI,LALT,          SPC,                BSLS,RALT,RGUI,APP, RCTL),
 | 
					        KC_LCTL,KC_LGUI,KC_LALT,       KC_SPC,             KC_BSLS,KC_RALT,KC_RGUI,KC_APP,KC_RCTL),
 | 
				
			||||||
    /* 1: fn */
 | 
					    /* 1: fn */
 | 
				
			||||||
	KEYMAP(
 | 
						KEYMAP(
 | 
				
			||||||
        ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, TRNS, \
 | 
					        KC_ESC,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_TRNS,\
 | 
				
			||||||
        TRNS,TRNS,UP,  TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,TRNS,TRNS,TRNS),
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,       KC_TRNS,            KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
 | 
				
			||||||
    /* 2: arrows */
 | 
					    /* 2: arrows */
 | 
				
			||||||
	KEYMAP(
 | 
						KEYMAP(
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,UP,   \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,\
 | 
				
			||||||
        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,LEFT,DOWN,RGHT),
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,       KC_TRNS,            KC_TRNS,KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM fn_actions[] = {
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
| 
						 | 
					@ -49,7 +49,7 @@ void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//Layer LED indicators
 | 
					//Layer LED indicators
 | 
				
			||||||
    uint32_t layer = layer_state;
 | 
					    uint32_t layer = layer_state;
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
    if (layer & (1<<1)) {
 | 
					    if (layer & (1<<1)) {
 | 
				
			||||||
        gh60_wasd_leds_on();
 | 
					        gh60_wasd_leds_on();
 | 
				
			||||||
        gh60_fn_led_on();
 | 
					        gh60_fn_led_on();
 | 
				
			||||||
| 
						 | 
					@ -57,7 +57,7 @@ void matrix_scan_user(void) {
 | 
				
			||||||
        gh60_wasd_leds_off();
 | 
					        gh60_wasd_leds_off();
 | 
				
			||||||
        gh60_fn_led_off();
 | 
					        gh60_fn_led_off();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
    if (layer & (1<<2)) {
 | 
					    if (layer & (1<<2)) {
 | 
				
			||||||
        gh60_poker_leds_on();
 | 
					        gh60_poker_leds_on();
 | 
				
			||||||
        gh60_esc_led_on();
 | 
					        gh60_esc_led_on();
 | 
				
			||||||
| 
						 | 
					@ -65,5 +65,5 @@ void matrix_scan_user(void) {
 | 
				
			||||||
        gh60_poker_leds_off();
 | 
					        gh60_poker_leds_off();
 | 
				
			||||||
        gh60_esc_led_off();
 | 
					        gh60_esc_led_off();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,9 +8,9 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
   /*
 | 
					   /*
 | 
				
			||||||
   *  Base layer, pretty standard ANSI layout. 
 | 
					   *  Base layer, pretty standard ANSI layout.
 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					   * ,-----------------------------------------------------------.
 | 
				
			||||||
   * |FN12| 1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
 | 
					   * |F(12)| 1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
   * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
 | 
					   * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
| 
						 | 
					@ -22,13 +22,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					   * `-----------------------------------------------------------'
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
	[_BL] = KEYMAP(
 | 
						[_BL] = KEYMAP(
 | 
				
			||||||
        FN12,1,2,3,4,5,6,7,8,9,0,MINS,EQL,BSPC, \
 | 
					        F(12),KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC, \
 | 
				
			||||||
	TAB,Q,W,E,R,T,Y,U,I,O,P,LBRC,RBRC,BSLS, \
 | 
						KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS, \
 | 
				
			||||||
        FN2,A,S,D,F,G,H,J,K,L,SCLN,QUOT,NO,ENT,  \
 | 
					        F(2),KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT,  \
 | 
				
			||||||
        LSFT,NO,Z,X,C,V,B,N,M,COMM,DOT,SLSH,NO,RSFT, \
 | 
					        KC_LSFT,KC_NO,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_NO,KC_RSFT, \
 | 
				
			||||||
        LCTL,LGUI,LALT,        SPC,      NO,RALT,FN0,APP, RCTL),
 | 
					        KC_LCTL,KC_LGUI,KC_LALT,        KC_SPC,      KC_NO,KC_RALT,F(0),KC_APP,KC_RCTL),
 | 
				
			||||||
   
 | 
					
 | 
				
			||||||
   /*  
 | 
					   /*
 | 
				
			||||||
   * Locking arrow keys to WASD for when you need dedicated arrow keys
 | 
					   * Locking arrow keys to WASD for when you need dedicated arrow keys
 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					   * ,-----------------------------------------------------------.
 | 
				
			||||||
   * |    |  |   |   |   |   |   |   |   |   |   |   |   |       |
 | 
					   * |    |  |   |   |   |   |   |   |   |   |   |   |   |       |
 | 
				
			||||||
| 
						 | 
					@ -43,14 +43,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					   * `-----------------------------------------------------------'
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
	[_AL] = KEYMAP(
 | 
						[_AL] = KEYMAP(
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,TRNS,UP,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,   \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,   \
 | 
				
			||||||
        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,TRNS,TRNS,TRNS),
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,          KC_TRNS,               KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   /* 
 | 
					   /*
 | 
				
			||||||
   * Primary function layer, mostly the same as the traditional Pok3r layout.
 | 
					   * Primary function layer, mostly the same as the traditional Pok3r layout.
 | 
				
			||||||
   * ,-------------------------------------------------------------.
 | 
					   * ,-------------------------------------------------------------.
 | 
				
			||||||
   * |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL   |
 | 
					   * |`~ | F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12|DEL   |
 | 
				
			||||||
| 
						 | 
					@ -65,15 +65,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
   * `-------------------------------------------------------------'
 | 
					   * `-------------------------------------------------------------'
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
	[_FL] = KEYMAP(
 | 
						[_FL] = KEYMAP(
 | 
				
			||||||
        GRAVE,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12, DELETE, \
 | 
					        KC_GRAVE,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_DELETE, \
 | 
				
			||||||
        TRNS,FN1,TRNS,TRNS,TRNS,TRNS,CALC,PGUP,UP,PGDN,PSCR,SLCK,PAUS,TRNS, \
 | 
					        KC_TRNS,F(1),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_PGUP,KC_UP,KC_PGDN,KC_PSCR,KC_SLCK,KC_PAUS,KC_TRNS, \
 | 
				
			||||||
        TRNS,MUTE,_VOLDOWN,_VOLUP,TRNS,TRNS,HOME,LEFT,DOWN,RGHT,INS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_MUTE,KC__VOLDOWN,KC__VOLUP,KC_TRNS,KC_TRNS,KC_HOME,KC_LEFT,KC_DOWN,KC_RGHT,KC_INS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,TRNS,FN3,TRNS,TRNS,TRNS,TRNS,END,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,F(3),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_END,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,TRNS,TRNS,TRNS),
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,          KC_TRNS,               KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
 | 
				
			||||||
   
 | 
					
 | 
				
			||||||
   /* 
 | 
					   /*
 | 
				
			||||||
   * Locking layer for controlling the underglow.
 | 
					   * Locking layer for controlling the underglow.
 | 
				
			||||||
   * 
 | 
					   *
 | 
				
			||||||
   * ,-----------------------------------------------------------.
 | 
					   * ,-----------------------------------------------------------.
 | 
				
			||||||
   * |    |  |   |   |   |   |   |   |   |   |   |   |   |       |
 | 
					   * |    |  |   |   |   |   |   |   |   |   |   |   |   |       |
 | 
				
			||||||
   * |-----------------------------------------------------------|
 | 
					   * |-----------------------------------------------------------|
 | 
				
			||||||
| 
						 | 
					@ -87,11 +87,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
   * `-----------------------------------------------------------'
 | 
					   * `-----------------------------------------------------------'
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
	[_UL] = KEYMAP(
 | 
						[_UL] = KEYMAP(
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,FN4,FN5,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
 | 
					        KC_TRNS,F(4),F(5),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
 | 
				
			||||||
        TRNS,TRNS,TRNS,FN6,FN7,FN8,FN9,FN10,FN11,TRNS,TRNS,TRNS,TRNS,TRNS,   \
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,F(6),F(7),F(8),F(9),F(10),F(11),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,   \
 | 
				
			||||||
        TRNS,TRNS,TRNS,          TRNS,               TRNS,TRNS,TRNS,TRNS,TRNS),
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,          KC_TRNS,               KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum function_id {
 | 
					enum function_id {
 | 
				
			||||||
| 
						 | 
					@ -124,7 +124,7 @@ const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  // MACRODOWN only works in this function 
 | 
					  // MACRODOWN only works in this function
 | 
				
			||||||
      switch(id) {
 | 
					      switch(id) {
 | 
				
			||||||
        case 0:
 | 
					        case 0:
 | 
				
			||||||
          if (record->event.pressed) {
 | 
					          if (record->event.pressed) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										3
									
								
								keyboards/gh60/keymaps/sethbc/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/gh60/keymaps/sethbc/Makefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					ifndef QUANTUM_DIR
 | 
				
			||||||
 | 
						include ../../../../Makefile
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
							
								
								
									
										76
									
								
								keyboards/gh60/keymaps/sethbc/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								keyboards/gh60/keymaps/sethbc/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,76 @@
 | 
				
			||||||
 | 
					#include "gh60.h"
 | 
				
			||||||
 | 
					#include "action_layer.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MODS_CTRL_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					    /* 0: qwerty */
 | 
				
			||||||
 | 
					  KEYMAP_HHKB(
 | 
				
			||||||
 | 
						      F(0),KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSLS,KC_GRV,\
 | 
				
			||||||
 | 
					        KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSPC,\
 | 
				
			||||||
 | 
					        KC_LCTL,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_ENT,\
 | 
				
			||||||
 | 
					        KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,F(1),\
 | 
				
			||||||
 | 
					        KC_LCTL,KC_LALT,KC_LGUI,      KC_SPC,            KC_RGUI,KC_RALT,KC_APP,KC_RCTL),
 | 
				
			||||||
 | 
					    /* 1: fn */
 | 
				
			||||||
 | 
						KEYMAP_HHKB(
 | 
				
			||||||
 | 
					        KC_GRV,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11,KC_F12,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
 | 
					        KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_UP,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
 | 
					        KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_TRNS,KC_TRNS,KC_PAST,KC_PSLS,KC_HOME,KC_PGUP,KC_LEFT,KC_RIGHT,KC_PENT,\
 | 
				
			||||||
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS,\
 | 
				
			||||||
 | 
					        KC_TRNS,KC_TRNS,KC_TRNS,      KC_TRNS,           KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum function_id {
 | 
				
			||||||
 | 
					    SHIFT_ESC,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					    [0] = ACTION_FUNCTION(SHIFT_ESC),
 | 
				
			||||||
 | 
					    [1] = ACTION_LAYER_MOMENTARY(1),  // to Fn overlay
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  // MACRODOWN only works in this function
 | 
				
			||||||
 | 
					      switch(id) {
 | 
				
			||||||
 | 
					        case 0:
 | 
				
			||||||
 | 
					          if (record->event.pressed) {
 | 
				
			||||||
 | 
					            register_code(KC_RSFT);
 | 
				
			||||||
 | 
					          } else {
 | 
				
			||||||
 | 
					            unregister_code(KC_RSFT);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        break;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    return MACRO_NONE;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void matrix_scan_user(void) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
 | 
					  static uint8_t shift_esc_shift_mask;
 | 
				
			||||||
 | 
					  switch (id) {
 | 
				
			||||||
 | 
					    case SHIFT_ESC:
 | 
				
			||||||
 | 
					      shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        if (shift_esc_shift_mask) {
 | 
				
			||||||
 | 
					          add_key(KC_GRV);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          add_key(KC_ESC);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        if (shift_esc_shift_mask) {
 | 
				
			||||||
 | 
					          del_key(KC_GRV);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          del_key(KC_ESC);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue