diff options
author | lokher <lokher@gmail.com> | 2022-12-06 17:10:48 +0800 |
---|---|---|
committer | lokher <lokher@gmail.com> | 2022-12-07 15:50:49 +0800 |
commit | a336c2c5005251e4cb0f3a62ccabdb4cfccad915 (patch) | |
tree | 3c948b631a5e3b6f940dabe02fad3c7487e6f350 /keyboards/bastardkb/dilemma/3x5_2/keymaps/via | |
parent | 27fc28fd2ff52e079a5bc58d6aaea4c752420615 (diff) |
Merge upstream master to 2022 Q4 breaking change
Diffstat (limited to 'keyboards/bastardkb/dilemma/3x5_2/keymaps/via')
4 files changed, 0 insertions, 340 deletions
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h deleted file mode 100644 index 5bfac4b6c5..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly) - * - * 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 - -#ifdef VIA_ENABLE -/* VIA configuration. */ -# define DYNAMIC_KEYMAP_LAYER_COUNT 6 -#endif // VIA_ENABLE - -/** - * \brief Prevent normal rollover on alphas from accidentally triggering mods. - * - * Ignores key presses that interrupt a mod-tap. Must-have for Home Row mod. - * - * Without `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ Mod+e - * With `IGNORE_MOD_TAP_INTERRUPT`, within `TAPPING_TERM`: - * Mod(a)🠗 e🠗 Mod(a)🠕 e🠕 ➞ ae - */ -#define IGNORE_MOD_TAP_INTERRUPT - -/* Charybdis-specific features. */ - -#ifdef POINTING_DEVICE_ENABLE -// Automatically enable the pointer layer when moving the trackball. See also: -// - `DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS` -// - `DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD` -// #define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE -#endif // POINTING_DEVICE_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/keymap.c deleted file mode 100644 index b3aeaf014f..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/keymap.c +++ /dev/null @@ -1,229 +0,0 @@ -/** - * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly) - * - * 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/>. - */ -#include QMK_KEYBOARD_H - -#ifdef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE -# include "timer.h" -#endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE - -enum dilemma_keymap_layers { - LAYER_BASE = 0, - LAYER_FUNCTION, - LAYER_NAVIGATION, - LAYER_POINTER, - LAYER_NUMERAL, - LAYER_SYMBOLS, -}; - -// Automatically enable sniping-mode on the pointer layer. -#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER - -#ifdef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE -static uint16_t auto_pointer_layer_timer = 0; - -# ifndef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS -# define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000 -# endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS - -# ifndef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD -# define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8 -# endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD -#endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE - -#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC) -#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB) -#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT) -#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC) -#define _L_PTR(KC) LT(LAYER_POINTER, KC) - -#ifndef POINTING_DEVICE_ENABLE -# define DRGSCRL KC_NO -# define DPI_MOD KC_NO -# define S_D_MOD KC_NO -# define SNIPING KC_NO -#endif // !POINTING_DEVICE_ENABLE - -// clang-format off -/** \brief QWERTY layout (3 rows, 10 columns). */ -#define LAYOUT_LAYER_BASE \ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \ - KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \ - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \ - TAB_FUN, SPC_NAV, ENT_SYM, BSP_NUM - -/** Convenience row shorthands. */ -#define _______________DEAD_HALF_ROW_______________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX -#define ______________HOME_ROW_GACS_L______________ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX -#define ______________HOME_ROW_GACS_R______________ XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI - -/* - * Layers used on the Dilemma. - * - * These layers started off heavily inspired by the Miryoku layout, but trimmed - * down and tailored for a stock experience that is meant to be fundation for - * further personalization. - * - * See https://github.com/manna-harbour/miryoku for the original layout. - */ - -/** - * \brief Function layer. - * - * Secondary right-hand layer has function keys mirroring the numerals on the - * primary layer with extras on the pinkie column, plus system keys on the inner - * column. App is on the tertiary thumb key and other thumb keys are duplicated - * from the base layer to enable auto-repeat. - */ -#define LAYOUT_LAYER_FUNCTION \ - _______________DEAD_HALF_ROW_______________, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \ - ______________HOME_ROW_GACS_L______________, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, \ - _______________DEAD_HALF_ROW_______________, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \ - _______, XXXXXXX, XXXXXXX, XXXXXXX - -/** \brief Mouse emulation and pointer functions. */ -#define LAYOUT_LAYER_POINTER \ - QK_BOOT, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, QK_BOOT, \ - ______________HOME_ROW_GACS_L______________, ______________HOME_ROW_GACS_R______________, \ - _______, DRGSCRL, SNIPING, KC_BTN3, XXXXXXX, XXXXXXX, KC_BTN3, SNIPING, DRGSCRL, _______, \ - KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2 - -/** - * \brief Navigation layer. - * - * Primary right-hand layer (left home thumb) is navigation and editing. Cursor - * keys are on the home position, line and page movement below, clipboard above, - * caps lock and insert on the inner column. Thumb keys are duplicated from the - * base layer to avoid having to layer change mid edit and to enable auto-repeat. - */ -#define LAYOUT_LAYER_NAVIGATION \ - _______________DEAD_HALF_ROW_______________, _______________DEAD_HALF_ROW_______________, \ - ______________HOME_ROW_GACS_L______________, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \ - _______________DEAD_HALF_ROW_______________, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \ - XXXXXXX, _______, KC_ENT, KC_BSPC - -/** - * \brief Numeral layout. - * - * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals - * are in the standard numpad locations with symbols in the remaining positions. - * `KC_DOT` is duplicated from the base layer. - */ -#define LAYOUT_LAYER_NUMERAL \ - KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, _______________DEAD_HALF_ROW_______________, \ - KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GACS_R______________, \ - KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, _______________DEAD_HALF_ROW_______________, \ - KC_MINS, KC_0, XXXXXXX, _______ - -/** - * \brief Symbols layer. - * - * Secondary left-hand layer has shifted symbols in the same locations to reduce - * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to - * `KC_RPRN`. - */ -#define LAYOUT_LAYER_SYMBOLS \ - KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, _______________DEAD_HALF_ROW_______________, \ - KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GACS_R______________, \ - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, _______________DEAD_HALF_ROW_______________, \ - KC_GRV, KC_UNDS, _______, XXXXXXX - -/** - * \brief Add Home Row mod to a layout. - * - * Expects a 10-key per row layout. Adds support for GACS (Gui, Alt, Ctl, Shift) - * home row. The layout passed in parameter must contain at least 20 keycodes. - * - * This is meant to be used with `LAYER_ALPHAS_QWERTY` defined above, eg.: - * - * HOME_ROW_MOD_GACS(LAYER_ALPHAS_QWERTY) - */ -#define _HOME_ROW_MOD_GACS( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - LGUI_T(L10), LALT_T(L11), LCTL_T(L12), LSFT_T(L13), L14, \ - R15, RSFT_T(R16), RCTL_T(R17), LALT_T(R18), RGUI_T(R19), \ - __VA_ARGS__ -#define HOME_ROW_MOD_GACS(...) _HOME_ROW_MOD_GACS(__VA_ARGS__) - -/** - * \brief Add pointer layer keys to a layout. - * - * Expects a 10-key per row layout. The layout passed in parameter must contain - * at least 30 keycodes. - * - * This is meant to be used with `LAYER_ALPHAS_QWERTY` defined above, eg.: - * - * POINTER_MOD(LAYER_ALPHAS_QWERTY) - */ -#define _POINTER_MOD( \ - L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \ - L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \ - ...) \ - L00, L01, L02, L03, L04, \ - R05, R06, R07, R08, R09, \ - L10, L11, L12, L13, L14, \ - R15, R16, R17, R18, R19, \ - _L_PTR(L20), L21, L22, L23, L24, \ - R25, R26, R27, R28, _L_PTR(R29), \ - __VA_ARGS__ -#define POINTER_MOD(...) _POINTER_MOD(__VA_ARGS__) - -#define LAYOUT_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__) - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_BASE] = LAYOUT_wrapper( - POINTER_MOD(HOME_ROW_MOD_GACS(LAYOUT_LAYER_BASE)) - ), - [LAYER_FUNCTION] = LAYOUT_wrapper(LAYOUT_LAYER_FUNCTION), - [LAYER_NAVIGATION] = LAYOUT_wrapper(LAYOUT_LAYER_NAVIGATION), - [LAYER_NUMERAL] = LAYOUT_wrapper(LAYOUT_LAYER_NUMERAL), - [LAYER_POINTER] = LAYOUT_wrapper(LAYOUT_LAYER_POINTER), - [LAYER_SYMBOLS] = LAYOUT_wrapper(LAYOUT_LAYER_SYMBOLS), -}; -// clang-format on - -#ifdef POINTING_DEVICE_ENABLE -# ifdef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - if (abs(mouse_report.x) > DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD || abs(mouse_report.y) > DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD) { - if (auto_pointer_layer_timer == 0) { - layer_on(LAYER_POINTER); - } - auto_pointer_layer_timer = timer_read(); - } - return mouse_report; -} - -void matrix_scan_user(void) { - if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) { - auto_pointer_layer_timer = 0; - layer_off(LAYER_POINTER); - } -} -# endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE - -# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER -layer_state_t layer_state_set_user(layer_state_t state) { - dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER)); - return state; -} -# endif // DILEMMA_AUTO_SNIPING_ON_LAYER -#endif // POINTING_DEVICE_ENABLE diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/readme.md deleted file mode 100644 index df40677f4d..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/readme.md +++ /dev/null @@ -1,67 +0,0 @@ -# Dilemma `via` keymap - -The Dilemma `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Dilemma. - -This layout also supports VIA. - -## Customizing the keymap - -### Dynamic DPI scaling - -Use the following keycodes to change the default DPI: - -- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted; -- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted. - -There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. - -Use the following keycodes to change the sniping mode DPI: - -- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted; -- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted. - -There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. - -### Drag-scroll - -Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press. - -### Circular scroll - -By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad. - -To disable this, add the following to your keymap: - -```c -#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE -``` - -### Sniping - -Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press. - -Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer: - -```c -#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER -``` - -### Auto pointer layer - -The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define: - -```c -#define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE -``` - -By default, the layer is turned off 1 second after the last registered trackball movement: - -```c -#define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000 -``` - -The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger: - -```c -#define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8 -``` diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/rules.mk deleted file mode 100644 index 1e5b99807c..0000000000 --- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/rules.mk +++ /dev/null @@ -1 +0,0 @@ -VIA_ENABLE = yes |