commit
						c686793b59
					
				
					 8 changed files with 71 additions and 41 deletions
				
			
		| 
						 | 
				
			
			@ -42,6 +42,16 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		|||
    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
/* How long a "key tap" is. Used in functions like LT() and macros to determine
 | 
			
		||||
 * how long QMK "holds down" a tapped key.
 | 
			
		||||
 *
 | 
			
		||||
 * If you are macOS this should be at least 500ms to avoid macOS's accidental
 | 
			
		||||
 * Caps Lock activation prevention measures, as noted by /u/JerryEn here:
 | 
			
		||||
 *
 | 
			
		||||
 * https://www.reddit.com/r/clueboard/comments/6bfc2m/lt_not_working_with_caps_lock/dhmbp88/
 | 
			
		||||
 */
 | 
			
		||||
#define TAPPING_TERM 600 // ms
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Feature disable options
 | 
			
		||||
 *  These options are also useful to firmware size reduction.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -50,35 +50,28 @@ const uint16_t PROGMEM fn_actions[] = {
 | 
			
		|||
 | 
			
		||||
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
			
		||||
  static uint8_t mods_pressed;
 | 
			
		||||
  static bool mod_flag;
 | 
			
		||||
 | 
			
		||||
  switch (id) {
 | 
			
		||||
    case 0:
 | 
			
		||||
      /* Handle the combined Grave/Esc key
 | 
			
		||||
       */
 | 
			
		||||
      mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
 | 
			
		||||
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        /* The key is being pressed.
 | 
			
		||||
         */
 | 
			
		||||
        mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
 | 
			
		||||
        if (mods_pressed) {
 | 
			
		||||
          mod_flag = true;
 | 
			
		||||
          add_key(KC_GRV);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
          register_code(KC_GRV);
 | 
			
		||||
        } else {
 | 
			
		||||
          add_key(KC_ESC);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
          register_code(KC_ESC);
 | 
			
		||||
        }
 | 
			
		||||
      } else {
 | 
			
		||||
        /* The key is being released.
 | 
			
		||||
         */
 | 
			
		||||
        if (mod_flag) {
 | 
			
		||||
          mod_flag = false;
 | 
			
		||||
          del_key(KC_GRV);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
        if (mods_pressed) {
 | 
			
		||||
          mods_pressed = false;
 | 
			
		||||
          unregister_code(KC_GRV);
 | 
			
		||||
        } else {
 | 
			
		||||
          del_key(KC_ESC);
 | 
			
		||||
          send_keyboard_report();
 | 
			
		||||
          unregister_code(KC_ESC);
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  /* Keymap _FL: Function Layer
 | 
			
		||||
   */
 | 
			
		||||
[_FL] = KEYMAP(
 | 
			
		||||
  S(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,    S(KC_GRV), KC_DEL,           BL_STEP,    \
 | 
			
		||||
  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,    S(KC_GRV), KC_DEL,           BL_STEP,    \
 | 
			
		||||
  S(KC_TAB), S(KC_Q),   S(KC_W),S(KC_E),S(KC_R),S(KC_T),  S(KC_Y),  S(KC_U),S(KC_I),S(KC_O),   S(KC_P),   S(KC_LBRC),S(KC_RBRC),S(KC_BSLS),                  S(KC_PGDN), \
 | 
			
		||||
  S(KC_LCTL),S(KC_A),   MO(_CL),S(KC_D),S(KC_F),S(KC_G),  S(KC_H),  S(KC_J),S(KC_K),S(KC_L),   S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT),                               \
 | 
			
		||||
  MO(_FL),   S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V),  S(KC_B),  S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO),  KC_RSFT,           KC_PGUP,             \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
			
		|||
  /* Keymap _FL: Function Layer
 | 
			
		||||
   */
 | 
			
		||||
[_FL] = KEYMAP(
 | 
			
		||||
  S(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,    S(KC_GRV), KC_DEL,           BL_STEP,    \
 | 
			
		||||
  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,    S(KC_GRV), KC_DEL,           BL_STEP,    \
 | 
			
		||||
  S(KC_TAB), S(KC_Q),   S(KC_W),S(KC_E),S(KC_R),S(KC_T),  S(KC_Y),  S(KC_U),S(KC_I),S(KC_O),   S(KC_P),   S(KC_LBRC),S(KC_RBRC),S(KC_BSLS),                  S(KC_PGDN), \
 | 
			
		||||
  S(KC_LCTL),S(KC_A),   MO(_CL),S(KC_D),S(KC_F),S(KC_G),  S(KC_H),  S(KC_J),S(KC_K),S(KC_L),   S(KC_SCLN),S(KC_QUOT),S(KC_NUHS),S(KC_ENT),                               \
 | 
			
		||||
  MO(_FL),   S(KC_NUBS),S(KC_Z),S(KC_X),S(KC_C),S(KC_V),  S(KC_B),  S(KC_N),S(KC_M),S(KC_COMM),S(KC_DOT), S(KC_SLSH),S(KC_RO),  KC_RSFT,           KC_PGUP,             \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue