summaryrefslogtreecommitdiff
path: root/keyboards/planck/keymaps/sdothum/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/planck/keymaps/sdothum/keymap.c')
-rw-r--r--keyboards/planck/keymaps/sdothum/keymap.c479
1 files changed, 0 insertions, 479 deletions
diff --git a/keyboards/planck/keymaps/sdothum/keymap.c b/keyboards/planck/keymaps/sdothum/keymap.c
deleted file mode 100644
index 59a4a25e32..0000000000
--- a/keyboards/planck/keymaps/sdothum/keymap.c
+++ /dev/null
@@ -1,479 +0,0 @@
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-// this is the style you want to emulate.
-//
-// To flash planck firmware
-// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-// Reset keyboard or press hw reset button on base (hole)
-//
-// cd qmk_firmware/keyboards/planck
-// sudo make KEYMAP=sdothum dfu
-//
-// sudo make clean (good practice before flashing)
-// sudo make KEYMAP=sdothum (to compile check)
-//
-// Package requirements (for arch linux)
-// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-// avr-gcc-atmel
-// avr-libc-atmel
-// dfu-programmer
-//
-// Notes
-// ▔▔▔▔▔
-// ** E R G O W I D E S P L I T ** Layout
-//
-// Autocompletion tap dance key pairs (),[],{} are available from the
-// number/symbol layer, as well as, numerous (un)shift key values
-//
-// The navigation pad provides a single hand right thumb activated cluster
-// with left hand modifiers
-//
-// #define PRIVATE_STRING includes private_string.h, a user defined code
-// block for the PRIV tap dance e.g. SEND_STRING("secret messape"),
-// see function private()
-//
-// Modifier clusters
-// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-// The num and sym keys together access the navigation pad layer
-//
-// ,-----------------------------------------------------------------------------------.
-// | Ctrl | GUI | Alt | Esc | Space| Tab | Bksp | Ent | Left | Down | Up | Right|
-// `-----------------------------------------------------------------------------------'
-//
-// Hint
-// ▔▔▔▔
-// For sculpted keycaps such as Cherry or OEM profile, reverse the Alt, Num,
-// Shift, Shift, Nav, Sym keycaps for more ergonomic thumb orientation and
-// actuation
-//
-// Code
-// ▔▔▔▔
-// This source is shamelessly based on the "default" planck layout
-//
-// #ifdef/#endif block structures are not indented, as syntax highlighting
-// in vim is sufficient for identification
-//
-// c++ commenting style is used throughout
-//
-// Change history
-// ▔▔▔▔▔▔▔▔▔▔▔▔▔▔
-// See http://thedarnedestthing.com/planck%20constant
-// See http://thedarnedestthing.com/planck%20done
-
-
-
-// === N O T E ===
-//
-// sudo CPATH=<keymap.c directory>/common make ...
-
-
-#include "config.h"
-#pragma message "You may need to add LAYOUT_planck_grid to your keymap layers - see default for an example"
-#include "planck.h"
-#include "action_layer.h"
-#ifdef STENO_ENABLE
-#include "keymap_steno.h"
-#endif
-#ifdef AUDIO_ENABLE
-#include "audio.h"
-#endif
-#include "eeconfig.h"
-
-extern keymap_config_t keymap_config;
-
-enum planck_layers {
- _BASE = 0
- ,_SHIFT
- ,_LSHIFT
- ,_RSHIFT
- ,_PLOVER
- ,_NUMBER
- ,_SYMBOL
- ,_FNCKEY
- ,_MOUSE
-#ifdef CENTER_TT
- ,_TTNUMBER
- ,_TTREGEX
- ,_TTFNCKEY
- ,_TTCURSOR
- ,_TTMOUSE
-#endif
-#ifndef SHIFT_SYMBOLS
- ,_NUMSYM
- ,_SYMREG
-#endif
- ,_EDIT
- ,_QWERTY
- ,_ADJUST
- ,_END_LAYERS
-};
-
-enum planck_keycodes {
- BASE = SAFE_RANGE
- ,BASE1
- ,BASE2
- ,PLOVER
- ,PLOEXIT
- ,SM_CIRC // pseudo GUI_T(S(KC_6)) for shifted key-codes, see process_record_user()
- ,SM_DLR // pseudo SFT_T(S(KC_4)) for shifted key-codes, see process_record_user()
- ,SM_G // pseudo MT (MOD_LALT | MOD_LSFT, S(KC_G)) for shifted key-codes, see process_record_user()
- ,SM_PERC // pseudo ALT_T(S(KC_5)) for shifted key-codes, see process_record_user()
- ,SM_LPRN // pseudo CTL_T(S(KC_9)) for shifted key-codes, see process_record_user()
- ,SL_LEFT // pseudo LT (_MOUSE, S(KC_LEFT)) for shifted key-codes, see process_record_user()
- ,SP_DEL // pseudo LT (_MOUSE, KC_DEL) for shifted key-codes, see process_record_user()
- ,SL_PIPE // pseudo LT (_ADJUST, S(KC_BSLS)) for shifted key-codes, see process_record_user()
- ,SL_TAB // pseudo LT (_FNCKEY, S(KC_TAB)) for shifted key-codes, see process_record_user()
-#ifdef CENTER_TT
- ,TT_ESC
-#endif
-#ifdef STENO_ENABLE
- ,PS_STNA = STN_A
- ,PS_STNO = STN_O
- ,PS_STNE = STN_E
- ,PS_STNU = STN_U
-#else
- ,LT_C = LT (_NUMBER, KC_C)
- ,LT_V = LT (_FNCKEY, KC_V)
- ,LT_N = LT (_EDIT, KC_N)
- ,LT_M = LT (_SYMBOL, KC_M)
-#endif
- ,PS_BASE
-};
-
-// modifier keys
-#define AT_B ALT_T(KC_B)
-#define AT_DOWN ALT_T(KC_DOWN)
-#define CT_RGHT CTL_T(KC_RGHT)
-#define GT_C GUI_T(KC_C)
-#define GT_UP GUI_T(KC_UP)
-#define MT_E MT (MOD_LCTL | MOD_LALT, KC_E)
-#define MT_X MT (MOD_LALT | MOD_LSFT, KC_X)
-#define ST_A SFT_T(KC_A)
-#ifdef HOME_MODS
-#define HOME_K CTL_T(KC_K)
-#define HOME_H GUI_T(KC_H)
-#define HOME_E ALT_T(KC_E)
-#define HOME_A SFT_T(KC_A)
-#if defined(BEAKLMU) || defined(BEAKLSP)
-#define HOME_T SFT_T(KC_T)
-#define HOME_R ALT_T(KC_R)
-#define HOME_S GUI_T(KC_S)
-#define HOME_W CTL_T(KC_W)
-#else
-#define HOME_T SFT_T(KC_T)
-#define HOME_S ALT_T(KC_S)
-#define HOME_N GUI_T(KC_N)
-#define HOME_B CTL_T(KC_B)
-#endif
-#else
-#define HOME_K KC_K
-#define HOME_H KC_H
-#define HOME_E KC_E
-#define HOME_A KC_A
-#define HOME_T KC_T
-#define HOME_S KC_S
-#define HOME_N KC_N
-#define HOME_B KC_B
-#endif
-
-#define S_DOWN S (KC_DOWN)
-#define S_LEFT S (KC_LEFT)
-#define S_RGHT S (KC_RGHT)
-#define S_TAB S (KC_TAB)
-#define S_UP S (KC_UP)
-
-#include "tapdance.h"
-
-// keycodes
-#define ___x___ KC_TRNS
-#define ___fn__ KC_TRNS
-#undef _______
-#define _______ KC_NO
-
-#define COPY LCTL(KC_C)
-#define CUT LCTL(KC_X)
-#define EOT LCTL(KC_D)
-#define NAK LCTL(KC_U)
-#define PASTE LCTL(KC_V)
-#define UNDO LCTL(KC_Z)
-#define TMCOPY LALT(LCTL(KC_C))
-#define TMPASTE LALT(LCTL(KC_V))
-#define LT_BSLS LT (_MOUSE, KC_BSLS) // see process_record_user() for extended handling
-#define LT_BSPC LT (_EDIT, KC_BSPC)
-#define SP_LEFT LT (_EDIT, KC_LEFT)
-#define LT_ESC LT (_NUMBER, KC_ESC)
-#define LT_LEFT LT (_SYMBOL, KC_LEFT) // see process_record_user() for extended handling
-#define SP_BSPC LT (_SYMBOL, KC_BSPC) // see process_record_user() for extended handling
-#define LT_TAB LT (_FNCKEY, KC_TAB)
-#define LT_INS LT (_FNCKEY, KC_INS)
-#define LT_ALTG LT (_FNCKEY, KC_RALT)
-#define ADJUST MO (_ADJUST)
-#define OS_ALT OSM (MOD_LALT)
-#define OS_CTL OSM (MOD_LCTL)
-#define OS_GUI OSM (MOD_LGUI)
-#define OS_SFT OSM (MOD_LSFT)
-#define OS_CALT OSM (MOD_LALT | MOD_LCTL)
-#define OS_CGUI OSM (MOD_LGUI | MOD_LCTL)
-#define OS_CSFT OSM (MOD_LSFT | MOD_LCTL)
-#define OS_SALT OSM (MOD_LALT | MOD_LSFT)
-#define OS_SGUI OSM (MOD_LGUI | MOD_LSFT)
-
-#ifdef CENTER_TT
-#ifdef BEAKLSP
-#define CNTR_TL OSM (MOD_LSFT)
-#else
-#define CNTR_TL TT (_TTFNCKEY)
-#endif
-#define CNTR_TR KC_CAPS
-#define CNTR_HL TT (_TTCURSOR)
-#define CNTR_HR TT (_TTMOUSE)
-#define CNTR_BL TT (_TTNUMBER)
-#define CNTR_BR TT (_TTREGEX)
-#else
-#define CNTR_TL OSM (MOD_LALT | MOD_LCTL)
-#define CNTR_TR OSM (MOD_LGUI | MOD_LCTL)
-#define CNTR_HL OSM (MOD_LALT | MOD_LSFT)
-#define CNTR_HR OSM (MOD_LGUI | MOD_LSFT)
-#define CNTR_BL TD (_CAPS)
-#define CNTR_BR OSM (MOD_LSFT | MOD_LCTL)
-#endif
-
-#ifdef THUMB_0
-#define LT_EQL LT (_ADJUST, KC_EQL)
-#else
-#define LT_0 LT (_ADJUST, KC_0)
-#endif
-#ifndef SHIFT_SYMBOLS
-#define LT_A LT (_NUMSYM, KC_A)
-#define LT_LFTX LT (_SYMREG, KC_LEFT)
-#endif
-
-// ........................................................ Default Alpha Layout
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-#include "beakl.h"
-#include "colemak.h"
-#include "qwerty.h"
-#include "steno_layout.h"
-
-// ...................................................... Number / Function Keys
-
-#include "number_fkey_layout.h"
-
-// ......................................................... Symbol / Navigation
-
-#include "symbol_guifn_layout.h"
-
-// ............................................................... Toggle Layers
-
-#ifdef CENTER_TT
-#include "toggle_layout.h"
-#endif
-
-// ......................................................... Short Cuts / Adjust
-
-#include "chord_layout.h"
-
-};
-
-// ...................................................................... Sounds
-
-#include "sounds.h"
-
-// ........................................................... User Keycode Trap
-
-#include "keycode_functions.h"
-
-#define BASE_1 1
-#define BASE_2 2
-#define BASE_12 3
-static uint8_t base_n = 0;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record)
-{
- switch (keycode) {
- case BASE1:
- if (record->event.pressed) {
- base_n = base_n | BASE_1;
- if (base_n == BASE_12) {
- base_layer();
- }
- }
- else {
- base_n = base_n & ~BASE_1;
- }
- return false;
- case BASE2:
- if (record->event.pressed) {
- base_n = base_n | BASE_2;
- if (base_n == BASE_12) {
- base_layer();
- }
- }
- else {
- base_n = base_n & ~BASE_2;
- }
- return false;
- case AT_DOWN:
-#ifdef HOME_MODS
- case HOME_E:
-#if defined(BEAKLMU) || defined(BEAKLSP)
- case HOME_R:
-#else
- case HOME_S:
-#endif
-#endif
- tap_mods(record, KC_LALT);
- break;
- case CT_RGHT:
-#ifdef HOME_MODS
- case HOME_K:
-#if defined(BEAKLMU) || defined(BEAKLSP)
- case HOME_W:
-#else
- case HOME_B:
-#endif
-#endif
- tap_mods(record, KC_LCTL);
- break;
- case GT_UP:
-#ifdef HOME_MODS
- case HOME_H:
-#if defined(BEAKLMU) || defined(BEAKLSP)
- case HOME_S:
-#else
- case HOME_N:
-#endif
-#endif
- tap_mods(record, KC_LGUI);
- break;
-#ifdef HOME_MODS
- case HOME_A:
- case HOME_T:
- tap_mods(record, KC_LSFT);
- break;
-#endif
-#ifdef CENTER_TT
- case TT_ESC:
- clear_tt(); // exit TT layer
- return false;
-#endif
- case LT_ESC:
-#ifdef CENTER_TT
- if (tt_keycode != 0) {
- clear_tt(); // exit TT layer
- return false;
- }
-#endif
- tap_layer(record, _NUMBER);
- break;
- case LT_LEFT:
- case SP_BSPC:
- tap_layer(record, _SYMBOL);
- // LT (_SYMBOL, KC_LEFT) left right combination layer
- thumb_layer(record, RIGHT, 0, 0, _SYMBOL, _LSHIFT);
- break;
- case OS_ALT:
- tap_mods(record, KC_LALT);
- break;
- case OS_CTL:
- tap_mods(record, KC_LCTL);
- break;
- case OS_GUI:
- tap_mods(record, KC_LGUI);
- break;
- case SM_CIRC:
- // GUI_T(S(KC_6))
- mt_shift(record, KC_LGUI, 0, KC_6);
- break;
- case SM_DLR:
- // SFT_T(S(KC_4))
- mt_shift(record, KC_LSFT, 0, KC_4);
- break;
- case SM_G:
- // MT(MOD_LALT | MOD_LSFT, S(KC_G))
- mt_shift(record, KC_LALT, KC_LSFT, KC_G);
- break;
- case SM_LPRN:
- // CTL_T(S(KC_9))
- mt_shift(record, KC_LCTL, 0, KC_9);
- break;
- case SM_PERC:
- // ALT_T(S(KC_5))
- mt_shift(record, KC_LALT, 0, KC_5);
- break;
- case LT_BSLS:
- tap_layer(record, _MOUSE);
- // LT (_MOUSE, KC_BSLS) left right combination layer, see #define LT_BSLS
- thumb_layer(record, LEFT, 0, 0, _MOUSE, _SYMBOL);
- break;
- case SL_LEFT:
- tap_layer(record, _MOUSE);
- // LT (_MOUSE, S(KC_LEFT)) left right combination layer
- thumb_layer(record, RIGHT, SHIFT, KC_LEFT, _MOUSE, _LSHIFT);
- break;
- case SP_DEL:
- tap_layer(record, _MOUSE);
- // LT (_MOUSE, S(KC_LEFT)) left right combination layer
- thumb_layer(record, RIGHT, NOSHIFT, KC_DEL, _MOUSE, _LSHIFT);
- break;
- case SL_PIPE:
- // LT (_ADJUST, S(KC_BSLS)) emulation
- lt_shift(record, KC_BSLS, _ADJUST);
- break;
- case SL_TAB:
- // LT (_FNCKEY, S(KC_TAB)) emulation
- lt_shift(record, KC_TAB, _FNCKEY);
- break;
- case TD_ENT:
- tap_layer(record, _RSHIFT);
- // LT (_RSHIFT, KC_ENT) emulation, see tap dance enter
- break;
- case TD_SPC:
- tap_layer(record, _LSHIFT);
- // LT (_LSHIFT, KC_SPC) left right combination layer, see tap dance TD_SPC
- thumb_layer(record, LEFT, 0, 0, _LSHIFT, _SYMBOL);
- break;
-#ifdef CENTER_TT
- case CNTR_TL:
- case CNTR_TR:
- case CNTR_HL:
- case CNTR_HR:
- case CNTR_BL:
- case CNTR_BR:
- if (tt_keycode != keycode && tt_keycode != 0) {
- clear_tt(); // return to base layer first if different TT layer selected
- }
- tt_keycode = keycode;
- break;
-#endif
-// #ifdef STENO_ENABLE
-// case PS_STNA:
-// stn_layer(record, STN_A, _NUMBER);
-// break;
-// case PS_STNO:
-// stn_layer(record, STN_O, _FNCKEY);
-// break;
-// case PS_STNE:
-// stn_layer(record, STN_E, _EDIT);
-// break;
-// case PS_STNU:
-// stn_layer(record, STN_U, _SYMBOL);
-// break;
-// #endif
- case PS_BASE:
- if (record->event.pressed) {
- base_layer();
- }
- return false;
- case PLOVER:
- steno(record);
- return false;
- case PLOEXIT:
- steno_exit(record);
- return false;
- }
- return true;
-}
-
-#include "init.h"