diff options
Diffstat (limited to 'keyboards/atreus62/keymaps/mneme')
-rw-r--r-- | keyboards/atreus62/keymaps/mneme/README.md | 58 | ||||
-rw-r--r-- | keyboards/atreus62/keymaps/mneme/config.h | 6 | ||||
-rw-r--r-- | keyboards/atreus62/keymaps/mneme/keymap.c | 337 | ||||
-rw-r--r-- | keyboards/atreus62/keymaps/mneme/rules.mk | 6 | ||||
-rw-r--r-- | keyboards/atreus62/keymaps/mneme/unicode | 114 |
5 files changed, 0 insertions, 521 deletions
diff --git a/keyboards/atreus62/keymaps/mneme/README.md b/keyboards/atreus62/keymaps/mneme/README.md deleted file mode 100644 index e65bf5de1c..0000000000 --- a/keyboards/atreus62/keymaps/mneme/README.md +++ /dev/null @@ -1,58 +0,0 @@ -<!-- -*- mode: markdown; fill-column: 8192 -*- --> - -Mnemes Swedish Bonanza -======================= - -My Layout in process, most of the code is shamelessly stolen from [algernons][algernon] excellent layout - - [algernon]: https://github.com/algernon/ergodox-layout - -It's for Windows (current work forces me to) and Swedish (matter of birth) so ymmw. - -## Table of Contents - -* [Layouts](#layouts) - - [Base layer](#base-layer) - - [Nav layer](#nav-layer) - - [Sym layer](#sym-layer) - - [LED states](#led-states) - -# Layouts - -## Base layer - -![Base layer](http://imgur.com/zTYxnE0) - - -* The number row doubles as a function row. Short presses produces numbers, long presses produces Fxx -* The `Shift`, `Alt`, and `Control` modifiers are one-shot. -* `Backspace` and `Enter` doubles as switches to the `sym` layer when held -* The `ESC` key also doubles as a one-shot cancel key. -* The **Lead** key is followed by a sequence of keys. - - `LEAD l` : `lgui+l`. - - `LEAD s l` : `λ`. - - `LEAD s s` : `¯\_(ツ)_/¯` - - `LEAD s f` : `凸(ツ)凸` - - `LEAD u l` : Set unicode input mode to linux. - - `LEAD s w` : Set unicode input mode to windows. - - `LEAD a *` : Application switching based on position in start menu. Very specific to my computer. - - -## Nav layer - -![Nav layer](http://imgur.com/cbMWVDC) - -Basic navigation on the right hand and modifiers close -by for the left. The latter because I tend to use `ctrl+arrows` quite a lot. - -## Sym layer - -![Sym layer](http://imgur.com/n2jmqFU) - -* Easy access to most symbols I use on a daily basis. Most common are on the home row, the rest are grouped as best as I could. - -- `eq` : Tapdance, produces `===` and `!==` -- `fun`: Tapdance, produces `=>` and `() => {\n` - -# License - GPL-3+ diff --git a/keyboards/atreus62/keymaps/mneme/config.h b/keyboards/atreus62/keymaps/mneme/config.h deleted file mode 100644 index a89bf5503c..0000000000 --- a/keyboards/atreus62/keymaps/mneme/config.h +++ /dev/null @@ -1,6 +0,0 @@ -#define ONESHOT_TIMEOUT 3000 -#define TAPPING_TERM 200 -#define FORCE_NKRO -#define LEADER_TIMEOUT 1000 - -#include "../../config.h" diff --git a/keyboards/atreus62/keymaps/mneme/keymap.c b/keyboards/atreus62/keymaps/mneme/keymap.c deleted file mode 100644 index e76751c335..0000000000 --- a/keyboards/atreus62/keymaps/mneme/keymap.c +++ /dev/null @@ -1,337 +0,0 @@ -#include <stdarg.h> -#include QMK_KEYBOARD_H -#include "led.h" -#include "action_layer.h" -#include "action_util.h" - -/* - *WINDOWS SWEDISH - */ - /* - *WINDOWS SWEDISH - */ - #define KN_HALF KC_GRV // 1/2 - #define KN_PLUS KC_MINS // + - #define KN_ACUT KC_EQL // ´ - #define KN_AO KC_LBRC // Å - #define KN_UMLA KC_RBRC // ¨ - #define KN_OE KC_SCLN // Ö - #define KN_AE KC_QUOT // Ä - #define KN_QUOT KC_NUHS // ' - #define KN_LABK KC_NUBS // < - #define KN_MINS KC_SLSH // - - #define KN_EXLM LSFT(KC_1) // ! - #define KN_DQT LSFT(KC_2) // " - #define KN_AT RALT(KC_2) // @ - #define KN_HASH LSFT(KC_3) // # - #define KN_EUR LSFT(KC_4) // € - #define KN_DLR RALT(KC_4) // $ - #define KN_PERC LSFT(KC_5) // % - #define KN_AMPR LSFT(KC_6) // & - #define KN_SLSH LSFT(KC_7) // / - #define KN_LPRN LSFT(KC_8) // ( - #define KN_RPRN LSFT(KC_9) // ) - #define KN_EQL LSFT(KC_0) // = - #define KN_UNDS LSFT(KN_MINS) // _ - #define KN_QUES LSFT(KN_PLUS) // ? - #define KN_GRAV LSFT(KN_ACUT) // ` - #define KN_LCBR RALT(KC_7) // { - #define KN_RCBR RALT(KC_0) // } - #define KN_LBRC RALT(KC_8) // [ - #define KN_RBRC RALT(KC_9) // ] - #define KN_RABK LSFT(KN_LABK) // < - #define KN_COLN LSFT(KC_DOT) // : - #define KN_SCLN LSFT(KC_COMM) // : - #define KN_PIPE RALT(KN_LABK) // | - #define KN_QUES LSFT(KN_PLUS) // ? - #define KN_CIRC LSFT(KN_UMLA) // ^ - #define KN_ASTR LSFT(KN_QUOT) // * - #define KN_TILD RALT(KN_UMLA) // ~ - #define KN_BSLS RALT(KN_PLUS) // - -#define OSM_LCTL OSM(MOD_LCTL) -#define OSM_LALT OSM(MOD_LALT) -#define OSM_LSFT OSM(MOD_LSFT) - -#define KC_HYP LSFT(LALT(LCTL(KC_LGUI))) - -#define KC_COPY LCTL(KC_C) -#define KC_PASTE LCTL(KC_V) -#define KC_UNDO LCTL(KC_Z) -#define KC_REDO LCTL(LSFT(KC_Z)) - -// Layers -enum { - BASE = 0, - NAV, - SYM -}; - -//Macros -enum { - KF_1 = 0, // 1, F1 - KF_2, // ... - KF_3, - KF_4, - KF_5, - KF_6, - KF_7, - KF_8, - KF_9, - KF_10, - KF_11, - KF_12 -}; - -// Tapdance -enum { - TD_FUN = 0, - TD_EQ -}; - -//State and timers -uint16_t kf_timers[12]; - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - [BASE] = LAYOUT( - M(KF_11), M(KF_1), M(KF_2), M(KF_3), M(KF_4), M(KF_5), M(KF_6), M(KF_7), M(KF_8), M(KF_9), M(KF_10), M(KF_12), - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KN_AO, - OSM_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KN_OE, KN_AE, - OSM_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KN_MINS, OSM_LSFT, - MO(NAV), OSM_LCTL, OSM_LALT, KC_LGUI, MO(SYM), KC_BSPC, KC_DEL, KC_ENT, KC_SPC, MO(SYM), KC_LEAD, KC_LALT, KC_LCTRL, KC_HYP - ), - - [NAV] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_TRNS, KC_TRNS, - KC_TRNS, KC_LSFT, KC_LCTL, KC_LALT, KC_L, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU - ), - - [SYM] = LAYOUT( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TD(TD_EQ), TD(TD_FUN), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KN_LABK, KN_RABK, KN_LCBR, KN_RCBR, KN_PLUS, KN_AT, KN_DQT, KN_QUOT, KN_GRAV, KN_SLSH, KC_TRNS, - KC_TRNS, KN_EXLM, KN_EQL, KN_LPRN, KN_RPRN, KN_MINS, KN_UNDS, KN_CIRC, KN_DLR, KN_AMPR, KN_PIPE, KC_TRNS, - KC_TRNS, KN_EUR, KN_PERC, KN_LBRC, KN_RBRC, KN_ASTR, KN_HASH, KN_SCLN, KN_COLN, KN_QUES, KN_BSLS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS - ) -}; - -#define TAP_ONCE(code) \ - register_code (code); \ - unregister_code (code) - -static void m_tapn (uint8_t code, ...) { - uint8_t kc = code; - va_list ap; - - va_start(ap, code); - do { - register_code(kc); - unregister_code(kc); - wait_ms(50); - kc = va_arg(ap, int); - } while (kc != 0); - va_end(ap); -} - -static void m_handle_kf (keyrecord_t *record, uint8_t id) { - uint8_t code = id - KF_1; - - if (record->event.pressed) { - kf_timers[code] = timer_read (); - } else { - uint8_t kc_base; - uint8_t long_press = (kf_timers[code] && timer_elapsed (kf_timers[code]) > TAPPING_TERM); - - kf_timers[code] = 0; - - switch(id){ - case KF_1 ... KF_10: - if (long_press) { - // Long press - kc_base = KC_F1; - } else { - kc_base = KC_1; - } - code += kc_base; - break; - case KF_11: - code = long_press ? KC_F11 : KC_ESC; - break; - case KF_12: - code = long_press ? KC_F12 : KN_PLUS; - break; - } - register_code (code); - unregister_code (code); - } -} - -const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) -{ - switch (id) { - case KF_1 ... KF_12: - m_handle_kf(record, id); - break; - } - return MACRO_NONE; -}; - -// Custom keycodes -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - bool queue = true; - - //Cancle one-shot mods. - switch (keycode) { - case KC_ESC: - if (record->event.pressed && get_oneshot_mods() && !has_oneshot_mods_timed_out()) { - clear_oneshot_mods(); - queue = false; - } - break; - } - return queue; -} - -// TAP DANCE SETTINGS -void dance_eq (qk_tap_dance_state_t *state, void *user_data) { - switch (state->count) { - case 1: // === - register_code(KC_LSHIFT); - m_tapn(KC_0, KC_0, KC_0, 0); - unregister_code(KC_LSHIFT); - break; - case 2: - register_code(KC_LSHIFT); - m_tapn(KC_1, KC_0, KC_0, 0); - unregister_code(KC_LSHIFT); - break; - default: - reset_tap_dance(state); - } -} - -void dance_fun (qk_tap_dance_state_t *state, void *user_data) { - switch (state->count) { - case 1: // => - register_code(KC_LSHIFT); - m_tapn(KC_0, KN_LABK, 0); - unregister_code(KC_LSHIFT); - break; - case 2: // () => {} - register_code(KC_LSHIFT); - m_tapn(KC_8, KC_9, KC_SPC, KC_0, KN_LABK, KC_SPC, 0); - unregister_code(KC_LSHIFT); - register_code(KC_RALT); - m_tapn(KC_7, 0); - unregister_code(KC_RALT); - TAP_ONCE(KC_ENT); - break; - default: - reset_tap_dance(state); - } -} - -qk_tap_dance_action_t tap_dance_actions[] = { - [TD_FUN] = ACTION_TAP_DANCE_FN (dance_fun), - [TD_EQ] = ACTION_TAP_DANCE_FN (dance_eq) -}; - -// Runs just one time when the keyboard initializes. -void matrix_init_user(void) { - set_unicode_input_mode(UC_WINC); -}; - -LEADER_EXTERNS(); -// Runs constantly in the background, in a loop. -void matrix_scan_user(void) { - LEADER_DICTIONARY() { - leading = false; - leader_end(); - SEQ_ONE_KEY(KC_L){ - register_code(KC_RGUI); - TAP_ONCE(KC_L); - unregister_code(KC_RGUI); - }; - - - SEQ_TWO_KEYS (KC_A, KC_W) { - //Web - chrome - register_code (KC_LGUI); TAP_ONCE (KC_1); unregister_code (KC_LGUI); - } - SEQ_TWO_KEYS (KC_A, KC_P) { - //sPotify - register_code (KC_LGUI); TAP_ONCE (KC_2); unregister_code (KC_LGUI); - - } - SEQ_TWO_KEYS (KC_A, KC_T) { - //Total Commander - register_code (KC_LGUI); TAP_ONCE (KC_3); unregister_code (KC_LGUI); - - } - SEQ_TWO_KEYS (KC_A, KC_A) { - //Atom - register_code (KC_LGUI); TAP_ONCE (KC_4); unregister_code (KC_LGUI); - - } - SEQ_TWO_KEYS (KC_A, KC_E) { - //Emacs - register_code (KC_LGUI); TAP_ONCE (KC_5); unregister_code (KC_LGUI); - - } - SEQ_TWO_KEYS (KC_A, KC_C) { - //Cmdr - register_code (KC_LGUI); TAP_ONCE (KC_6); unregister_code (KC_LGUI); - - } - SEQ_TWO_KEYS (KC_A, KC_S) { - //Slack - register_code (KC_LGUI); TAP_ONCE (KC_7); unregister_code (KC_LGUI); - } - - SEQ_TWO_KEYS (KC_U, KC_L) { - set_unicode_input_mode(UC_LNX); - } - - - SEQ_TWO_KEYS (KC_U, KC_W) { - set_unicode_input_mode(UC_WINC); - } - - - SEQ_TWO_KEYS (KC_S, KC_S) { - // ¯\_(ツ)_/¯ - unicode_input_start(); register_hex(0xaf); unicode_input_finish(); - register_code (KC_LALT); - register_code (KC_LCTL); - TAP_ONCE (KN_PLUS); - unregister_code (KC_LCTL); - unregister_code (KC_LALT); - - register_code (KC_RSFT); TAP_ONCE (KC_8); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); - register_code (KC_RSFT); TAP_ONCE (KC_9); TAP_ONCE(KC_7); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0xaf); unicode_input_finish(); - } - - SEQ_TWO_KEYS (KC_S, KC_F) { - // 凸(ツ)凸 - unicode_input_start(); register_hex(0x51F8); unicode_input_finish(); - register_code (KC_RSFT); TAP_ONCE (KC_8); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0x30c4); unicode_input_finish(); - register_code (KC_RSFT); TAP_ONCE (KC_9); unregister_code (KC_RSFT); - unicode_input_start (); register_hex(0x51F8); unicode_input_finish(); - } - - SEQ_TWO_KEYS (KC_S, KC_L) { - // λ - unicode_input_start(); - register_hex(0x03bb); - unicode_input_finish(); - } - }; -}; diff --git a/keyboards/atreus62/keymaps/mneme/rules.mk b/keyboards/atreus62/keymaps/mneme/rules.mk deleted file mode 100644 index 160ce6edbf..0000000000 --- a/keyboards/atreus62/keymaps/mneme/rules.mk +++ /dev/null @@ -1,6 +0,0 @@ -TAP_DANCE_ENABLE = yes -NKRO_ENABLE = true -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = no -LEADER_ENABLE = yes diff --git a/keyboards/atreus62/keymaps/mneme/unicode b/keyboards/atreus62/keymaps/mneme/unicode deleted file mode 100644 index b3f62b6d31..0000000000 --- a/keyboards/atreus62/keymaps/mneme/unicode +++ /dev/null @@ -1,114 +0,0 @@ -Todo -☐ 2610 Todo -☑ 2611 Done -☒ 2612 Failed - -Operator -× 00D7 Multiplication -÷ 00F7 Division -≤ 2264 LessEqual -≥ 2265 MoreEqual -± 00B1 Plusminus - -Math -∏ 220F Product -∑ 2211 Sum -≈ 2248 Almost -≡ 2261 Equivalent -∞ 221E Infinity -‰ 2030 Mille - -Set -⊂ 2282 Subset -⊃ 2283 sUperset -∩ 2229 Intersextion -∪ 222A Union -∈ 2208 Element -∉ 2209 Notelement -∍ 220D Contains -∌ 220C doesNotcontain - -Logic -¬ 00AC Not -∧ 2227 And -∨ 2228 Or -∃ 2203 Exists -∄ 2204 Notexists - -Greek -µ 00B5 Micro -λ 03BB Lamda -Ω 2126 Omega -α 03B1 Alpha -β 03B2 Beta -γ 03B3 Gamma -π 03C0 Pi -δ 03B4 Delta - -Other -☁ 2601 Cloud -☼ 263C Sun -☂ 2602 Rain -☠ 2620 Skull -♺ 267A Recycle -👍1F44D thumbsUp -👎1F44E thumbsDown -💩 1F4A9 Poo - - -//Todo -SEQ_THREE_KEYS(KC_U, KC_G, KC_T){m_unicode(0x2610);}; // Todo -SEQ_THREE_KEYS(KC_U, KC_G, KC_D){m_unicode(0x2611);}; // Done -SEQ_THREE_KEYS(KC_U, KC_G, KC_F){m_unicode(0x2612);}; // Failed - -//Operator -SEQ_THREE_KEYS(KC_U, KC_O, KC_M){m_unicode(0x00D7);}; // Multiplication -SEQ_THREE_KEYS(KC_U, KC_O, KC_D){m_unicode(0x00F7);}; // Division -SEQ_THREE_KEYS(KC_U, KC_O, KC_L){m_unicode(0x2264);}; // LessEqual -SEQ_THREE_KEYS(KC_U, KC_O, KC_M){m_unicode(0x2265);}; // MoreEqual -SEQ_THREE_KEYS(KC_U, KC_O, KC_P){m_unicode(0x00B1);}; // Plusminus - -//Math -SEQ_THREE_KEYS(KC_U, KC_M, KC_P){m_unicode(0x220F);}; // Product -SEQ_THREE_KEYS(KC_U, KC_M, KC_S){m_unicode(0x2211);}; // Sum -SEQ_THREE_KEYS(KC_U, KC_M, KC_A){m_unicode(0x2248);}; // Almost -SEQ_THREE_KEYS(KC_U, KC_M, KC_E){m_unicode(0x2261);}; // Equivalent -SEQ_THREE_KEYS(KC_U, KC_M, KC_I){m_unicode(0x221E);}; // Infinity -SEQ_THREE_KEYS(KC_U, KC_M, KC_M){m_unicode(0x2030);}; // Mille - -//Set -SEQ_THREE_KEYS(KC_U, KC_S, KC_S){m_unicode(0x2282);}; Subset -SEQ_THREE_KEYS(KC_U, KC_S, KC_P){m_unicode(0x2283);}; suPerset -SEQ_THREE_KEYS(KC_U, KC_S, KC_I){m_unicode(0x2229);}; Intersection -SEQ_THREE_KEYS(KC_U, KC_S, KC_U){m_unicode(0x222A);}; Union -SEQ_THREE_KEYS(KC_U, KC_S, KC_E){m_unicode(0x2208);}; Element -SEQ_THREE_KEYS(KC_U, KC_S, KC_N){m_unicode(0x2209);}; Notelement -SEQ_THREE_KEYS(KC_U, KC_S, KC_C){m_unicode(0x220D);}; Contains -SEQ_THREE_KEYS(KC_U, KC_S, KC_D){m_unicode(0x220C);}; doesNotcontain - -//Logic -SEQ_THREE_KEYS(KC_U, KC_L, KC_N){m_unicode(0x00AC);}; // Not -SEQ_THREE_KEYS(KC_U, KC_L, KC_A){m_unicode(0x2227);}; // And -SEQ_THREE_KEYS(KC_U, KC_L, KC_O){m_unicode(0x2228);}; // Or -SEQ_THREE_KEYS(KC_U, KC_L, KC_E){m_unicode(0x2203);}; // Exists -SEQ_THREE_KEYS(KC_U, KC_L, KC_N){m_unicode(0x2204);}; // Notexists - -//Greek -SEQ_THREE_KEYS(KC_U, KC_G, KC_M){m_unicode(0x00B5);}; // Micro -SEQ_THREE_KEYS(KC_U, KC_G, KC_L){m_unicode(0x03BB);}; // Lamda -SEQ_THREE_KEYS(KC_U, KC_G, KC_O){m_unicode(0x2126);}; // Omega -SEQ_THREE_KEYS(KC_U, KC_G, KC_A){m_unicode(0x03B1);}; // Alpha -SEQ_THREE_KEYS(KC_U, KC_G, KC_B){m_unicode(0x03B2);}; // Beta -SEQ_THREE_KEYS(KC_U, KC_G, KC_G){m_unicode(0x03B3);}; // Gamma -SEQ_THREE_KEYS(KC_U, KC_G, KC_P){m_unicode(0x03C0);}; // Pi -SEQ_THREE_KEYS(KC_U, KC_G, KC_D){m_unicode(0x03B4);}; // Delta - -//Zother -SEQ_THREE_KEYS(KC_U, KC_Z, KC_C){m_unicode(0x2601);}; // Cloud -SEQ_THREE_KEYS(KC_U, KC_Z, KC_S){m_unicode(0x263C);}; // Sun -SEQ_THREE_KEYS(KC_U, KC_Z, KC_R){m_unicode(0x2602);}; // Rain -SEQ_THREE_KEYS(KC_U, KC_Z, KC_K){m_unicode(0x2620);}; // sKull -SEQ_THREE_KEYS(KC_U, KC_Z, KC_R){m_unicode(0x267A);}; // rEcycle -SEQ_THREE_KEYS(KC_U, KC_Z, KC_U){m_unicode(0x1F44D);}; // thumbsUp -SEQ_THREE_KEYS(KC_U, KC_Z, KC_D){m_unicode(0x1F44E);}; // thumbsDown -SEQ_THREE_KEYS(KC_U, KC_Z, KC_P){m_unicode(0x1F4A9);}; // Poo |