From e4f4ceaf3f2e3d25fb282273a81f9b58790fc427 Mon Sep 17 00:00:00 2001 From: lokher Date: Wed, 26 Apr 2023 16:32:15 +0800 Subject: merge upstream 713427c --- layouts/community/ergodox/belak/keymap.c | 14 +- layouts/community/ergodox/drashna/keymap.c | 2 +- layouts/community/ergodox/haegin/keymap.c | 10 +- layouts/community/ergodox/meagerfindings/keymap.c | 2 +- layouts/community/ergodox/replicaJunction/config.h | 51 --- layouts/community/ergodox/replicaJunction/keymap.c | 378 --------------------- .../community/ergodox/replicaJunction/readme.md | 5 - layouts/community/ergodox/replicaJunction/rules.mk | 33 -- layouts/community/ergodox/videck/keymap.c | 6 +- layouts/community/ergodox/yoruian/keymap.c | 4 +- .../community/ergodox/zweihander-macos/config.h | 14 + .../community/ergodox/zweihander-macos/keymap.c | 74 ++-- .../ergodox/zweihander-macos/readme.markdown | 29 +- 13 files changed, 97 insertions(+), 525 deletions(-) delete mode 100644 layouts/community/ergodox/replicaJunction/config.h delete mode 100644 layouts/community/ergodox/replicaJunction/keymap.c delete mode 100644 layouts/community/ergodox/replicaJunction/readme.md delete mode 100644 layouts/community/ergodox/replicaJunction/rules.mk create mode 100644 layouts/community/ergodox/zweihander-macos/config.h (limited to 'layouts/community/ergodox') diff --git a/layouts/community/ergodox/belak/keymap.c b/layouts/community/ergodox/belak/keymap.c index 95255be683..ea72091145 100644 --- a/layouts/community/ergodox/belak/keymap.c +++ b/layouts/community/ergodox/belak/keymap.c @@ -45,11 +45,11 @@ enum belak_td { TD_LAYER_TOGGLE = 0, }; -void belak_td_each(qk_tap_dance_state_t *state, void *user_data); -void belak_td_finished(qk_tap_dance_state_t *state, void *user_data); -void belak_td_reset(qk_tap_dance_state_t *state, void *user_data); +void belak_td_each(tap_dance_state_t *state, void *user_data); +void belak_td_finished(tap_dance_state_t *state, void *user_data); +void belak_td_reset(tap_dance_state_t *state, void *user_data); -qk_tap_dance_action_t tap_dance_actions[] = { +tap_dance_action_t tap_dance_actions[] = { [TD_LAYER_TOGGLE] = ACTION_TAP_DANCE_FN_ADVANCED(belak_td_each, belak_td_finished, belak_td_reset), }; @@ -332,7 +332,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -void belak_td_each(qk_tap_dance_state_t *state, void *user_data) { +void belak_td_each(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: td_led_override = 1; @@ -345,7 +345,7 @@ void belak_td_each(qk_tap_dance_state_t *state, void *user_data) { } } -void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) { +void belak_td_finished(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 1: layer_on(SYMB); @@ -357,6 +357,6 @@ void belak_td_finished(qk_tap_dance_state_t *state, void *user_data) { td_led_override = 0; } -void belak_td_reset(qk_tap_dance_state_t *state, void *user_data) { +void belak_td_reset(tap_dance_state_t *state, void *user_data) { td_led_override = 0; } diff --git a/layouts/community/ergodox/drashna/keymap.c b/layouts/community/ergodox/drashna/keymap.c index e5675854e1..846bbc2351 100644 --- a/layouts/community/ergodox/drashna/keymap.c +++ b/layouts/community/ergodox/drashna/keymap.c @@ -17,7 +17,7 @@ #include "drashna.h" enum more_custom_keycodes { - KC_SWAP_NUM = NEW_SAFE_RANGE, + KC_SWAP_NUM = USER_SAFE_RANGE, PM_SCROLL, PM_PRECISION, }; diff --git a/layouts/community/ergodox/haegin/keymap.c b/layouts/community/ergodox/haegin/keymap.c index 7c1883e57a..3704fe557c 100644 --- a/layouts/community/ergodox/haegin/keymap.c +++ b/layouts/community/ergodox/haegin/keymap.c @@ -167,7 +167,7 @@ static fib_tap fib_bspc = { .state = BSPC_LETTER }; -void cur_backspace (qk_tap_dance_state_t *state) { +void cur_backspace (tap_dance_state_t *state) { int next_fib = fib_bspc.a + fib_bspc.b; fib_bspc.a = fib_bspc.b; fib_bspc.b = next_fib; @@ -177,7 +177,7 @@ void cur_backspace (qk_tap_dance_state_t *state) { } } -void dance_backspace (qk_tap_dance_state_t *state, void *user_data) { +void dance_backspace (tap_dance_state_t *state, void *user_data) { // If we're at the fifth tap, switch to deleting by words, and reset the fib // counter if (state->count == 4) { @@ -197,7 +197,7 @@ void dance_backspace (qk_tap_dance_state_t *state, void *user_data) { } }; -void dance_backspace_ended (qk_tap_dance_state_t *state, void *user_data) { +void dance_backspace_ended (tap_dance_state_t *state, void *user_data) { if (state->count == 1) { if (state->pressed) { fib_bspc.state = HOLD_CTRL; @@ -208,7 +208,7 @@ void dance_backspace_ended (qk_tap_dance_state_t *state, void *user_data) { } }; -void dance_backspace_reset (qk_tap_dance_state_t *state, void *user_data) { +void dance_backspace_reset (tap_dance_state_t *state, void *user_data) { switch (fib_bspc.state) { case HOLD_CTRL: unregister_code(KC_LCTL); break; case BSPC_WORD: unregister_code(KC_BSPC); unregister_code(KC_LALT); break; @@ -219,7 +219,7 @@ void dance_backspace_reset (qk_tap_dance_state_t *state, void *user_data) { fib_bspc.state = BSPC_LETTER; }; -qk_tap_dance_action_t tap_dance_actions[] = { +tap_dance_action_t tap_dance_actions[] = { [TD_BSPC] = ACTION_TAP_DANCE_FN_ADVANCED (dance_backspace, dance_backspace_ended, dance_backspace_reset) }; diff --git a/layouts/community/ergodox/meagerfindings/keymap.c b/layouts/community/ergodox/meagerfindings/keymap.c index 3035572a77..800fd091b3 100644 --- a/layouts/community/ergodox/meagerfindings/keymap.c +++ b/layouts/community/ergodox/meagerfindings/keymap.c @@ -51,7 +51,7 @@ enum custom_keycodes { static uint16_t key_timer; //key timer for macros //Tap Dance Definitions -qk_tap_dance_action_t tap_dance_actions[] = { +tap_dance_action_t tap_dance_actions[] = { //Tap once for Copy, twice for Paste, three times for Cut. [TD_COPY_CUT] = ACTION_TAP_DANCE_DOUBLE(LGUI(KC_C),LGUI(KC_X)), //Tap once for Snagit, twice for Cmd + Shift + Opt + 4 (OS X cropping screenshot that is copied to the clipboard only.) diff --git a/layouts/community/ergodox/replicaJunction/config.h b/layouts/community/ergodox/replicaJunction/config.h deleted file mode 100644 index a02f9a95db..0000000000 --- a/layouts/community/ergodox/replicaJunction/config.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright 2021 Joshua T. - * - * 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 . - */ - -#pragma once - -// Do not allow one macro to contain the other macro -#define DYNAMIC_MACRO_NO_NESTING - -// "THE most important tap hold configuration setting" -// https://precondition.github.io/home-row-mods#ignore-mod-tap-interrupt -// https://docs.qmk.fm/#/tap_hold?id=ignore-mod-tap-interrupt -#define IGNORE_MOD_TAP_INTERRUPT - -// This one is a style choice. Play with it both on and off to see which -// one suits you better. -// https://precondition.github.io/home-row-mods#permissive-hold -// https://docs.qmk.fm/#/tap_hold?id=permissive-hold -#define PERMISSIVE_HOLD - -// If you press a dual-role key for longer than TAPPING_TERM, then -// release it without pressing another key, without this setting nothing -// would happen. With this setting, it sends the key's tap function. -// https://precondition.github.io/home-row-mods#retro-tapping -#define RETRO_TAPPING - -// Disable some unused features to save space -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE - -///// -// Flags for stuff in my userspace - -#define USER_INCLUDE_GAMING_LAYER -#define USER_INCLUDE_MACRO_LAYER - -// "Super Alt-Tab" -// https://docs.qmk.fm/#/feature_macros?id=super-alt%E2%86%AFtab -#define USER_SUPER_ALT_TAB_TIMEOUT 500 diff --git a/layouts/community/ergodox/replicaJunction/keymap.c b/layouts/community/ergodox/replicaJunction/keymap.c deleted file mode 100644 index 4e0559a3e2..0000000000 --- a/layouts/community/ergodox/replicaJunction/keymap.c +++ /dev/null @@ -1,378 +0,0 @@ -/* Copyright 2021 Joshua T. - * - * 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 . - */ - -#include QMK_KEYBOARD_H -#include "replicaJunction.h" - -// Most layers are defined in my userspace, but this keyboard has -// an extra one. -enum additional_keyboard_layers { - L_SYSLEDS = _LAYER_SAFE_RANGE -}; - -#define BSP_SYM LT(L_SYMBOLS, KC_BSPC) -#define SPC_NAV LT(L_NAVIGATION, KC_SPC) - -#define MO_FN MO(L_FN) -#define MO_MAC MO(L_MACROS) -#define MO_SLED MO(L_SYSLEDS) - -#define TG_GAME TG(L_GAMING) - -#define ESC_SFT LSFT_T(KC_ESC) -#define TAB_SFT RSFT_T(KC_TAB) - - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - - -[L_BASE] = LAYOUT_ergodox( - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, - KC_EQL, KC_Q, KC_W, KC_F, KC_P, KC_B, NUMWORD, - KC_MINS, KC_A, KC_R, KC_S, KC_T, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_RBRC, - KC_LCTL, KC_LGUI ,KC_LALT, MO_FN, ESC_SFT, - KC_HOME, KC_END, - KC_PGUP, - BSP_SYM, CTL_DEL, KC_PGDN, - - TG_GAME, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, - CAPWORD, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, - KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - QK_LOCK, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - TAB_SFT, MO_FN, KC_RALT, KC_RGUI, MO_SLED, - KC_LEFT, KC_RGHT, - KC_UP, - KC_DOWN, ALT_ENT, SPC_NAV -), - - -[L_GAMING] = LAYOUT_ergodox( - KC_GRV, _______,_______,_______,_______,_______,_______, - KC_TAB, _______,_______,_______,_______,_______,_______, - KC_ESC, KC_A, KC_R, KC_S, KC_T, _______, - KC_LSFT,_______,_______,KC_C, KC_D, _______,_______, - _______,_______,KC_TAB, KC_LALT,KC_LCTL, - QK_LOCK,_______, - _______, - KC_SPC, KC_LSFT,_______, - - ooooooo,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,KC_N, KC_E, KC_I, KC_O, _______, - _______,_______,_______,_______,_______,_______,_______, - MO_FN, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, - KC_BTN3,_______, - KC_BTN2, - KC_BTN1,KC_ENT, KC_BSPC -), - - -[L_NUMBERS] = LAYOUT_ergodox( - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,KC_LGUI,KC_LALT,KC_LSFT,KC_LCTL,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,_______, - - _______,KC_NUM, _______,_______,_______,_______,_______, - KC_NUM, KC_HASH,KC_P7, KC_P8, KC_P9, KC_PSLS,SFT_TAB, - KC_PPLS,KC_P4, KC_P5, KC_P6, KC_PAST,KC_TAB, - _______,KC_PMNS,KC_P1, KC_P2, KC_P3, KC_BSLS,KC_EQL, - KC_P0, KC_P0, KC_PDOT,KC_PENT,_______, - _______,_______, - _______, - _______,_______,_______ -), - - -[L_SYMBOLS] = LAYOUT_ergodox( - _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______,KC_AT, KC_LT, KC_DLR, KC_GT, XXXXXXX,_______, - _______,KC_BSLS,KC_LPRN,KC_DQUO,KC_RPRN,KC_HASH, - _______,KC_EXLM,KC_COLN,KC_ASTR,KC_PLUS,XXXXXXX,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - ooooooo,_______,_______, - - _______,KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______,XXXXXXX,KC_LBRC,KC_UNDS,KC_RBRC,XXXXXXX,KC_F12, - KC_PERC,KC_LCBR,KC_EQL, KC_RCBR,KC_PIPE,_______, - _______,XXXXXXX,KC_AMPR,KC_CIRC,KC_TILD,KC_GRV, _______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,ooooooo -), - - -[L_NAVIGATION] = LAYOUT_ergodox( - _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, - _______,OS_UNDO,OS_CUT, OS_PAST,OS_COPY,OS_SALL,_______, - _______,KC_LGUI,KC_LSFT,KC_LALT,KC_LCTL,_______, - _______,WIN_V, _______,_______,OS_FIND,SEARCH, _______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,_______, - - _______,KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - _______,KC_PGUP,KC_HOME,KC_UP, KC_END, KC_DEL, KC_F12, - KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT,KC_BSPC,_______, - _______,_______,SFT_TAB,KC_TAB, KC_APP, KC_PSCR,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,ooooooo -), - - -[L_FN] = LAYOUT_ergodox( - _______,_______,_______,_______,_______,_______,_______, - _______,QK_VERS,_______,DM_REC2,DM_REC1,DM_RSTP,_______, - _______,QK_MAKE,_______,DM_PLY2,DM_PLY1,_______, - _______,QK_FLSH,K_SECR1,K_SECR2,K_SECR3,K_SECR4,_______, - _______,_______,_______,ooooooo,_______, - _______,_______, - _______, - KC_LCTL,_______,_______, - - _______,_______,_______,_______,_______,_______,_______, - _______,KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12, _______, - KC_MUTE,KC_F5, KC_F6, KC_F7, KC_F8, _______, - _______,KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4, _______, - _______,ooooooo,_______,_______,_______, - _______,QK_BOOT, - _______, - _______,_______,KC_LALT -), - - -[L_MACROS] = LAYOUT_ergodox( - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,DM_REC2,DM_REC1,_______,_______, - _______,_______,_______,DM_PLY2,DM_PLY1,DM_RSTP, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - ooooooo,_______,_______, - - _______,_______,_______,_______,_______,_______,_______, - _______,_______,SHEBANG,_______,_______,_______,_______, - PRG_NE, PRG_EQ, PRG_GEQ,PRG_LEQ,PRG_ARR,_______, - _______,_______,PS_ITEM,FS_PIPE,_______,FS_ARR, _______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,ooooooo -), - - - -[L_SYSLEDS] = LAYOUT_ergodox( - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______, - _______,_______, - _______, - _______,_______,_______, - - KC_NUM, _______,_______,_______,_______,_______,_______, - KC_CAPS,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,_______,_______, - KC_SCRL,_______,_______,_______,_______,_______,_______, - _______,_______,_______,_______,ooooooo, - _______,_______, - _______, - _______,_______,_______ -) - -// Template -// [_NUMBERS] = LAYOUT_ergodox( -// _______,_______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______, -// _______,_______, -// _______, -// _______,_______,_______, - -// _______,_______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______,_______,_______, -// _______,_______,_______,_______,_______, -// _______,_______, -// _______, -// _______,_______,_______ -// ), - -}; - -void keyboard_post_init_user_kb(void) { - ergodox_right_led_1_on(); -} - - -//////////////////////////////////////////////////////////// -// System LED code -//////////////////////////////////////////////////////////// - -// We need to track both the layer state and the system LED state in -// order to update the LEDs appropriately when either one changes. -// These are both represented as a bitmask. -// -// There is a global 'layer_state' variable but it is set after the call -// to layer_state_set_user(), so it doesn't work properly for our -// purposes. -static uint32_t current_layer_state = 0; -static uint8_t sys_led_state = 0; - -// Whether the given layer (one of the constant defined at the top) is active. -#define LAYER_ON(state, layer) (state & (1<count == 1) { @@ -116,7 +116,7 @@ static void videck_tap_dance_finished (qk_tap_dance_state_t *state, void *user_d } } -static void videck_tap_dance_reset (qk_tap_dance_state_t *state, void *user_data) { +static void videck_tap_dance_reset (tap_dance_state_t *state, void *user_data) { videck_tap_dance_tuple_t *const tuple = (videck_tap_dance_tuple_t *)user_data; if (state->count == 1) { @@ -139,7 +139,7 @@ static void videck_caps_trigger (const uint16_t kc) { .user_data = (void *)&((videck_tap_dance_tuple_t) { kc1, kc2, double_trigger }), \ } -qk_tap_dance_action_t tap_dance_actions[] = { +tap_dance_action_t tap_dance_actions[] = { [TD_L] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_LSFT, KC_CAPS, videck_caps_trigger), [TD_R] = ACTION_TAP_DANCE_DOUBLE_TRIGGER(KC_RSFT, KC_CAPS, videck_caps_trigger) }; diff --git a/layouts/community/ergodox/yoruian/keymap.c b/layouts/community/ergodox/yoruian/keymap.c index a5ffcd886c..c51a3586c6 100644 --- a/layouts/community/ergodox/yoruian/keymap.c +++ b/layouts/community/ergodox/yoruian/keymap.c @@ -17,7 +17,7 @@ #include "yoruian.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_ergodox_YORUIAN\ +[0] = LAYOUT_ergodox_YORUIAN (9, 7, 5, 3, 1, GRV, MINS, EQL, LBRC, 0, 2, 4, 6, 8, ES, RBRC, Y, O, R, BSLS, P3, P3, J, V, D, F, W, Q, LC, U, I, A, N, SCLN, M, H, T, S, C, RC, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { BSPC, RALT, P2, TAB, NO, NO, E, LSFT, NO, NO, ENT, SPC), -[1] = LAYOUT_ergodox_YORUIAN\ +[1] = LAYOUT_ergodox_YORUIAN (TR, TR, TR, TR, TR, TR, TR, TR, TR, F5, F6, F7, F8, F9, TR, TR, TR, TR, TR, TR, TR, TR, TR, F1, F2, F3, F4, FT, TR, TR, TR, TR, TR, TR, PAUS, LEFT, DOWN, UP, RGHT, FE, diff --git a/layouts/community/ergodox/zweihander-macos/config.h b/layouts/community/ergodox/zweihander-macos/config.h new file mode 100644 index 0000000000..5f414d86e7 --- /dev/null +++ b/layouts/community/ergodox/zweihander-macos/config.h @@ -0,0 +1,14 @@ +/* + Set any config.h overrides for your specific keymap here. + See config.h options at https://docs.qmk.fm/#/config_options?id=the-configh-file +*/ + +#pragma once +// 15, the default, is too low for Kailh Coppers. I get lots of double presses. +// (ba-dum tish) +// #undef DEBOUNCE +// #define DEBOUNCE 22 + +// Reduce USB power consumption to 100 mA to make it work with a Lightning to USB 3 Camera Adapter (MK0W2AM/A). ZSA says 100 mA is high enough for the keyboard if you disable the big Shine/Glow LEDs first. +#undef USB_MAX_POWER_CONSUMPTION +#define USB_MAX_POWER_CONSUMPTION 100 diff --git a/layouts/community/ergodox/zweihander-macos/keymap.c b/layouts/community/ergodox/zweihander-macos/keymap.c index d1c444f48d..cbf258745b 100644 --- a/layouts/community/ergodox/zweihander-macos/keymap.c +++ b/layouts/community/ergodox/zweihander-macos/keymap.c @@ -8,6 +8,23 @@ // Best viewed in Xcode in Menlo Regular or SF Mono. +enum custom_keycodes { + NEWITEM = SAFE_RANGE, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case NEWITEM: + if (record->event.pressed) { + // when keycode NEWITEM is pressed + SEND_STRING("\n- "); // starts a new item in a Markdown-style list + } + // else-clause (for when NEWITEM is released) omitted + break; + } + return true; // the key press we just processed should continue to be processed as normal +}; + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer * @@ -23,25 +40,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | L⌃ | L⌥ | L⌘ | ← | → | | ↑ | ↓ | [ | ] | ↩︎ | * `----------------------------------' `----------------------------------' * ,-------------. ,---------------. - * | `~ | '" | | ⎋ | ⌫ | + * | `~ | ⇪ | | ⎋ | ⌫ | * ,------|------|------| |------+--------+------. - * | | | PgUp | | PgDn | | | + * | | | L⌥ | | R⌥ | | | * | ↩︎ | ⇥ |------| |------| ⇥ | | - * | | | R⌥ | | R⌃ | | | + * | | | L⌃ | | R⌃ | | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. // Otherwise, it needs KC_* [BASE] = LAYOUT_ergodox( // layer 0 : default // left hand - KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), - KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), - KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, - KC_LCTL, KC_LALT, KC_LGUI,KC_LEFT,KC_RGHT, - KC_GRV, KC_QUOT, - KC_PGUP, - KC_ENT ,KC_TAB ,KC_RALT, + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, TG(SYMB), + KC_DEL, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(SYMB), + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, + KC_LCTL, KC_LALT, KC_LGUI, KC_LEFT,KC_RGHT, + KC_GRV, KC_CAPS, + KC_LALT, + KC_ENT ,KC_TAB ,KC_LCTL, // right hand TG(SYMB), KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, MO(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, @@ -49,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_RGUI, KC_N, KC_M, KC_COMM,KC_DOT, RALT_T(KC_SLSH), KC_RSFT, KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_ENT , KC_ESC, KC_BSPC, - KC_PGDN, + KC_RALT, KC_RCTL, KC_TAB, KC_SPC ), /* Keymap 1: Symbol Layer @@ -59,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | [ | ] | { | } | " | | | | / | 7 | 8 | 9 | * | F12 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | < | > | ( | ) | ' |------| |------| - | 4 | 5 | 6 | + | | + * | | < | > | ( | ) | ' |------| |------| - | 4 | 5 | 6 | + | `~ | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | = | | | | : | 1 | 2 | 3 | = | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -79,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, KC_TRNS,KC_LBRC,KC_RBRC,KC_LCBR,KC_RCBR,KC_DQT ,KC_TRNS, KC_TRNS,KC_LABK,KC_RABK,KC_LPRN,KC_RPRN,KC_QUOT, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_EQL ,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,NEWITEM,KC_EQL ,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, @@ -87,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // right hand KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, KC_SLSH, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, - KC_MINS, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_MINS, KC_4, KC_5, KC_6, KC_PLUS, KC_GRV, KC_TRNS, KC_COLN, KC_1, KC_2, KC_3, KC_EQL, KC_TRNS, KC_0, KC_DOT, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, @@ -97,9 +114,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 2: Media keys * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | F14 | F15 |PrtScr|SclLck| Pause| | | | ⌘W | ⌘⇧` | ⌘` | | | Power | + * | | F14 | F15 |PrtScr|SclLck| Pause| | | | ⌘W | ⌘⇧` | ⌘` | | ⏏ | Power | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| - * | | | | PgUp | | | | | | ⌘] | ⌥⌘↑ | ↑ | ⌥⌘↓ | | | + * | | | ⌥↑ | PgUp | ⌥↓ | | | | | ⌘] | ⌥⌘↑ | ↑ | ⌥⌘↓ | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | Home | PgDn | End | |------| |------| ⌘[ | ← | ↓ | → | | F16 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| @@ -110,29 +127,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,-------------. ,-------------. * | | | | | | * ,------|------|------| |------+------+------. - * | | | Home | | End | | | + * | | | | | | | | * | | |------| |------| ⌘C | ⌘V | * | | | | | ⌘X | | | * `--------------------' `--------------------' */ // MEDIA AND MOUSE [MDIA] = LAYOUT_ergodox( - KC_TRNS, KC_F14 , KC_F15 , KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, /* F14 dims screen, F15 brightens */ - KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END , 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_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_F14 , KC_F15 , KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, /* F14 dims screen, F15 brightens */ + KC_TRNS, KC_TRNS, LALT(KC_UP), KC_PGUP, LALT(KC_DOWN), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END , 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, // right hand - KC_TRNS, LGUI(KC_W), LGUI(LSFT(KC_GRV)), LGUI(KC_GRV), KC_TRNS, KC_TRNS, KC_PWR, + KC_TRNS, LGUI(KC_W), LGUI(LSFT(KC_GRV)), LGUI(KC_GRV), KC_TRNS, KC_EJCT, KC_PWR, KC_TRNS, LGUI(KC_RBRC), LGUI(LALT(KC_UP)), KC_UP , LGUI(LALT(KC_DOWN)), KC_TRNS, KC_TRNS, LGUI(KC_LBRC), KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_F16 , KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_END , + KC_TRNS, LGUI(KC_X), LGUI(KC_C), LGUI(KC_V) ), }; @@ -158,5 +175,4 @@ void matrix_scan_user(void) { // none break; } - }; diff --git a/layouts/community/ergodox/zweihander-macos/readme.markdown b/layouts/community/ergodox/zweihander-macos/readme.markdown index 8921647bd3..fa65e2faad 100644 --- a/layouts/community/ergodox/zweihander-macos/readme.markdown +++ b/layouts/community/ergodox/zweihander-macos/readme.markdown @@ -6,12 +6,10 @@ This README refers to two secondary layers: the Media Layer and the Symbol Layer This layout is tuned for people who… - ## use macOS While this layout works fine in Windows, it’s not tuned for it. No sane person who primarily uses Windows would put this many Windows keys on a keyboard layout. That said, Print Screen, Scroll Lock, and Pause are available in their usual order on the Media Layer if you need them. - ## mouse left-handed while doing other things with the right hand I tend to have my mouse in my left hand, but I like to use my other hand to make things go faster. I’ve added a bunch of buttons to the Media Layer (hold ;) to speed up browsing in applications like Safari and Finder: @@ -29,8 +27,7 @@ I also have a few keys dedicated to window management: Cut, Copy, and Paste (⌘X, ⌘C, and ⌘V) are also available on the three bottommost right-thumb buttons if you hold ;. - -## use lots of modifier keys in OS X menu-item shortcuts +## use lots of modifier keys in macOS menu-item shortcuts I wanted to preserve the feel of a number of shortcuts that involve pressing lots of modifier keys at once. This is why the bottom left of the keyboard has Shift, Control, Option, and Command in the usual spots. Further I’ve added affordances so some key combinations are easier to press with just the right hand. @@ -43,31 +40,43 @@ I also put a second Backspace (⌫) key on the right half of the keyboard to mak Pressing and holding / will give you Option. This makes a number of keyboard shortcuts easy to press with just the right hand: -- ⌥↑ — Move Line Up -- ⌥↓ — Move Line Down +- ⌥↑ — Move Line Up (in Visual Studio Code) +- ⌥↓ — Move Line Down (in Visual Studio Code) - ⌥⇧↑ — Copy Line Up / Go To Previous Channel With Unread Messages - ⌥⇧↓ — Copy Line Down / Go To Next Channel With Unread Messages - ## use Emacs-style shortcuts -I press C-a, C-e, and C-k all the time. It’s difficult to press these key combinations with the Control key on the far left, so the leftmost thumb button on the right side is another Control key. +I press C-a, C-e, and C-k all the time. It’s difficult to press these key combinations with the Control key on the far left, so the innermost thumb buttons are Control keys. Above/inside them are Option keys. -Having trouble remembering which innermost thumb key is Alt and which is Control? The two’re like on the lower right of a normal keyboard — leftmost is Alt, rightmost is Control. +## use Visual Studio Code +;-W and ;-R are bound to ⌥↑ and ⌥↓, respectively, for moving lines up and down in Visual Studio Code. In normal macOS applications, they’re used for moving the cursor to the beginning and end of a line, and then on to the previous/next line. ## use spreadsheets All the common spreadsheet operations (+-*/=) are on the right side of the Symbol Layer. Make-numbers-bigger (+, \*) operations on the right; make-numbers-smaller (-, /) on the left. There’s also a colon there for entering times and maybe IPv6 addresses. - ## know the ↑↓←→ fn-key shortcuts for MacBooks Have you looked at the Page Up, Page Down, Home, and End keys on the EDSF keys and wondered why they’re arranged that way? They’re arranged the same way as the fn-key shortcuts on an Apple laptop’s arrow keys. On Apple keyboards with an\* fn key, if you press fn-↑, you’ll get Page Up; if you press fn-← you’ll get Home. Similarly, on Zweihander, ;-E is Page Up and ;-S is Home. +## write a fair bit of Markdown + +If you’re on the second layer (hold/tap one of the four inside middle top keys), the `'` button on the far right is a `\`` key. + +If you’re on the second layer, pressing `v` will send the string `"\n- "`, not including the quotation marks. This is intended to be a faster way to make a new list item when writing meeting notes in Markdown. ## use Siri F16, accessed by holding ; and pressing the ' key next to it, is intended for Siri. +## use the fn/🌐︎︎︎ key + +A thumb key is bound to Caps Lock. You are not expected to use this for Caps Lock. You would probably be happier going into System Settings, opening the “Customize modifier keys” part of it, and having Caps Lock work as the fn key. macOS is convinced that Ergodoxen EZ have fn keys, so you might as well have one in a place that lends itself tolerably well to keyboard shortcuts. + +## use it with an iPad + +This layout overrides `USB_MAX_POWER_CONSUMPTION` to turn it down to 100 mA instead of the default of 500 mA. This is not what you want if your Ergodox EZ has the Shine or Glow lights, but good if you want to be able to plug it into your iPad’s lightning port with a USB adapter. The indicator lights that tell you what layer you’re on are _not_ Shine or Glow lights. + \* I pronounce “fn” as “effin’”. Your mileage may vary. -- cgit v1.2.3