* Add one-handed Viterbi layout for gaming * fixes for pr feedback * Update keyboards/keebio/viterbi/keymaps/vosechu/config.h Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "quantum.h"
 | |
| 
 | |
| // Each layer gets a name for readability, which is then used in the keymap matrix below.
 | |
| enum userspace_custom_layers {
 | |
|   DV = 0,
 | |
|   QW,
 | |
|   GAM1,
 | |
|   RSE,
 | |
|   LWR,
 | |
|   LFT,
 | |
|   MOUSE,
 | |
|   TT1,
 | |
|   TT2,
 | |
|   TT3,
 | |
|   T23X
 | |
| };
 | |
| #define BASE DV
 | |
| 
 | |
| enum userspace_custom_keycodes {
 | |
|   PAWFIVE = SAFE_RANGE,
 | |
|   MOUKEY,
 | |
|   MS_BTN1,
 | |
|   MS_BTN2,
 | |
|   MS_BTN3
 | |
| };
 | |
| 
 | |
| // Transparent macro to indicate that this spot is already being pressed
 | |
| // to activate this layer
 | |
| #define _LAYER_ KC_TRNS
 | |
| 
 | |
| // == Dual-action keys on most of the modifiers
 | |
| #define CTL_ESC CTL_T(KC_ESC)
 | |
| #define CTL_GRV CTL_T(KC_GRV)
 | |
| #define ALT_TAB ALT_T(KC_TAB)
 | |
| #define SFT_SPC SFT_T(KC_SPC)
 | |
| 
 | |
| // == Macro keys for commonly used apps
 | |
| // -- Slack
 | |
| // Move one conversation up/down
 | |
| #define SLACKTB LGUI(LSFT(KC_T))
 | |
| #define SLACKUP LALT(LSFT(KC_UP))
 | |
| #define SLACKDN LALT(LSFT(KC_DOWN))
 | |
| 
 | |
| // -- 1password
 | |
| #define PSWD LCTL(KC_BSLS)
 | |
| #define PSWD_ALT LCTL(LALT(KC_BSLS))
 | |
| 
 | |
| // -- Browser and OS X
 | |
| // Activate one tab left/right
 | |
| #define TAB_LFT LGUI(LSFT(KC_LBRC))
 | |
| #define TAB_RGT LGUI(LSFT(KC_RBRC))
 | |
| // Go back/forward in history
 | |
| #define BWSR_BK LGUI(KC_LBRC)
 | |
| #define BWSR_FW LGUI(KC_RBRC)
 | |
| 
 | |
| // -- Screen management
 | |
| // Make window fill the left/right side
 | |
| #define SCR_LFT HYPR(KC_LEFT)
 | |
| #define SCR_RGT HYPR(KC_RGHT)
 | |
| // Make window fill the whole monitor
 | |
| #define SCR_FUL HYPR(KC_F)
 | |
| 
 | |
| // -- Windows variants of browser commanads
 | |
| // Activate one tab left/right
 | |
| #define WTABLFT LCTL(LSFT(KC_TAB))
 | |
| #define WTABRGT LCTL(KC_TAB)
 | |
| // Go back/forward in history
 | |
| #define WBWSRBK LALT(KC_LEFT)
 | |
| #define WBWSRFW LALT(KC_RGHT)
 | |
| 
 | |
| // == Extended alpha layer toggles
 | |
| // -- Dvorak
 | |
| // Pressing U opens up the LWR layer (numpad)
 | |
| #define LWR_U    LT(LWR,  KC_U)
 | |
| // Pressing H opens up the RSE layer (brackets/parens)
 | |
| #define RSE_H    LT(RSE,  KC_H)
 | |
| 
 | |
| // -- Qwerty
 | |
| // Pressing F opens up the LWR layer (numpad)
 | |
| #define LWR_F    LT(LWR,  KC_F)
 | |
| // Pressing J opens up the RSE layer (brackets/parens)
 | |
| #define RSE_J    LT(RSE,  KC_J)
 | |
| 
 | |
| // -- LFT layer (Works on both Qwerty and Dvorak)
 | |
| // Pressing Back space or Enter opens up the LFT layer (media/navigation)
 | |
| #define LFT_BK   LT(LFT,  KC_BSPC)
 | |
| #define LFT_ENT  LT(LFT,  KC_ENT)
 |