* Badger keymaps * bug fix - linter * code review feedback and ortholinear bugs * cleanup * backing out suspect bug after doing additional research * code review feedback * code review feedback * changing default badger keymap and small bugfix
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
Copyright 2020 Dan White <opensource@bluetufa.com>
 | 
						|
 | 
						|
This program is free software: you can redistribute it and/or modify
 | 
						|
it under the terms of the GNU General Public License as published by
 | 
						|
the Free Software Foundation, either version 2 of the License, or
 | 
						|
(at your option) any later version.
 | 
						|
This program is distributed in the hope that it will be useful,
 | 
						|
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
GNU General Public License for more details.
 | 
						|
You should have received a copy of the GNU General Public License
 | 
						|
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
						|
*/
 | 
						|
#pragma once
 | 
						|
 | 
						|
#include QMK_KEYBOARD_H
 | 
						|
 | 
						|
enum layers {
 | 
						|
  _QWERTY_MAC,
 | 
						|
  _MOVE_MAC,
 | 
						|
  _QWERTY_LINUX,
 | 
						|
  _MOVE_LINUX,
 | 
						|
  _ADJUST,
 | 
						|
  _CONFIG
 | 
						|
};
 | 
						|
 | 
						|
enum CustomKeys {
 | 
						|
  CS_RIGHT = SAFE_RANGE,
 | 
						|
  CS_DOWN
 | 
						|
};
 | 
						|
 | 
						|
#define OS_POP     LCTL(KC_F10)
 | 
						|
#define MAC_POP    LCTL(KC_UP)
 | 
						|
#define MAC_FRC    LGUI(LALT(KC_ESC))
 | 
						|
#define OS_COPY    LSFT(LCTL(KC_C))
 | 
						|
#define OS_PAST    LSFT(LCTL(KC_V))
 | 
						|
#define MAC_PST    LGUI(KC_V)
 | 
						|
#define MAC_CPY    LGUI(KC_C)
 | 
						|
#define KC_BACK    LCTL(LSFT(KC_LBRC))
 | 
						|
#define KC_NEXT    LCTL(LSFT(KC_RBRC))
 | 
						|
 | 
						|
#define MOVE       LT(_MOVE_LINUX, KC_ESC)
 | 
						|
#define MOVE_MAC   LT(_MOVE_MAC, KC_ESC)
 | 
						|
#define ADJUST     MO(_ADJUST)
 | 
						|
#define CFG_MAC    LT(_CONFIG, MAC_POP)
 | 
						|
#define CFG_LNX    LT(_CONFIG, OS_POP)
 | 
						|
 | 
						|
#define WD_BACK    LALT(KC_LEFT)
 | 
						|
#define WD_FRWD    LALT(KC_RIGHT)
 | 
						|
 | 
						|
#define VD_1       LCTL(KC_F1)
 | 
						|
#define VD_2       LCTL(KC_F2)
 | 
						|
#define VD_3       LCTL(KC_F3)
 | 
						|
 | 
						|
#define WM_UH      LGUI(KC_UP)
 | 
						|
#define WM_BH      LGUI(KC_DOWN)
 | 
						|
#define WM_LH      LGUI(KC_LEFT)
 | 
						|
#define WM_RH      LGUI(KC_RIGHT)
 | 
						|
#define WM_MAX     LGUI(KC_PGUP)
 | 
						|
 | 
						|
#define CM_RIGHT   LGUI(KC_D)
 | 
						|
#define CM_DOWN    LGUI(LSFT(KC_D))
 | 
						|
 | 
						|
/* THESE are not defaults in KDE and must be set manually */
 | 
						|
#define WM_VD1     HYPR(KC_1)
 | 
						|
#define WM_VD2     HYPR(KC_2)
 | 
						|
#define WM_VD3     HYPR(KC_3)
 | 
						|
 | 
						|
/* IntelliJ / JetBrains shortcuts with Mac keymap */
 | 
						|
#define IJ_BACK    LGUI(LALT(KC_LEFT))
 | 
						|
#define IJ_FWD     LGUI(LALT(KC_RIGHT))
 | 
						|
#define IJ_UP      LGUI(LALT(KC_UP))
 | 
						|
#define IJ_DOWN    LGUI(LALT(KC_DOWN))
 | 
						|
#define IJ_IMPL    LGUI(LALT(KC_B))
 | 
						|
#define IJ_DECL    LGUI(KC_B)
 | 
						|
#define IJ_REN     LSFT(KC_F6)
 | 
						|
#define IJ_USAG    LALT(KC_F7)
 | 
						|
#define IJ_RUN     KC_F9
 | 
						|
#define IJ_STEP    KC_F8
 | 
						|
#define IJ_INTO    LSFT(KC_F7)
 | 
						|
#define IJ_OUT     LSFT(KC_F8) 
 | 
						|
#define IJ_STOP    LGUI(KC_F2) 
 | 
						|
#define IJ_IMPS    LCTL(LALT(LSFT(KC_EQUAL)))
 | 
						|
#define IJ_IMPH    LCTL(LALT(LSFT(KC_MINUS)))
 | 
						|
#define IJ_TOP     LGUI(KC_HOME)
 | 
						|
#define IJ_BOTT    LGUI(KC_END)
 | 
						|
#define IJ_FIND    LGUI(LSFT(KC_F))
 | 
						|
 | 
						|
/* MacOS virtual desktop shortcuts */
 | 
						|
#define M_VD1      LCTL(KC_1)
 | 
						|
#define M_VD2      LCTL(KC_2)
 | 
						|
#define M_VD3      LCTL(KC_3)
 | 
						|
 | 
						|
/* rectangle shortcuts */
 | 
						|
#define MM_ULCN    LCTL(LGUI(KC_LEFT))
 | 
						|
#define MM_URCN    LCTL(LGUI(KC_RIGHT))
 | 
						|
#define MM_LLCN    LCTL(LSFT(LGUI(KC_LEFT)))
 | 
						|
#define MM_LRCN    LCTL(LSFT(LGUI(KC_RIGHT)))
 | 
						|
#define MM_MAX     LALT(LGUI(KC_F))
 | 
						|
#define MM_LH      HYPR(KC_LBRC)
 | 
						|
#define MM_RH      HYPR(KC_RBRC)
 | 
						|
#define MM_UH      LALT(LGUI(KC_UP))
 | 
						|
#define MM_BH      LALT(LGUI(KC_DOWN))
 | 
						|
#define MM_LEFT    LCTL(LALT(LGUI(KC_LEFT)))
 | 
						|
#define MM_RGHT    LCTL(LALT(LGUI(KC_RIGHT)))
 | 
						|
 | 
						|
#define DF_1       DF(_QWERTY_MAC)
 | 
						|
#define DF_2       DF(_QWERTY_LINUX)
 |