Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						0a40299b4b
					
				
					 21 changed files with 678 additions and 0 deletions
				
			
		
							
								
								
									
										9
									
								
								users/zyber/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								users/zyber/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
// Copyright 2022 ZyBeR (@ZyberSE)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#undef TAPPING_TERM
 | 
			
		||||
#define TAPPING_TERM 152
 | 
			
		||||
#define GRAVE_ESC_GUI_OVERRIDE
 | 
			
		||||
#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD
 | 
			
		||||
							
								
								
									
										8
									
								
								users/zyber/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								users/zyber/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
SRC += zyber.c
 | 
			
		||||
 | 
			
		||||
CAPS_WORD_ENABLE = yes
 | 
			
		||||
TAP_DANCE_ENABLE = yes
 | 
			
		||||
COMMAND_ENABLE = no
 | 
			
		||||
 | 
			
		||||
# DISABLE VIA CONFIGURATOR (otherwise QMK won't work properly)
 | 
			
		||||
DYNAMIC_KEYMAP_ENABLE = no
 | 
			
		||||
							
								
								
									
										137
									
								
								users/zyber/zyber.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										137
									
								
								users/zyber/zyber.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,137 @@
 | 
			
		|||
// Copyright 2022 ZyBeR (@ZyberSE)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
 | 
			
		||||
#include "zyber.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; }
 | 
			
		||||
 | 
			
		||||
uint16_t key_timer;
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
	if (record->event.pressed) {
 | 
			
		||||
		key_timer = timer_read();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!process_caps_word(keycode, record)) {
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	switch(keycode) {
 | 
			
		||||
		case C_BLK:
 | 
			
		||||
			if (record->event.pressed) {
 | 
			
		||||
				send_string("```" SS_DELAY(80) SS_LCMD("v") SS_DELAY(80) "```");
 | 
			
		||||
			}
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case CTRL_C_UP:
 | 
			
		||||
			if (record->event.pressed) {
 | 
			
		||||
				register_mods(MOD_BIT(KC_LEFT_CTRL));
 | 
			
		||||
			} else {
 | 
			
		||||
				unregister_mods(MOD_BIT(KC_LEFT_CTRL));
 | 
			
		||||
				if (timer_elapsed(key_timer) < TAPPING_TERM) {
 | 
			
		||||
					tap_code16(C(KC_UP));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			return false;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case L1_EXPL:
 | 
			
		||||
			if (record->event.pressed) {
 | 
			
		||||
				layer_on(1);
 | 
			
		||||
			} else {
 | 
			
		||||
				layer_off(1);
 | 
			
		||||
				if (timer_elapsed(key_timer) < TAPPING_TERM) {
 | 
			
		||||
					tap_code16(C(KC_UP));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			return false;
 | 
			
		||||
			break;
 | 
			
		||||
 | 
			
		||||
		case ROPT_SRH:
 | 
			
		||||
			if (record->event.pressed) {
 | 
			
		||||
				register_mods(MOD_BIT(KC_ROPT));
 | 
			
		||||
			} else {
 | 
			
		||||
				unregister_mods(MOD_BIT(KC_ROPT));
 | 
			
		||||
				if (timer_elapsed(key_timer) < TAPPING_TERM) {
 | 
			
		||||
					tap_code16(G(KC_SPC));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			return false;
 | 
			
		||||
			break;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return process_record_keymap(keycode, record);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Screenshoot */
 | 
			
		||||
void dance_SSHT_finished(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		tap_code16(C(S(G(KC_4))));
 | 
			
		||||
	} else {
 | 
			
		||||
		tap_code(KC_4);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
void dance_SSHT_reset(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		unregister_code16(C(S(G(KC_4))));
 | 
			
		||||
	} else {
 | 
			
		||||
		unregister_code(KC_4);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Å */
 | 
			
		||||
void dance_LBRC_finished(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		tap_code16(A(KC_LBRC));
 | 
			
		||||
	} else {
 | 
			
		||||
		tap_code(KC_LBRC);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
void dance_LBRC_reset(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		unregister_code16(A(KC_LBRC));
 | 
			
		||||
	} else {
 | 
			
		||||
		unregister_code(KC_LBRC);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Ö */
 | 
			
		||||
void dance_SCLN_finished(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		tap_code16(A(KC_SCLN));
 | 
			
		||||
	} else {
 | 
			
		||||
		tap_code(KC_SCLN);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
void dance_SCLN_reset(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		unregister_code16(A(KC_SCLN));
 | 
			
		||||
	} else {
 | 
			
		||||
		unregister_code(KC_SCLN);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Ä */
 | 
			
		||||
void dance_QUOT_finished(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		tap_code16(A(KC_QUOT));
 | 
			
		||||
	} else {
 | 
			
		||||
		tap_code(KC_QUOT);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
void dance_QUOT_reset(qk_tap_dance_state_t *state, void *user_data) {
 | 
			
		||||
	if (state->count == 2) {
 | 
			
		||||
		unregister_code16(A(KC_QUOT));
 | 
			
		||||
	} else {
 | 
			
		||||
		unregister_code(KC_QUOT);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
qk_tap_dance_action_t tap_dance_actions[] = {
 | 
			
		||||
	[SSHT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_SSHT_finished, dance_SSHT_reset),
 | 
			
		||||
	[LBRC] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LBRC_finished, dance_LBRC_reset),
 | 
			
		||||
	[SCLN] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_SCLN_finished, dance_SCLN_reset),
 | 
			
		||||
	[QUOT] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_QUOT_finished, dance_QUOT_reset),
 | 
			
		||||
	[END_HOME] = ACTION_TAP_DANCE_DOUBLE(LGUI(KC_LEFT), LGUI(KC_RIGHT))
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										33
									
								
								users/zyber/zyber.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								users/zyber/zyber.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
// Copyright 2022 ZyBeR (@ZyberSE)
 | 
			
		||||
// SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
 | 
			
		||||
#include QMK_KEYBOARD_H
 | 
			
		||||
#include "quantum.h"
 | 
			
		||||
 | 
			
		||||
enum custom_keycodes {
 | 
			
		||||
	CTRL_C_UP = SAFE_RANGE,
 | 
			
		||||
	L1_EXPL,
 | 
			
		||||
	ROPT_SRH,
 | 
			
		||||
	C_BLK
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum tap_dances {
 | 
			
		||||
	SSHT = 0,
 | 
			
		||||
	LBRC,
 | 
			
		||||
	SCLN,
 | 
			
		||||
	QUOT,
 | 
			
		||||
	END_HOME
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record);
 | 
			
		||||
 | 
			
		||||
void dance_SSHT_finished(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_SSHT_reset(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_LBRC_finished(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_LBRC_reset(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_SCLN_finished(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_SCLN_reset(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_QUOT_finished(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
void dance_QUOT_reset(qk_tap_dance_state_t *state, void *user_data);
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue