diff --git a/.gitmodules b/.gitmodules index c9589d76..4c4c8947 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,10 +3,4 @@ url = https://github.com/qmk/qmk_firmware [submodule "modules/getreuer/qmk-keymap"] path = modules/getreuer/qmk-keymap - url = https://github.com/getreuer/qmk-keymap -[submodule "modules/rafaelromao/zmk"] - path = modules/rafaelromao/zmk - url = https://github.com/rafaelromao/zmk -[submodule "modules/caksoylar/zmk-rgbled-widget"] - path = modules/caksoylar/zmk-rgbled-widget - url = https://github.com/caksoylar/zmk-rgbled-widget + url = https://github.com/getreuer/qmk-keymap \ No newline at end of file diff --git a/docs/base.md b/docs/base.md index f6a6cf9d..1daa07f0 100644 --- a/docs/base.md +++ b/docs/base.md @@ -11,19 +11,19 @@ - The Alpha1 layer is the base layer, which contains the most common alphas of Portuguese and English, plus comma and period. It is extended by the Alpha2 layer. ### Secondary Alpha Layer -- The Alpha2 layer has common Portuguese accented letters, readily available with a single tap on the right inner thumb key (OS Accents), making them as easy to type as shifted letters, which are available with a single tap on the right outer thumb key (OS Shift). -- There are dedicated accent keys for à á â é ê ó ô ú í and ç, as well as a dead key for ~, which is all that is needed for Portuguese. -- This layer also gives access to comma, dot and replicated versions of q, y, w, v, z and j, that are not available in the base layer, for the 24 keys variant, as well as an standalone apostrophe character in the thumb. +- The Alpha2 layer has common Portuguese accentuated letters, readily available with a single tap on the right inner thumb key, along with the alphas that are missing in the base layer. +- There are dedicated keys for `à` `á` `â` `é` `ê` `ó` `ô` `ú` `í` and `ç`, as well, which is all that is needed for Portuguese. - This two alpha layers approach is based on [Ben Vallack's keymap](https://youtu.be/5RN_4PQ0j1A?si=f9OkOvNdL3jE4seR). +### Magic Key +- The Bottom Row Index Key, in the right hand, is programmed to act as a Magic Key. It will behave like `H` after most consonants, like `V` after vowels or accentuated vowels, like `Y` after `B`, `M`, `D` and `F`, and will reactivate the Secondary Alpha Layer when tapped after a consonant from the Secondary Alpha Layer. To see more about that, check the [Magic Romak](https://github.com/rafaelromao/romak/tree/main?tab=readme-ov-file#magic-romak) page. + ## Smart Thumb Keys - The Smart Thumb keys in this layout change behavior according to the context (active layer, active modifiers and more). - The four thumb keys control layer transitions, when held (Navigation, Lower, Raise and Media). -### Smart Repeat / Magic Key -- The outer left thumb key repeats the last key by default (Repeat Key), but outputs an alternate result for keys that do not worth repeating (Alternate Repeat Key). -- When tapped in the secondary alpha layer, this key outputs alternate results by default (Magic Key), but repeats the key when there is no predefined alternate result. - - See more about that [here](https://github.com/rafaelromao/romak/tree/main?tab=readme-ov-file#magic-romak). +### Repeat Key +- The outer left thumb key repeats the last key by default, but outputs an alternate result for keys that do not worth repeating. For `Ç`, the repeat key reactivates the Secondary Alpha Layer, which makes it easier to type `çã` and `çõ`. - Holding this key in the base layer will activate the [Navigation](../navigation.md) layer. - Tapping or holding this key in the [Raise](../symbols.md) layer acts as a normal Repeat Key, which can be used to spam or to repeat shortcuts. diff --git a/docs/cygnus.md b/docs/cygnus.md deleted file mode 100644 index ac751f7b..00000000 --- a/docs/cygnus.md +++ /dev/null @@ -1,28 +0,0 @@ -# Dactyl Cygnus -### A 36 keys handwired split keyboard. - -For the complete documentation and source files, go to [this page](../src/zmk/boards/handwired/boards/shields/cygnus). - -## The pictures below show some steps in the handwiring process of this board. - -For better handwiring instructions, see [this video](https://youtu.be/h_ex-oMVOrI) of the creator of the board. - -### Improved build, using single switch PCBs: - -Where the battery would go -![img](../img/cygnus/01.jpeg) - -Single Switch PCBs soldered (inner thumb would later be disconnected from the matrix to implement a dedicated soft-off button) -![img](../img/cygnus/02.jpeg) - -Preparing the MCU (final pinout would be different) -![img](../img/cygnus/03.jpeg) - -Connecting the rows (final pinout would be different. I also removed the battery connector and used F-M dupont cables instead) -![img](../img/cygnus/04.jpeg) - -Final connections for the right side -![img](../img/cygnus/05.jpeg) - -Final Build -![img](../img/cygnus/06.jpeg) diff --git a/docs/system.md b/docs/system.md index 03e578bf..8486b40d 100644 --- a/docs/system.md +++ b/docs/system.md @@ -4,7 +4,7 @@ The System layer is activated holding both pinky keys and allows us to: - Put the keyboard in bootloader mode. - Reset the keyboard memory. -- Configure Bluetooth and RGB lights. +- Configure RGB lights. - Put the host computer in sleep mode, lock it or power it off. - Change the operating system used in keys that are OS aware, like the shortcut combos. diff --git a/img/aellopos.jpeg b/img/aellopos.jpeg deleted file mode 100644 index 6151f348..00000000 Binary files a/img/aellopos.jpeg and /dev/null differ diff --git a/img/cygnus.jpeg b/img/cygnus.jpeg deleted file mode 100644 index 4ad84157..00000000 Binary files a/img/cygnus.jpeg and /dev/null differ diff --git a/img/cygnus/01.jpeg b/img/cygnus/01.jpeg deleted file mode 100644 index 30cf0e75..00000000 Binary files a/img/cygnus/01.jpeg and /dev/null differ diff --git a/img/cygnus/02.jpeg b/img/cygnus/02.jpeg deleted file mode 100644 index 8844df79..00000000 Binary files a/img/cygnus/02.jpeg and /dev/null differ diff --git a/img/cygnus/03.jpeg b/img/cygnus/03.jpeg deleted file mode 100644 index c5cc2ad1..00000000 Binary files a/img/cygnus/03.jpeg and /dev/null differ diff --git a/img/cygnus/04.jpeg b/img/cygnus/04.jpeg deleted file mode 100644 index f79e694d..00000000 Binary files a/img/cygnus/04.jpeg and /dev/null differ diff --git a/img/cygnus/05.jpeg b/img/cygnus/05.jpeg deleted file mode 100644 index f220269b..00000000 Binary files a/img/cygnus/05.jpeg and /dev/null differ diff --git a/img/cygnus/06.jpeg b/img/cygnus/06.jpeg deleted file mode 100644 index 4ad84157..00000000 Binary files a/img/cygnus/06.jpeg and /dev/null differ diff --git a/img/overview.png b/img/overview.png index 4f9e33a4..97066a84 100644 Binary files a/img/overview.png and b/img/overview.png differ diff --git a/img/zen.jpeg b/img/zen.jpeg deleted file mode 100644 index 4d6ebf22..00000000 Binary files a/img/zen.jpeg and /dev/null differ diff --git a/init_zmk.sh b/init_zmk.sh deleted file mode 100755 index 8236170f..00000000 --- a/init_zmk.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash - -KEYBOARD_HOME="$(pwd)" -export ZMK_HOME="$KEYBOARD_HOME/modules/rafaelromao/zmk" -RGBWIDGET_HOME="$KEYBOARD_HOME/modules/caksoylar/zmk-rgbled-widget" - -if [[ ! -d "$RGBWIDGET_HOME" ]] -then - echo "Add git sub-modules..." - git submodule add -f https://github.com/caksoylar/zmk-rgbled-widget modules/caksoylar/zmk-rgbled-widget -fi - -INIT=false -if [[ ! -d "$ZMK_HOME/.west" ]] -then - INIT=true - echo "Add git sub-modules..." - git submodule add -f https://github.com/rafaelromao/zmk modules/rafaelromao/zmk -fi - -echo "Update git sub-modules..." -git submodule sync --recursive -git submodule update --init --recursive --progress - -echo "Checking out zmk..." -cd $ZMK_HOME -git fetch -git checkout 20240328/rafaelromao/main -git pull -cd $KEYBOARD_HOME - -if [[ "${INIT}" == "true" ]] -then - echo "Initializing West..." - cd $ZMK_HOME - west init -l app/ - west update - west zephyr-export - cd $KEYBOARD_HOME -fi - -echo "Exporting Zephyr Toolchain..." -cd $ZMK_HOME -unset ZEPHYR_TOOLCHAIN_VARIANT -unset GNUARMEMB_TOOLCHAIN_PATH -export ZEPHYR_SDK_INSTALL_DIR=~/zephyr-sdk-0.16.3 -cd $KEYBOARD_HOME - -echo "Creating Reset build alias..." -build_reset_unibody="west build -s app -b nice_nano_v2 --build-dir build/reset -- -DSHIELD='settings_reset'" -archive_reset_unibody="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/reset/zephyr/zmk.uf2 ] && mv build/reset/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/reset-zmk.uf2" -alias build_reset="cd ${ZMK_HOME} && ${build_reset_unibody} && ${archive_reset_unibody} && cd $KEYBOARD_HOME" - -echo "Creating Zen build alias..." -build_zen_left="west build -s app -b corneish_zen_v2_left --build-dir build/corneish_zen_left -- -DZMK_CONFIG=$KEYBOARD_HOME/src/zmk/boards/lowprokb.ca/corneish-zen" -build_zen_right="west build -s app -b corneish_zen_v2_right --build-dir build/corneish_zen_right -- -DZMK_CONFIG=$KEYBOARD_HOME/src/zmk/boards/lowprokb.ca/corneish-zen" -archive_zen_left="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/corneish_zen_left/zephyr/zmk.uf2 ] && mv build/corneish_zen_left/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/corneish_zen_v2_left-zmk.uf2" -archive_zen_right="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/corneish_zen_right/zephyr/zmk.uf2 ] && mv build/corneish_zen_right/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/corneish_zen_v2_right-zmk.uf2" -alias build_zen_both_sides="cd ${ZMK_HOME} && ${build_zen_left} && ${archive_zen_left} && ${build_zen_right} && ${archive_zen_right} && cd ${KEYBOARD_HOME}" -alias build_zen="cd ${ZMK_HOME} && ${build_zen_left} && ${archive_zen_left} && cd ${KEYBOARD_HOME}" - -echo "Creating Aellopos build alias..." -build_aellopos_unibody="west build -s app -b nice_nano_v2 --build-dir build/aellopos -- -DSHIELD='aellopos' -DZMK_CONFIG=$KEYBOARD_HOME/src/zmk/boards/handwired" -archive_aellopos_unibody="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/aellopos/zephyr/zmk.uf2 ] && mv build/aellopos/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/aellopos-zmk.uf2" -alias build_aellopos="cd ${ZMK_HOME} && ${build_aellopos_unibody} && ${archive_aellopos_unibody} && cd $KEYBOARD_HOME" - -echo "Creating Cygnus alias..." -build_cygnus_left="west build -s app -b nice_nano_v2 --build-dir build/cygnus_left -- -DSHIELD='cygnus_left' -DZMK_CONFIG=$KEYBOARD_HOME/src/zmk/boards/handwired" -build_cygnus_right="west build -s app -b nice_nano_v2 --build-dir build/cygnus_right -- -DSHIELD='cygnus_right' -DZMK_CONFIG=$KEYBOARD_HOME/src/zmk/boards/handwired" -archive_cygnus_left="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/cygnus_left/zephyr/zmk.uf2 ] && mv build/cygnus_left/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/cygnus_left-zmk.uf2" -archive_cygnus_right="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/cygnus_right/zephyr/zmk.uf2 ] && mv build/cygnus_right/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/cygnus_right-zmk.uf2" -alias build_cygnus_both_sides="cd ${ZMK_HOME} && ${build_cygnus_left} && ${archive_cygnus_left} && ${build_cygnus_right} && ${archive_cygnus_right} && cd ${KEYBOARD_HOME}" -alias build_cygnus="cd ${ZMK_HOME} && ${build_cygnus_left} && ${archive_cygnus_left} && cd ${KEYBOARD_HOME}" - -echo "Creating Testpad build alias..." -build_testpad_unibody="west build -s app -b seeeduino_xiao_ble --build-dir build/testpad -- -DSHIELD='testpad rgbled_adapter' -DZMK_CONFIG=$KEYBOARD_HOME/src/zmk/boards/handwired -DZMK_EXTRA_MODULES=$RGBWIDGET_HOME" -archive_testpad_unibody="mkdir -p $KEYBOARD_HOME/build/artifacts; [ -f build/testpad/zephyr/zmk.uf2 ] && mv build/testpad/zephyr/zmk.uf2 $KEYBOARD_HOME/build/artifacts/testpad-zmk.uf2" -alias build_testpad="cd ${ZMK_HOME} && ${build_testpad_unibody} && ${archive_testpad_unibody} && cd $KEYBOARD_HOME" \ No newline at end of file diff --git a/modules/caksoylar/zmk-rgbled-widget b/modules/caksoylar/zmk-rgbled-widget deleted file mode 160000 index 7975872b..00000000 --- a/modules/caksoylar/zmk-rgbled-widget +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7975872ba36e36fece9e96f8a6b6dca16f4a185f diff --git a/modules/rafaelromao/zmk b/modules/rafaelromao/zmk deleted file mode 160000 index b1242d87..00000000 --- a/modules/rafaelromao/zmk +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b1242d8751e342442cb3aa45415216bcff7ead7a diff --git a/readme.md b/readme.md index 68b179e3..4cada468 100644 --- a/readme.md +++ b/readme.md @@ -22,10 +22,11 @@ The following pages explain how this layout works and which features are impleme - [Smart Modifiers](docs/modifiers.md) - [Smart Thumb Keys](docs/base.md#smart-thumb-keys) -- [Smart Repeat / Magic Key](docs/base.md#smart-thumb-keys) - [Smart Shift / Caps Word](docs/base.md#smart-thumb-keys) - [Smart Cases](docs/modifiers.md#smart-cases) - [Sentence Case](docs/base.md#sentence-case) +- [Repeat Key](docs/base.md#repeat-key) +- [Magic Key](docs/base.md#magic-key) - [Shortcut Combos](docs/base.md#base-layer-combos) - [Numpad Layer](docs/symbols.md#numpad) - [NumWord](docs/symbols.md#numword) @@ -62,23 +63,7 @@ Some features are not available on all keyboards though. For instance, the BM40 ### ZMK -The zmk version used for this keymap is the one available in [this fork](https://github.com/rafaelromao/zmk), which contains some experimental code from [Nick Conway](https://github.com/nickconway/zmk-config), [Cem Aksoylar](https://github.com/caksoylar/zmk-config ), [Robert U](https://github.com/urob/zmk-config), [VoidYourWarranty2](https://github.com/voidyourwarranty2/zmk) and [Alexander Krikun](https://github.com/krikun98), to implement features like: -- [Swapper](https://github.com/zmkfirmware/zmk/pull/1366) -- [Smart Word](https://github.com/zmkfirmware/zmk/pull/1451) -- [Leader Key](https://github.com/zmkfirmware/zmk/pull/1380) -- [Dynamic Macros](https://github.com/zmkfirmware/zmk/pull/1351) -- [Adaptive Keys](https://github.com/zmkfirmware/zmk/pull/2042) -- [Mouse Keys](https://github.com/zmkfirmware/zmk/pull/778) -- [Some improvements for the Corne-ish Zen display](https://gist.github.com/caksoylar/c411313990978e1903c244f03039187a) - -This fork is also updated to Zephyr 3.5. - -The tested boards are listed below: - -- [Corne-ish Zen](src/zmk/boards/lowprokb.ca/corneish-zen/readme.md) -- [Dactyl Cygnus](src/zmk/boards/handwired/boards/shields/cygnus/readme.md) - -Some features might not be available in ZMK. [This readme file](src/zmk/rafaelromao/readme.md) will indicate what features are missing. +For the ZMK version, check the `main` branch. ## Building @@ -87,11 +72,6 @@ Some features might not be available in ZMK. [This readme file](src/zmk/rafaelro The script [init_qmk.sh](init_qmk.sh) will clone [the QMK firmware](https://github.com/qmk/qmk_firmware) and symlink these keyboard files on it. After [installing QMK](https://docs.qmk.fm/#/newbs_getting_started) and running the init script above, [qmk cli](https://docs.qmk.fm/#/cli) should be working to compile and flash. -### ZMK - -The script [init_zmk.sh](init_zmk.sh) will clone [the ZMK firmware](https://github.com/rafaelromao/zmk) and configure the toolchain. -After [installing ZMK](https://zmk.dev/docs/development/setup) and running the init script above, [west cli](https://zmk.dev/docs/development/build-flash) should be working to compile and flash. - ## References Most features implemented here were based on the work referenced below. @@ -118,12 +98,6 @@ Most features implemented here were based on the work referenced below. - [Treeman](https://github.com/treeman/qmk_firmware/tree/master/keyboards/ferris/keymaps/treeman) - [Thomas Baart](https://thomasbaart.nl/category/mechanical-keyboards/firmware/qmk) -### ZMK -- [Nick Conway](https://github.com/nickconway/zmk-config) -- [Cem Aksoylar](https://github.com/caksoylar/zmk-config ) -- [Robert U](https://github.com/urob/zmk-config) -- [Alexander Krikun](https://github.com/krikun98) - ### 3D Printing and Handwiring - [Jan Lunge](https://m.youtube.com/@JanLunge) - [Sadek Baroudi](https://github.com/sadekbaroudi) @@ -136,7 +110,6 @@ Most features implemented here were based on the work referenced below. - [KLE](http://www.keyboard-layout-editor.com/#/gists/38f4435ff9a10256d9a7e1a0645c2fec) - [Keymap DB](https://keymapdb.com/rafaelromao/) - [QMK Docs](https://docs.qmk.fm) -- [ZMK Docs](https://zmk.dev/docs) - [Keyboard Tester](https://config.qmk.fm/#/test) - [r/olkb](https://www.reddit.com/r/olkb) - [r/ErgoMechKeyboards](https://www.reddit.com/r/ErgoMechKeyboards) diff --git a/src/qmk/keyboards/kprepublic/bm40hsrgb/keymaps/rafaelromao/config.h b/src/qmk/keyboards/kprepublic/bm40hsrgb/keymaps/rafaelromao/config.h index 50873070..3c0701f5 100644 --- a/src/qmk/keyboards/kprepublic/bm40hsrgb/keymaps/rafaelromao/config.h +++ b/src/qmk/keyboards/kprepublic/bm40hsrgb/keymaps/rafaelromao/config.h @@ -1,4 +1,6 @@ #pragma once // Configure RGB -#define RGBLIGHT_HUE_STEP 20 \ No newline at end of file +#define RGBLIGHT_HUE_STEP 20 + +#define SAVE_MEMORY \ No newline at end of file diff --git a/src/qmk/keyboards/xiudi/xd75/keymaps/rafaelromao/config.h b/src/qmk/keyboards/xiudi/xd75/keymaps/rafaelromao/config.h index f5ca99f5..da42ccbe 100644 --- a/src/qmk/keyboards/xiudi/xd75/keymaps/rafaelromao/config.h +++ b/src/qmk/keyboards/xiudi/xd75/keymaps/rafaelromao/config.h @@ -1,4 +1,6 @@ #pragma once // Configure RGB -#define RGBLIGHT_SLEEP \ No newline at end of file +#define RGBLIGHT_SLEEP + +#define SAVE_MEMORY \ No newline at end of file diff --git a/src/qmk/users/rafaelromao/definitions/keycodes.c b/src/qmk/users/rafaelromao/definitions/keycodes.c index a3cf5e1a..ccebe85d 100644 --- a/src/qmk/users/rafaelromao/definitions/keycodes.c +++ b/src/qmk/users/rafaelromao/definitions/keycodes.c @@ -83,4 +83,9 @@ bool is_shift_macro_keycode(uint16_t keycode) { bool is_accent_macro_keycode(uint16_t keycode) { return keycode > ACCENT_MACRO_START && keycode < ACCENT_MACRO_END; -} \ No newline at end of file +} + +bool is_shifted(void) { + return get_mods() & MOD_MASK_SHIFT || get_oneshot_mods() & MOD_MASK_SHIFT || + get_oneshot_locked_mods() & MOD_MASK_SHIFT; +} diff --git a/src/qmk/users/rafaelromao/definitions/keycodes.h b/src/qmk/users/rafaelromao/definitions/keycodes.h index f686c861..360ce8b0 100644 --- a/src/qmk/users/rafaelromao/definitions/keycodes.h +++ b/src/qmk/users/rafaelromao/definitions/keycodes.h @@ -108,7 +108,6 @@ enum { // Begin macros used to write text STR_MACRO_START, - MC_NG, MC_EY, MC_HY, MC_OU, MC_COM, MC_AO, MC_ES, MC_OES, MC_FIX_I, MC_BTIC, MC_DQUO, MC_SQUO, MC_CIRC, MC_TILD, MC_ORDO, MC_ORDA, MC_EUR, MC_LTE, MC_GTE, MC_DDS, MC_ENT, MC_TAB, MC_ESC, MC_ESCC, TG_NUMC, MC_EXLM, MC_QUES, MC_ESAV, MC_SENT, MC_DEG, MC_DELW, MC_LY, @@ -122,7 +121,7 @@ enum { // Start macros for accented letters ACCENT_MACRO_START, - MC_GV_A, MC_CR_A, MC_SQ_A, MC_QU, + MC_GV_A, MC_CR_A, MC_SQ_A, MC_QU, MC_AH, MC_SQ_U, MC_CR_O, MC_SQ_O, MC_SQ_I, MC_CR_E, MC_SQ_C, MC_SQ_E, MC_TL_A, MC_TL_O, @@ -161,9 +160,10 @@ enum { #define RCTLT_A RCTL_T(KC_A) #define LALTT_P LALT_T(KC_P) -#define RALTT_H RALT_T(KC_H) #define RALTT_F RALT_T(KC_F) +#define ALT_MAG RALT_T(KC_H) + #define LGUIT_T LGUI_T(KC_T) #define RGUIT_R RGUI_T(KC_R) @@ -178,8 +178,8 @@ enum { #define NAV_F12 LT(_NAVIGATION, KC_F12) #define NAV_AT LT(_NAVIGATION, KC_AT) -#define NAV_STI LT(_NAVIGATION, MC_STIN) // Hold behavior is implemented in intercepted code -#define NAV_MAG LT(_NAVIGATION, MAGIC) +#define NAV_STI LT(_NAVIGATION, MC_STIN) // Tap behavior is implemented in intercepted code +#define NAV_Q LT(_NAVIGATION, KC_Q) #define NAV_REP LT(_NAVIGATION, REPEAT) #define FNA_REP LT(_FIXED_NAV, REPEAT) @@ -216,5 +216,6 @@ uint16_t extract_tapping_keycode(uint16_t keycode); bool is_string_macro_keycode(uint16_t keycode); bool is_shift_macro_keycode(uint16_t keycode); bool is_accent_macro_keycode(uint16_t keycode); +bool is_shifted(void); // clang-format on \ No newline at end of file diff --git a/src/qmk/users/rafaelromao/definitions/keymap_blocks.h b/src/qmk/users/rafaelromao/definitions/keymap_blocks.h index a170bd90..c16626c0 100644 --- a/src/qmk/users/rafaelromao/definitions/keymap_blocks.h +++ b/src/qmk/users/rafaelromao/definitions/keymap_blocks.h @@ -12,7 +12,7 @@ #define ________ALPHA1_R1____________________ KC_L , KC_O , KC_U , KC_Y #define __________________ALPHA1_R2____________________ KC_Z , RGUIT_R , RCTLT_A , RSFTT_E , SHO_KCI -#define __________________ALPHA1_R3__________ KC_J , RALTT_H , TD_COMM , TD_DOT +#define __________________ALPHA1_R3__________ KC_J , ALT_MAG , TD_COMM , TD_DOT #define ___ALPHA1_R4_____ RAI_A2 , MED_CAS #define ___________________LOWER_L1__________ XXXXXXX , TD_LCBR , TD_RCBR , TD_BSLS @@ -23,7 +23,7 @@ #define _________LOWER_R1____________________ KC_7 , KC_8 , KC_9 , XXXXXXX #define ___________________LOWER_R2____________________ XXXXXXX , KC_4 , KC_5 , KC_6 , KC_DOT #define ___________________LOWER_R3__________ XXXXXXX , KC_1 , KC_2 , KC_3 -#define ____LOWER_R4_____ RAI_SPC , MED_0 +#define ____LOWER_R4_____ SYM_SPC , MED_0 #define ___________________RAISE_L1__________ XXXXXXX , KC_F9 , KC_F8 , KC_F7 #define ___________________RAISE_L2____________________ XXXXXXX , KC_F6 , KC_F5 , KC_F4 , XXXXXXX @@ -43,7 +43,7 @@ #define _________NUMPAD_R1___________________ KC_7 , KC_8 , KC_9 , XXXXXXX #define ___________________NUMPAD_R2___________________ XXXXXXX , KC_4 , KC_5 , KC_6 , SHO_DOT #define ___________________NUMPAD_R3_________ XXXXXXX , KC_1 , KC_2 , KC_3 -#define ____NUMPAD_R4____ RAI_SPC , MED_0 +#define ____NUMPAD_R4____ SYM_SPC , MED_0 #define ________________SHORTCUTS_L1_________ XXXXXXX , MC_CLOS , MC_Z0R , MC_PREV #define ________________SHORTCUTS_L2___________________ MO_SYS , SF_MODM , MC_MODP , MC_TABS , XXXXXXX @@ -75,14 +75,14 @@ #define ___________________NOMOD_R3__________ KC_J , KC_H , KC_COMM , KC_DOT #define ____NOMOD_R4_____ OSL_A2 , OS_LSFT -#define ___________________ALPHA2_L1_________ XXXXXXX , KC_Q , MC_QU , KC_K +#define ___________________ALPHA2_L1_________ XXXXXXX , KC_H , MC_QU , KC_K #define ___________________ALPHA2_L2___________________ KC_Y , KC_Z , KC_X , KC_W , XXXXXXX #define _________ALPHA2_L3___________________ KC_J , MC_SQ_C , KC_V , XXXXXXX -#define ____ALPHA2_L4____ NAV_MAG , OS_SYM +#define ____ALPHA2_L4____ NAV_Q , OS_SYM -#define _________ALPHA2_R1___________________ MC_CR_O , MC_SQ_O , MC_SQ_U , XXXXXXX -#define ___________________ALPHA2_R2___________________ XXXXXXX , MC_TL_A , MC_SQ_A , MC_SQ_E , MC_SQ_I -#define ___________________ALPHA2_R3_________ XXXXXXX , MC_TL_O , MC_CR_A , MC_CR_E +#define _________ALPHA2_R1___________________ MC_CR_O , MC_CR_E , MC_CR_A , XXXXXXX +#define ___________________ALPHA2_R2___________________ XXXXXXX , MC_TL_A , MC_SQ_E , MC_SQ_A , MC_SQ_I +#define ___________________ALPHA2_R3_________ XXXXXXX , MC_TL_O , MC_SQ_O , MC_SQ_U #define ____ALPHA2_R4____ _______ , MC_SQUO #define _________________SYMBOLS_L1__________ XXXXXXX , KC_LCBR , KC_RCBR , KC_DLR diff --git a/src/qmk/users/rafaelromao/features/accents.c b/src/qmk/users/rafaelromao/features/accents.c index ae0bd335..11cf6495 100644 --- a/src/qmk/users/rafaelromao/features/accents.c +++ b/src/qmk/users/rafaelromao/features/accents.c @@ -85,47 +85,9 @@ process_record_result_t process_ngrams(uint16_t keycode, bool isShifted) { tap_code(KC_Q); tap_code(KC_U); return PROCESS_RECORD_RETURN_FALSE; - case MC_ES: - tap_code(KC_E); - tap_code(KC_S); - return PROCESS_RECORD_RETURN_FALSE; - case MC_AO: - process_accents(MC_TL_A, NULL); - tap_code(KC_O); - return PROCESS_RECORD_RETURN_FALSE; - case MC_OES: - process_accents(MC_TL_O, NULL); - tap_code(KC_E); - tap_code(KC_S); - return PROCESS_RECORD_RETURN_FALSE; - case MC_NG: - tap_code(KC_N); - tap_code(KC_G); - return PROCESS_RECORD_RETURN_FALSE; - case MC_LY: - tap_code(KC_L); - tap_code(KC_Y); - return PROCESS_RECORD_RETURN_FALSE; - case MC_EY: - tap_code(KC_E); - tap_code(KC_Y); - return PROCESS_RECORD_RETURN_FALSE; - case MC_HY: + case MC_AH: + tap_code(KC_A); tap_code(KC_H); - tap_code(KC_Y); - return PROCESS_RECORD_RETURN_FALSE; - case MC_OU: - tap_code(KC_O); - tap_code(KC_U); - return PROCESS_RECORD_RETURN_FALSE; - case MC_COM: - tap_code(KC_C); - tap_code(KC_O); - tap_code(KC_M); - return PROCESS_RECORD_RETURN_FALSE; - case MC_FIX_I: - tap_code(KC_BSPC); - SEND_STRING("I' "); return PROCESS_RECORD_RETURN_FALSE; } diff --git a/src/qmk/users/rafaelromao/features/combos.c b/src/qmk/users/rafaelromao/features/combos.c index 73fbb781..0c03acf4 100644 --- a/src/qmk/users/rafaelromao/features/combos.c +++ b/src/qmk/users/rafaelromao/features/combos.c @@ -17,26 +17,26 @@ const uint16_t PROGMEM l_rom_und_combo[] = {LOW_SPC, RALTT_F, LEA_KCC, COMBO_END const uint16_t PROGMEM l_rom_sav_combo[] = {LOW_SPC, LSFTT_N, LCTLT_S, COMBO_END}; const uint16_t PROGMEM l_rom_ful_combo[] = {LOW_SPC, LCTLT_S, LGUIT_T, COMBO_END}; const uint16_t PROGMEM l_rom_fin_combo[] = {LOW_SPC, LEA_KCC, LALTT_P, COMBO_END}; +const uint16_t PROGMEM l_rom_a1_combo[] = {KC_B, KC_M, KC_G, COMBO_END}; const uint16_t PROGMEM l_rom_ent_combo[] = {LSFTT_N, LCTLT_S, LGUIT_T, COMBO_END}; -const uint16_t PROGMEM l_rom_tab_combo[] = {KC_B, KC_M, KC_G, COMBO_END}; -const uint16_t PROGMEM l_rom_del_combo[] = {RALTT_F, LEA_KCC, LALTT_P, COMBO_END}; +const uint16_t PROGMEM l_rom_tab_combo[] = {RALTT_F, LEA_KCC, LALTT_P, COMBO_END}; const uint16_t PROGMEM r_rom_x_combo[] = {KC_L, KC_O, COMBO_END}; const uint16_t PROGMEM r_rom_z_combo[] = {RGUIT_R, RCTLT_A, COMBO_END}; -const uint16_t PROGMEM r_rom_j_combo[] = {RALTT_H, TD_COMM, COMBO_END}; +const uint16_t PROGMEM r_rom_j_combo[] = {ALT_MAG, TD_COMM, COMBO_END}; const uint16_t PROGMEM r_rom_y_combo[] = {RCTLT_A, RSFTT_E, COMBO_END}; const uint16_t PROGMEM r_rom_d_combo[] = {KC_L, KC_O, KC_U, COMBO_END}; const uint16_t PROGMEM r_rom_p_combo[] = {RGUIT_R, RCTLT_A, RSFTT_E, COMBO_END}; const uint16_t PROGMEM r_rom_cop_combo[] = {RAI_A2, RGUIT_R, RCTLT_A, COMBO_END}; -const uint16_t PROGMEM r_rom_pas_combo[] = {RAI_A2, RALTT_H, TD_COMM, COMBO_END}; +const uint16_t PROGMEM r_rom_pas_combo[] = {RAI_A2, ALT_MAG, TD_COMM, COMBO_END}; const uint16_t PROGMEM r_rom_sal_combo[] = {RAI_A2, TD_COMM, TD_DOT, COMBO_END}; const uint16_t PROGMEM r_rom_scp_combo[] = {RAI_A2, RGUIT_R, RCTLT_A, RSFTT_E, COMBO_END}; -const uint16_t PROGMEM r_rom_spa_combo[] = {RAI_A2, RALTT_H, TD_COMM, TD_DOT, COMBO_END}; +const uint16_t PROGMEM r_rom_spa_combo[] = {RAI_A2, ALT_MAG, TD_COMM, TD_DOT, COMBO_END}; const uint16_t PROGMEM r_rom_ent_combo[] = {RAI_A2, RCTLT_A, RSFTT_E, COMBO_END}; const uint16_t PROGMEM r_rom_bsp_combo[] = {KC_O, KC_U, COMBO_END}; const uint16_t PROGMEM r_rom_tab_combo[] = {RAI_A2, KC_O, KC_U, COMBO_END}; const uint16_t PROGMEM r_rom_sco_combo[] = {TD_COMM, TD_DOT, COMBO_END}; -const uint16_t PROGMEM r_rom_sent_combo[] = {RALTT_H, TD_COMM, TD_DOT, COMBO_END}; +const uint16_t PROGMEM r_rom_sent_combo[] = {ALT_MAG, TD_COMM, TD_DOT, COMBO_END}; // Alpha 2 @@ -49,14 +49,14 @@ const uint16_t PROGMEM l_acc_ques_combo[] = {MC_SQ_C, KC_V, COMBO_END}; const uint16_t PROGMEM l_acc_ent_combo[] = {KC_Z, KC_X, KC_W, COMBO_END}; const uint16_t PROGMEM l_acc_tab_combo[] = {KC_Q, MC_QU, KC_K, COMBO_END}; -const uint16_t PROGMEM r_acc_bsp_combo[] = {MC_SQ_O, MC_SQ_U, COMBO_END}; -const uint16_t PROGMEM r_acc_tab_combo[] = {RAI_A2, MC_SQ_O, MC_SQ_U, COMBO_END}; -const uint16_t PROGMEM r_acc_ent_combo[] = {RAI_A2, MC_SQ_A, MC_SQ_E, COMBO_END}; -const uint16_t PROGMEM r_acc_col_combo[] = {MC_CR_O, MC_SQ_O, COMBO_END}; -const uint16_t PROGMEM r_acc_min_combo[] = {MC_TL_A, MC_SQ_A, COMBO_END}; -const uint16_t PROGMEM r_acc_excl_combo[] = {MC_TL_O, MC_CR_A, COMBO_END}; -const uint16_t PROGMEM r_acc_rpa_combo[] = {MC_SQ_A, MC_SQ_E, COMBO_END}; -const uint16_t PROGMEM r_acc_agr_combo[] = {MC_CR_A, MC_CR_E, COMBO_END}; +const uint16_t PROGMEM r_acc_bsp_combo[] = {MC_CR_E, MC_CR_A, COMBO_END}; +const uint16_t PROGMEM r_acc_tab_combo[] = {RAI_A2, MC_CR_E, MC_CR_A, COMBO_END}; +const uint16_t PROGMEM r_acc_ent_combo[] = {RAI_A2, MC_SQ_E, MC_SQ_A, COMBO_END}; +const uint16_t PROGMEM r_acc_col_combo[] = {MC_CR_O, MC_CR_E, COMBO_END}; +const uint16_t PROGMEM r_acc_min_combo[] = {MC_TL_A, MC_SQ_E, COMBO_END}; +const uint16_t PROGMEM r_acc_excl_combo[] = {MC_TL_O, MC_SQ_O, COMBO_END}; +const uint16_t PROGMEM r_acc_rpa_combo[] = {MC_SQ_E, MC_SQ_A, COMBO_END}; +const uint16_t PROGMEM r_acc_agr_combo[] = {MC_SQ_O, MC_SQ_U, COMBO_END}; // Numpad @@ -66,7 +66,7 @@ const uint16_t PROGMEM l_num_ent_combo[] = {OM_L, OM_U, OM_R, COMBO_END}; const uint16_t PROGMEM l_num_del_combo[] = {OM_W_D, OM_D, OM_W_U, COMBO_END}; const uint16_t PROGMEM l_num_num_combo[] = {OM_W_D, OM_D, COMBO_END}; -const uint16_t PROGMEM r_num_com_combo[] = {RAI_SPC, SHO_DOT, COMBO_END}; +const uint16_t PROGMEM r_num_com_combo[] = {SYM_SPC, SHO_DOT, COMBO_END}; // Lower @@ -77,23 +77,23 @@ const uint16_t PROGMEM l_low_bra_combo[] = {TD_LBRC, TD_RBRC, COMBO_END}; const uint16_t PROGMEM l_low_sqo_combo[] = {TD_RPRN, TD_DQUO, COMBO_END}; const uint16_t PROGMEM l_low_bti_combo[] = {TD_RBRC, TD_QUES, COMBO_END}; -const uint16_t PROGMEM r_low_bsp_combo[] = {KC_8, KC_9, COMBO_END}; -const uint16_t PROGMEM r_low_tab_combo[] = {RAI_SPC, KC_8, KC_9, COMBO_END}; -const uint16_t PROGMEM r_low_ent_combo[] = {RAI_SPC, KC_5, KC_6, COMBO_END}; -const uint16_t PROGMEM r_low_sco_combo[] = {KC_2, KC_3, COMBO_END}; -const uint16_t PROGMEM r_low_com_combo[] = {RAI_SPC, KC_DOT, COMBO_END}; -const uint16_t PROGMEM r_low_us_combo[] = {KC_7, KC_8, KC_9, COMBO_END}; -const uint16_t PROGMEM r_low_br_combo[] = {KC_4, KC_5, KC_6, COMBO_END}; -const uint16_t PROGMEM r_low_eur_combo[] = {KC_1, KC_2, KC_3, COMBO_END}; -const uint16_t PROGMEM r_low_sfg_combo[] = {KC_7, KC_8, COMBO_END}; -const uint16_t PROGMEM r_low_j_combo[] = {KC_4, KC_5, COMBO_END}; -const uint16_t PROGMEM r_low_k_combo[] = {KC_5, KC_6, COMBO_END}; -const uint16_t PROGMEM r_low_pip_combo[] = {KC_1, KC_2, COMBO_END}; -const uint16_t PROGMEM r_low_cop_combo[] = {RAI_SPC, KC_4, KC_5, COMBO_END}; -const uint16_t PROGMEM r_low_pas_combo[] = {RAI_SPC, KC_1, KC_2, COMBO_END}; -const uint16_t PROGMEM r_low_sal_combo[] = {RAI_SPC, KC_2, KC_3, COMBO_END}; -const uint16_t PROGMEM r_low_scp_combo[] = {RAI_SPC, KC_4, KC_5, KC_6, COMBO_END}; -const uint16_t PROGMEM r_low_spa_combo[] = {RAI_SPC, KC_1, KC_2, KC_3, COMBO_END}; +const uint16_t PROGMEM r_low_bsp_combo[] = {KC_8, KC_9, COMBO_END}; +const uint16_t PROGMEM r_low_tab_combo[] = {SYM_SPC, KC_8, KC_9, COMBO_END}; +const uint16_t PROGMEM r_low_ent_combo[] = {SYM_SPC, KC_5, KC_6, COMBO_END}; +const uint16_t PROGMEM r_low_sco_combo[] = {KC_2, KC_3, COMBO_END}; +const uint16_t PROGMEM r_low_com_combo[] = {SYM_SPC, KC_DOT, COMBO_END}; +const uint16_t PROGMEM r_low_us_combo[] = {KC_7, KC_8, KC_9, COMBO_END}; +const uint16_t PROGMEM r_low_br_combo[] = {KC_4, KC_5, KC_6, COMBO_END}; +const uint16_t PROGMEM r_low_eur_combo[] = {KC_1, KC_2, KC_3, COMBO_END}; +const uint16_t PROGMEM r_low_sfg_combo[] = {KC_7, KC_8, COMBO_END}; +const uint16_t PROGMEM r_low_j_combo[] = {KC_4, KC_5, COMBO_END}; +const uint16_t PROGMEM r_low_k_combo[] = {KC_5, KC_6, COMBO_END}; +const uint16_t PROGMEM r_low_pip_combo[] = {KC_1, KC_2, COMBO_END}; +const uint16_t PROGMEM r_low_cop_combo[] = {SYM_SPC, KC_4, KC_5, COMBO_END}; +const uint16_t PROGMEM r_low_pas_combo[] = {SYM_SPC, KC_1, KC_2, COMBO_END}; +const uint16_t PROGMEM r_low_sal_combo[] = {SYM_SPC, KC_2, KC_3, COMBO_END}; +const uint16_t PROGMEM r_low_scp_combo[] = {SYM_SPC, KC_4, KC_5, KC_6, COMBO_END}; +const uint16_t PROGMEM r_low_spa_combo[] = {SYM_SPC, KC_1, KC_2, KC_3, COMBO_END}; // Raise @@ -175,28 +175,28 @@ combo_t key_combos[] = { COMBO(l_rai_f11_combo, KC_F11), COMBO(l_rai_f12_combo, KC_F12), COMBO(l_rai_f13_combo, KC_F13), COMBO(l_rai_f14_combo, KC_F14), COMBO(l_rai_f15_combo, KC_F15), COMBO(l_rom_esc_combo, MC_ESCC), COMBO(l_rom_esv_combo, MC_ESAV), COMBO(l_rom_fin_combo, MC_FIND), COMBO(l_rom_ful_combo, MC_FULL), - COMBO(l_rom_del_combo, KC_DEL), COMBO(l_rom_q_combo, KC_Q), COMBO(l_rom_k_combo, KC_K), - COMBO(l_nom_num_combo, TG_NUMC), COMBO(l_rom_num_combo, TG_NUMC), COMBO(l_rom_sav_combo, MC_SAVE), - COMBO(l_rom_und_combo, MC_UNDO), COMBO(l_rom_v_combo, HYP_KCV), COMBO(l_rom_w_combo, KC_W), - COMBO(l_acc_lpa_combo, KC_LPRN), COMBO(l_acc_sqo_combo, MC_SQUO), COMBO(r_acc_rpa_combo, KC_RPRN), - COMBO(r_acc_bsp_combo, KC_BSPC), COMBO(r_acc_col_combo, KC_COLN), COMBO(r_acc_excl_combo, MC_EXLM), - COMBO(r_acc_min_combo, KC_MINS), COMBO(r_acc_agr_combo, MC_GV_A), COMBO(r_low_ent_combo, KC_ENT), - COMBO(r_low_sco_combo, TD_SCLE), COMBO(r_med_a1_combo, TO_A1), COMBO(r_med_vis_combo, KC_V), - COMBO(r_med_svi_combo, MC_SVI), COMBO(r_med_esc_combo, MC_ESCC), COMBO(r_med_esp_combo, MC_0P), - COMBO(r_med_cvi_combo, MC_CVI), COMBO(r_med_oes_combo, MC_OESC), COMBO(r_med_soe_combo, MC_SOES), - COMBO(r_nav_cop_combo, MC_COPY), COMBO(r_nav_ent_combo, KC_ENT), COMBO(r_nav_pas_combo, MC_PAST), - COMBO(r_low_bsp_combo, KC_BSPC), COMBO(r_nav_eent_combo, MC_EENT), COMBO(r_nav_dent_combo, MC_DEND), - COMBO(l_num_tab_combo, KC_TAB), COMBO(l_num_del_combo, KC_DEL), COMBO(r_low_tab_combo, KC_TAB), - COMBO(r_rai_hash_combo, KC_HASH), COMBO(r_rai_deq_combo, MC_DEQ), COMBO(r_rai_til_combo, TD_TIL), - COMBO(r_rai_dor_combo, TD_DOR), COMBO(r_rai_tisl_combo, MC_TISL), COMBO(r_rai_dds_combo, MC_DDS), - COMBO(r_rai_neq_combo, MC_NEQ), COMBO(r_rai_dan_combo, TD_DAND), COMBO(r_rai_cir_combo, TD_CIRC), - COMBO(r_rom_bsp_combo, KC_BSPC), COMBO(r_rom_d_combo, KC_D), COMBO(r_rom_p_combo, KC_P), - COMBO(l_rom_ent_combo, KC_ENT), COMBO(r_rom_ent_combo, KC_ENT), COMBO(r_rom_j_combo, HYP_KCJ), - COMBO(r_rom_cop_combo, MC_COPY), COMBO(r_rom_pas_combo, MC_PAST), COMBO(r_rom_sal_combo, MC_SELC), - COMBO(r_rom_scp_combo, MC_SCOP), COMBO(r_rom_spa_combo, MC_SPAS), COMBO(r_low_cop_combo, MC_COPY), - COMBO(r_low_pas_combo, MC_PAST), COMBO(r_low_sal_combo, MC_SELC), COMBO(r_low_scp_combo, MC_SCOP), - COMBO(r_low_spa_combo, MC_SPAS), COMBO(r_rom_sco_combo, TD_SCLE), COMBO(r_rom_sent_combo, MC_SENT), - COMBO(l_rom_tab_combo, KC_TAB), COMBO(r_rom_tab_combo, KC_TAB), COMBO(l_acc_ent_combo, KC_ENT), + COMBO(l_rom_q_combo, KC_Q), COMBO(l_rom_k_combo, KC_K), COMBO(l_nom_num_combo, TG_NUMC), + COMBO(l_rom_num_combo, TG_NUMC), COMBO(l_rom_sav_combo, MC_SAVE), COMBO(l_rom_und_combo, MC_UNDO), + COMBO(l_rom_v_combo, HYP_KCV), COMBO(l_rom_w_combo, KC_W), COMBO(l_acc_lpa_combo, KC_LPRN), + COMBO(l_acc_sqo_combo, MC_SQUO), COMBO(r_acc_rpa_combo, KC_RPRN), COMBO(r_acc_bsp_combo, KC_BSPC), + COMBO(r_acc_col_combo, KC_COLN), COMBO(r_acc_excl_combo, MC_EXLM), COMBO(r_acc_min_combo, KC_MINS), + COMBO(r_acc_agr_combo, MC_GV_A), COMBO(r_low_ent_combo, KC_ENT), COMBO(r_low_sco_combo, TD_SCLE), + COMBO(r_med_a1_combo, TO_A1), COMBO(r_med_vis_combo, KC_V), COMBO(r_med_svi_combo, MC_SVI), + COMBO(r_med_esc_combo, MC_ESCC), COMBO(r_med_esp_combo, MC_0P), COMBO(r_med_cvi_combo, MC_CVI), + COMBO(r_med_oes_combo, MC_OESC), COMBO(r_med_soe_combo, MC_SOES), COMBO(r_nav_cop_combo, MC_COPY), + COMBO(r_nav_ent_combo, KC_ENT), COMBO(r_nav_pas_combo, MC_PAST), COMBO(r_low_bsp_combo, KC_BSPC), + COMBO(r_nav_eent_combo, MC_EENT), COMBO(r_nav_dent_combo, MC_DEND), COMBO(l_num_tab_combo, KC_TAB), + COMBO(l_num_del_combo, KC_DEL), COMBO(r_low_tab_combo, KC_TAB), COMBO(r_rai_hash_combo, KC_HASH), + COMBO(r_rai_deq_combo, MC_DEQ), COMBO(r_rai_til_combo, TD_TIL), COMBO(r_rai_dor_combo, TD_DOR), + COMBO(r_rai_tisl_combo, MC_TISL), COMBO(r_rai_dds_combo, MC_DDS), COMBO(r_rai_neq_combo, MC_NEQ), + COMBO(r_rai_dan_combo, TD_DAND), COMBO(r_rai_cir_combo, TD_CIRC), COMBO(r_rom_bsp_combo, KC_BSPC), + COMBO(r_rom_d_combo, KC_D), COMBO(r_rom_p_combo, KC_P), COMBO(l_rom_ent_combo, KC_ENT), + COMBO(r_rom_ent_combo, KC_ENT), COMBO(r_rom_j_combo, HYP_KCJ), COMBO(r_rom_cop_combo, MC_COPY), + COMBO(r_rom_pas_combo, MC_PAST), COMBO(r_rom_sal_combo, MC_SELC), COMBO(r_rom_scp_combo, MC_SCOP), + COMBO(r_rom_spa_combo, MC_SPAS), COMBO(r_low_cop_combo, MC_COPY), COMBO(r_low_pas_combo, MC_PAST), + COMBO(r_low_sal_combo, MC_SELC), COMBO(r_low_scp_combo, MC_SCOP), COMBO(r_low_spa_combo, MC_SPAS), + COMBO(r_rom_sco_combo, TD_SCLE), COMBO(r_rom_sent_combo, MC_SENT), COMBO(l_rom_tab_combo, KC_TAB), + COMBO(r_rom_tab_combo, KC_TAB), COMBO(l_acc_ent_combo, KC_ENT), COMBO(l_rom_a1_combo, TO_A1), COMBO(r_acc_ent_combo, KC_ENT), COMBO(l_acc_tab_combo, KC_TAB), COMBO(r_acc_tab_combo, KC_TAB), COMBO(r_rom_z_combo, KC_Z), COMBO(r_rom_x_combo, KC_X), COMBO(r_rom_y_combo, KC_Y), COMBO(r_sho_bsp_combo, KC_BSPC), COMBO(l_cod_esc_combo, MC_ESCC), COMBO(secret_1_combo, MC_SECRET_1)}; @@ -222,4 +222,4 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode break; } return true; -} +} \ No newline at end of file diff --git a/src/qmk/users/rafaelromao/features/leader.c b/src/qmk/users/rafaelromao/features/leader.c index 98cbdc9f..fd6727ea 100644 --- a/src/qmk/users/rafaelromao/features/leader.c +++ b/src/qmk/users/rafaelromao/features/leader.c @@ -5,6 +5,7 @@ leader_t leader = {.isLeading = false}; void process_leader_dictionary(void) { +#ifndef SAVE_MEMORY // Degree sign if (leader_sequence_two_keys(TD_DOT, KC_D)) { process_macros(MC_DEG, NULL); @@ -25,6 +26,7 @@ void process_leader_dictionary(void) { process_macros(MC_ORDO, NULL); return; } +#endif // Cancel if (leader_sequence_one_key(KC_K)) { return; diff --git a/src/qmk/users/rafaelromao/features/macros.c b/src/qmk/users/rafaelromao/features/macros.c index af83000d..a0bf57ba 100644 --- a/src/qmk/users/rafaelromao/features/macros.c +++ b/src/qmk/users/rafaelromao/features/macros.c @@ -106,6 +106,8 @@ process_record_result_t process_macros(uint16_t keycode, keyrecord_t *record) { tap_code16(KC_SLSH); return PROCESS_RECORD_RETURN_FALSE; +#ifndef SAVE_MEMORY + // ° case MC_DEG: @@ -146,6 +148,8 @@ process_record_result_t process_macros(uint16_t keycode, keyrecord_t *record) { } return PROCESS_RECORD_RETURN_FALSE; +#endif + // END ; ENTER case MC_SENT: diff --git a/src/qmk/users/rafaelromao/features/sentence_case.c b/src/qmk/users/rafaelromao/features/sentence_case.c index ee47dde8..c75a2329 100644 --- a/src/qmk/users/rafaelromao/features/sentence_case.c +++ b/src/qmk/users/rafaelromao/features/sentence_case.c @@ -26,11 +26,12 @@ process_record_result_t process_sentence_case(uint16_t keycode, keyrecord_t *rec // Process macros switch (keycode) { // Skip dot and comma - case TD_DOT: case TD_COMM: + case TD_DOT: sentence_case.state = SENTENCE_CASE_NONE; return PROCESS_RECORD_CONTINUE; // Process alpha macros + case MC_AH: case MC_QU: add_oneshot_mods(MOD_LSFT); sentence_case.state = SENTENCE_CASE_NONE; @@ -61,11 +62,11 @@ process_record_result_t process_sentence_case(uint16_t keycode, keyrecord_t *rec switch (keycode) { // Continue to Alpha2 layer case RAI_A2: + case OSL_A2: return PROCESS_RECORD_CONTINUE; // Cancel case NAV_REP: case FNA_REP: - case NAV_MAG: case QK_REP: if (sentence_case.state != SENTENCE_CASE_NONE) { clear_shift(); diff --git a/src/qmk/users/rafaelromao/features/smart_case.c b/src/qmk/users/rafaelromao/features/smart_case.c index 70e3dcf8..0963ba2a 100644 --- a/src/qmk/users/rafaelromao/features/smart_case.c +++ b/src/qmk/users/rafaelromao/features/smart_case.c @@ -153,10 +153,11 @@ process_record_result_t process_smart_case(uint16_t keycode, keyrecord_t *record } // Extend, process or break case switch (keycode) { + case OSL_A2: case RAI_A2: case NAV_REP: case FNA_REP: - case NAV_MAG: + case ALT_MAG: case MED_CAS: start_smart_case_timer(); return PROCESS_RECORD_CONTINUE; @@ -244,12 +245,12 @@ process_record_result_t process_smart_case(uint16_t keycode, keyrecord_t *record break; } default: - disable_smart_case(); if (is_shift_macro_keycode(key)) { process_macros(key, NULL); } else if (is_accent_macro_keycode(key)) { process_accents(key, NULL); } else { + disable_smart_case(); tap_code16(key); } return PROCESS_RECORD_RETURN_FALSE; diff --git a/src/qmk/users/rafaelromao/features/smart_thumbs.c b/src/qmk/users/rafaelromao/features/smart_thumbs.c index 368b965f..589bb371 100644 --- a/src/qmk/users/rafaelromao/features/smart_thumbs.c +++ b/src/qmk/users/rafaelromao/features/smart_thumbs.c @@ -52,7 +52,7 @@ bool check_disable_oneshot(uint16_t keycode) { case MED_CAS: case NAV_REP: case FNA_REP: - case NAV_MAG: + case ALT_MAG: case OS_LSFT: return false; default: @@ -106,7 +106,7 @@ bool remember_last_key_user(uint16_t keycode, keyrecord_t *record, uint8_t *reme case MED_CAS: case NAV_REP: case FNA_REP: - case NAV_MAG: + case ALT_MAG: return false; } custom_repeat_key_timer = timer_read(); @@ -126,39 +126,17 @@ void action_tap(uint16_t keycode) { action_tapping_process(make_keyevent(false, keycode)); } -bool process_alternate_repeat_for_macros(uint16_t keycode) { - uint16_t next_key = keycode; - switch (keycode) { - case MC_GV_A: - next_key = MC_QU; - break; - case MC_SQ_A: - case MC_SQ_E: - case MC_SQ_I: - case MC_SQ_O: - case MC_SQ_U: - next_key = KC_V; - break; - case MC_CR_A: - next_key = KC_N; - break; - case MC_CR_E: - next_key = KC_E; - break; - case MC_CR_O: - next_key = KC_O; - break; - case MC_TL_A: - next_key = KC_O; - break; - case MC_TL_O: - next_key = MC_ES; +void process_repeat(uint16_t keycode) { + uint16_t next_key = extract_tapping_keycode(keycode); + switch (next_key) { + case KC_H: + next_key = MC_AH; break; case MC_SQ_C: - next_key = MC_AO; + next_key = OSL_A2; break; case MC_QU: - next_key = KC_E; + next_key = MC_CR_E; break; case MC_SQUO: next_key = KC_V; @@ -166,207 +144,71 @@ bool process_alternate_repeat_for_macros(uint16_t keycode) { } if (next_key != keycode) { action_tap(next_key); - return true; + } else { + action_tap(QK_REP); } - return false; } -bool process_alternate_repeat_for_alphas(uint16_t keycode) { - uint16_t next_key = keycode; - switch (keycode) { - case KC_A: - next_key = KC_V; - break; - case KC_H: - next_key = MC_OES; - break; - case KC_I: - next_key = MC_NG; - break; - case KC_J: - next_key = MC_SQ_A; - break; - case KC_K: - next_key = MC_EY; - break; - case KC_U: - next_key = KC_Y; - break; - case KC_V: - case KC_X: - next_key = MC_SQ_A; +void process_magic(uint16_t keycode) { + uint16_t next_key = extract_tapping_keycode(keycode); + switch (next_key) { + case MC_TL_A: + case MC_TL_O: + case MC_CR_A: + next_key = KC_NO; break; - case KC_W: - next_key = MC_HY; + case MC_GV_A: + next_key = MC_QU; break; - case KC_Y: - next_key = MC_OU; + case MC_QU: + next_key = OSL_A2; break; case KC_DOT: - next_key = MC_COM; - break; - } - if (next_key != keycode) { - action_tap(next_key); - return true; - } - return false; -} - -void process_repeat(uint16_t keycode) { - uint16_t key = extract_tapping_keycode(keycode); - if (!custom_repeat_key_expired()) { - if (process_alternate_repeat_for_macros(key)) { - return; - } - if (process_alternate_repeat_for_alphas(key)) { - return; - } - } - action_tap(QK_REP); -} - -bool process_magic_for_macros(uint16_t keycode) { - uint16_t next_key = keycode; - switch (keycode) { - case MC_GV_A: - next_key = MC_QU; + next_key = KC_SLSH; break; + case KC_A: + case KC_E: + case KC_I: + case KC_O: + case KC_U: case MC_SQ_E: - next_key = KC_U; - break; case MC_SQ_A: case MC_SQ_O: - next_key = KC_X; - break; case MC_SQ_I: case MC_SQ_U: - next_key = KC_Z; - break; - case MC_CR_A: - next_key = KC_M; - break; case MC_CR_E: - next_key = KC_X; - break; case MC_CR_O: + case MC_SQUO: next_key = KC_V; break; - case MC_TL_A: - next_key = KC_O; - break; - case MC_TL_O: - next_key = KC_E; - break; - case MC_SQ_C: - next_key = MC_OES; - break; - case MC_QU: - next_key = MC_SQ_I; - break; - } - if (next_key != keycode) { - action_tap(next_key); - return true; - } - return false; -} - -bool process_magic_for_alphas(uint16_t keycode) { - uint16_t next_key = keycode; - switch (keycode) { - case KC_A: - next_key = KC_O; - break; case KC_B: - next_key = KC_Y; - break; - case KC_C: - next_key = KC_S; - break; case KC_D: - next_key = KC_Y; - break; - case KC_E: - next_key = KC_U; - break; + case KC_M: case KC_F: next_key = KC_Y; break; + case MC_SQ_C: case KC_H: - next_key = KC_R; - break; - case KC_I: - next_key = MC_FIX_I; - break; case KC_J: - next_key = MC_TL_A; - break; case KC_K: - next_key = KC_W; - break; - case KC_L: - next_key = KC_H; - break; - case KC_M: - next_key = KC_S; - break; - case KC_N: - next_key = KC_F; - break; - case KC_P: - next_key = KC_T; - break; - case KC_R: - next_key = MC_LY; - break; - case KC_S: - next_key = KC_C; - break; - case KC_T: - next_key = KC_W; - break; - case KC_U: - next_key = KC_E; - break; case KC_V: case KC_X: - next_key = MC_SQ_I; - break; - case KC_W: - next_key = KC_K; - break; - case KC_DOT: - next_key = KC_SLSH; + case KC_Z: + next_key = OSL_A2; break; } - if (next_key != keycode) { + if (next_key != keycode && next_key != extract_tapping_keycode(keycode)) { action_tap(next_key); - return true; - } - return false; -} - -void process_magic(uint16_t keycode) { - uint16_t key = extract_tapping_keycode(keycode); - if (process_magic_for_macros(key)) { - return; - } - if (process_magic_for_alphas(key)) { - return; + } else { + action_tap(KC_H); } - action_tap(QK_REP); } -void activate_repeat_or_magic_key(uint16_t keycode) { - switch (keycode) { - case NAV_MAG: - process_magic(get_last_keycode()); - break; - case NAV_REP: - case FNA_REP: - process_repeat(get_last_keycode()); - break; +void activate_repeat_or_magic_key(bool isMagic) { + if (isMagic) { + process_magic(get_last_keycode()); + } else { + process_repeat(get_last_keycode()); } } @@ -412,10 +254,9 @@ process_record_result_t process_smart_thumbs(uint16_t keycode, keyrecord_t *reco } case NAV_REP: case FNA_REP: - case NAV_MAG: if (record->tap.count > 0) { if (record->event.pressed) { - activate_repeat_or_magic_key(keycode); + activate_repeat_or_magic_key(false); return PROCESS_RECORD_RETURN_FALSE; } } diff --git a/src/qmk/users/rafaelromao/features/smart_thumbs.h b/src/qmk/users/rafaelromao/features/smart_thumbs.h index 524124c7..848f7978 100644 --- a/src/qmk/users/rafaelromao/features/smart_thumbs.h +++ b/src/qmk/users/rafaelromao/features/smart_thumbs.h @@ -23,3 +23,4 @@ void check_repeat_key_timeout(void); void clear_repeat_key(void); process_record_result_t process_smart_thumbs(uint16_t keycode, keyrecord_t *record); +void activate_repeat_or_magic_key(bool isMagic); \ No newline at end of file diff --git a/src/qmk/users/rafaelromao/features/tapdance.c b/src/qmk/users/rafaelromao/features/tapdance.c index c4b2bbf1..8b1a73a8 100644 --- a/src/qmk/users/rafaelromao/features/tapdance.c +++ b/src/qmk/users/rafaelromao/features/tapdance.c @@ -37,11 +37,6 @@ __attribute__((weak)) td_state_t dance_state(tap_dance_state_t *state) { return TD_UNKNOWN; } -bool is_shifted(void) { - return get_mods() & MOD_MASK_SHIFT || get_oneshot_mods() & MOD_MASK_SHIFT || - get_oneshot_locked_mods() & MOD_MASK_SHIFT; -} - void td_open_parentesis(tap_dance_state_t *state, void *user_data) { tap_state.state = dance_state(state); switch (tap_state.state) { diff --git a/src/qmk/users/rafaelromao/features/taphold.c b/src/qmk/users/rafaelromao/features/taphold.c index 91e167d7..e0cfbe00 100644 --- a/src/qmk/users/rafaelromao/features/taphold.c +++ b/src/qmk/users/rafaelromao/features/taphold.c @@ -7,7 +7,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { case LOW_SPC: case RAI_SPC: case RAI_A2: - case NAV_MAG: + case NAV_Q: case NAV_REP: case FNA_REP: case MED_CAS: @@ -23,7 +23,7 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { case LOW_SPC: case RAI_SPC: case RAI_A2: - case NAV_MAG: + case NAV_Q: case NAV_REP: case FNA_REP: case MED_CAS: @@ -120,6 +120,17 @@ process_record_result_t process_taphold(uint16_t keycode, keyrecord_t *record) { return PROCESS_RECORD_RETURN_FALSE; } break; + + case ALT_MAG: + if (record->event.pressed && record->tap.count) { + if (is_shifted()) { + tap_code(KC_H); + } else { + activate_repeat_or_magic_key(true); + } + return PROCESS_RECORD_RETURN_FALSE; + } + break; } return PROCESS_RECORD_CONTINUE; } \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/aellopos/Kconfig.defconfig b/src/zmk/boards/handwired/boards/shields/aellopos/Kconfig.defconfig deleted file mode 100644 index 3042554b..00000000 --- a/src/zmk/boards/handwired/boards/shields/aellopos/Kconfig.defconfig +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2021 The ZMK Contributors -# SPDX-License-Identifier: MIT - -if SHIELD_AELLOPOS - -config ZMK_KEYBOARD_NAME - default "Aellopos" - -endif \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/aellopos/Kconfig.shield b/src/zmk/boards/handwired/boards/shields/aellopos/Kconfig.shield deleted file mode 100644 index 65de0dd0..00000000 --- a/src/zmk/boards/handwired/boards/shields/aellopos/Kconfig.shield +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (c) 2021 The ZMK Contributors -# SPDX-License-Identifier: MIT - -config SHIELD_AELLOPOS - def_bool $(shields_list_contains,aellopos) \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.conf b/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.conf deleted file mode 100644 index e6f75722..00000000 --- a/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.conf +++ /dev/null @@ -1,11 +0,0 @@ -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 -CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 -CONFIG_UART_CONSOLE=n -CONFIG_ZMK_USB_LOGGING=n -CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32 -CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=10 -CONFIG_ZMK_MACRO_DEFAULT_TAP_MS=10 \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.keymap b/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.keymap deleted file mode 100644 index 4ff6fad7..00000000 --- a/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.keymap +++ /dev/null @@ -1,12 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -#include -#include -#include - -#include "../../../../../definitions/keymap.dtsi" \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.overlay b/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.overlay deleted file mode 100644 index e6618a56..00000000 --- a/src/zmk/boards/handwired/boards/shields/aellopos/aellopos.overlay +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2021 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#include - -/ { - chosen { - zmk,kscan = &kscan0; - zmk,matrix_transform = &default_transform; - /delete-property/ zephyr,console; - /delete-property/ zephyr,shell-uart; - }; - - default_transform: keymap_transform_0 { - compatible = "zmk,matrix-transform"; - columns = <5>; - rows = <6>; - map = < - RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(6,0) RC(6,1) RC(5,3) RC(5,2) RC(5,1) RC(5,0) - RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(0,4) RC(5,4) RC(4,3) RC(4,2) RC(4,1) RC(4,0) - RC(7,1) RC(2,1) RC(2,2) RC(2,3) RC(1,4) RC(4,4) RC(3,3) RC(3,2) RC(3,1) RC(7,2) - RC(8,0) RC(2,0) RC(2,4) RC(3,4) RC(3,0) RC(8,1) - >; - }; - - kscan0: kscan_0 { - compatible = "zmk,kscan-gpio-matrix"; - diode-direction = "col2row"; - row-gpios - = <&pro_micro 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 5 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 6 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 7 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&pro_micro 4 GPIO_ACTIVE_HIGH> - , <&pro_micro 3 GPIO_ACTIVE_HIGH> - , <&pro_micro 2 GPIO_ACTIVE_HIGH> - , <&pro_micro 1 GPIO_ACTIVE_HIGH> - , <&pro_micro 10 GPIO_ACTIVE_HIGH> - ; - }; - -}; \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/aellopos/readme.md b/src/zmk/boards/handwired/boards/shields/aellopos/readme.md deleted file mode 100644 index e73dca13..00000000 --- a/src/zmk/boards/handwired/boards/shields/aellopos/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -## Aellopos -### A 30 keys handwired unibody split keyboard. - -### Build Details - -Aellopos is a handwired board built using a [Supermini NRF52840](https://www.aliexpress.com/item/1005006035267231.html) and the plate and case of a Hummingbird. - -### Aellopos -![img](../../../../../../../img/aellopos.jpeg) - -Parts: -- 30 choc switches (Kailh Silver). -- 26 1u choc keycaps (Lowprokb LDSA). -- 4 1u choc thumb keycaps (Lowprokb LDSA). -- Hummingbird [case](https://github.com/PJE66/hummingbird). -- [Supermini NRF52840](https://www.aliexpress.com/item/1005006035267231.html). -- [50mAh 3.7v battery - 360821](https://a.aliexpress.com/_mNW9t6a) -- [Dupont cables](https://aliexpress.com/item/1005004155181609.html). -- [1n4148 diodes](https://pt.aliexpress.com/item/1005003540554760.html). -- [24 AWG Wires](https://pt.aliexpress.com/item/32904950428.html). -- [DIP40 Pin Wide Socket](https://a.aliexpress.com/_msloS7e). - -### ZMK - -#### Compile - -- Run the script `build_aellopos`. - -#### Flash - -- Connect the keyboard, put it in bootloader mode and copy the file `build/artifacts/aellopos-zmk.uf2` to the drive XIAO-SENSE. Wait for the drive to be disconnected. - -## Keymap - -- The list of supported features in this keymap can be found [here](../../../../../readme.md). - -## Resources - -- [Home](https://github.com/rafaelromao/keyboards) -- [ZMK Docs](https://zmk.dev/docs) -- [Keyboard Tester](https://config.qmk.fm/#/test) diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/Kconfig.defconfig b/src/zmk/boards/handwired/boards/shields/cygnus/Kconfig.defconfig deleted file mode 100644 index c5855dbb..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/Kconfig.defconfig +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright (c) 2021 The ZMK Contributors -# SPDX-License-Identifier: MIT - -if SHIELD_CYGNUS_LEFT - -config ZMK_KEYBOARD_NAME - default "Cygnus" - -config ZMK_SPLIT_ROLE_CENTRAL - default y - -endif - -if SHIELD_CYGNUS_LEFT || SHIELD_CYGNUS_RIGHT - -config ZMK_SPLIT - default y - -endif \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/Kconfig.shield b/src/zmk/boards/handwired/boards/shields/cygnus/Kconfig.shield deleted file mode 100644 index 89760238..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/Kconfig.shield +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2021 The ZMK Contributors -# SPDX-License-Identifier: MIT - -config SHIELD_CYGNUS_LEFT - def_bool $(shields_list_contains,cygnus_left) - -config SHIELD_CYGNUS_RIGHT - def_bool $(shields_list_contains,cygnus_right) \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus.dtsi b/src/zmk/boards/handwired/boards/shields/cygnus/cygnus.dtsi deleted file mode 100644 index 2f57f1f6..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus.dtsi +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2021 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#include - -/ { - chosen { - zmk,kscan = &kscan0; - zmk,matrix_transform = &default_transform; - }; - - default_transform: keymap_transform_0 { - compatible = "zmk,matrix-transform"; - columns = <10>; - rows = <4>; - map = < - RC(0,0) RC(0,1) RC(0,2) RC(0,3) RC(0,4) RC(0,5) RC(0,6) RC(0,7) RC(0,8) RC(0,9) - RC(1,0) RC(1,1) RC(1,2) RC(1,3) RC(1,4) RC(1,5) RC(1,6) RC(1,7) RC(1,8) RC(1,9) - RC(2,0) RC(2,1) RC(2,2) RC(2,3) RC(2,4) RC(2,5) RC(2,6) RC(2,7) RC(2,8) RC(2,9) - RC(3,2) RC(3,3) RC(3,4) RC(3,5) RC(3,6) RC(3,7) - >; - }; - - kscan0: kscan { - compatible = "zmk,kscan-gpio-matrix"; - diode-direction = "col2row"; - wakeup-source; - }; - - keys { - compatible = "gpio-keys"; - on_off_key: on_off_key { - gpios = <&pro_micro 19 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; - }; - }; - - soft_off_direct_scan: soft_off_direct_scan { - compatible = "zmk,kscan-gpio-direct"; - input-keys = <&on_off_key>; - wakeup-source; - }; - - behaviors { - hw_soft_off: hw_soft_off { - compatible = "zmk,behavior-soft-off"; - #binding-cells = <0>; - hold-time-ms = <1500>; - }; - }; - - side_band_behavior_triggers: side_band_behavior_triggers { - compatible = "zmk,kscan-sideband-behaviors"; - - kscan = <&soft_off_direct_scan>; - wakeup-source; - - soft_off { - column = <0>; - row = <0>; - bindings = <&hw_soft_off>; - }; - }; - - soft_off_wakers { - compatible = "zmk,soft-off-wakeup-sources"; - wakeup-sources = <&soft_off_direct_scan>; - }; -}; \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus.keymap b/src/zmk/boards/handwired/boards/shields/cygnus/cygnus.keymap deleted file mode 100644 index 4ff6fad7..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus.keymap +++ /dev/null @@ -1,12 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -#include -#include -#include - -#include "../../../../../definitions/keymap.dtsi" \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_left.conf b/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_left.conf deleted file mode 100644 index a085fd5d..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_left.conf +++ /dev/null @@ -1,16 +0,0 @@ -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32 -CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=10 -CONFIG_ZMK_MACRO_DEFAULT_TAP_MS=10 -CONFIG_ZMK_MOUSE=y -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 - -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_PM_SOFT_OFF=y -CONFIG_INPUT_GPIO_KEYS=n - -CONFIG_ZMK_BATTERY_REPORT_INTERVAL=61 -CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_PROXY=y -CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING=y - -CONFIG_ZMK_USB_LOGGING=n \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_left.overlay b/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_left.overlay deleted file mode 100644 index ca0531c5..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_left.overlay +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2021 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#include "cygnus.dtsi" - -&kscan0 { - row-gpios - = <&pro_micro 9 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 20 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 21 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&pro_micro 5 GPIO_ACTIVE_HIGH> - , <&pro_micro 6 GPIO_ACTIVE_HIGH> - , <&pro_micro 7 GPIO_ACTIVE_HIGH> - , <&pro_micro 10 GPIO_ACTIVE_HIGH> - , <&pro_micro 18 GPIO_ACTIVE_HIGH> - ; -}; \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_right.conf b/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_right.conf deleted file mode 100644 index 349a985a..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_right.conf +++ /dev/null @@ -1,12 +0,0 @@ -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32 -CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=10 -CONFIG_ZMK_MACRO_DEFAULT_TAP_MS=10 -CONFIG_ZMK_MOUSE=y -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 - -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_PM_SOFT_OFF=y -CONFIG_INPUT_GPIO_KEYS=n - -CONFIG_ZMK_BATTERY_REPORT_INTERVAL=37 \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_right.overlay b/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_right.overlay deleted file mode 100644 index fe960f88..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/cygnus_right.overlay +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2021 The ZMK Contributors - * - * SPDX-License-Identifier: MIT - */ - -#include "cygnus.dtsi" - -&default_transform { - col-offset = <5>; -}; - -&kscan0 { - row-gpios - = <&pro_micro 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 0 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 2 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - , <&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)> - ; - - col-gpios - = <&pro_micro 4 GPIO_ACTIVE_HIGH> - , <&pro_micro 7 GPIO_ACTIVE_HIGH> - , <&pro_micro 3 GPIO_ACTIVE_HIGH> - , <&pro_micro 14 GPIO_ACTIVE_HIGH> - , <&pro_micro 15 GPIO_ACTIVE_HIGH> - ; -}; \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/cygnus/readme.md b/src/zmk/boards/handwired/boards/shields/cygnus/readme.md deleted file mode 100644 index ee9bc26e..00000000 --- a/src/zmk/boards/handwired/boards/shields/cygnus/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -## Dactyl Cygnus -### A 36 keys handwired split keyboard. - -### Build Details - -Dactyl Cygnus is a handwired board originally designed by @juhakaup and available at [https://github.com/juhakaup/keyboards](https://github.com/juhakaup/keyboards). - -### Dactyl Cygnus -![img](../../../../../../../img/cygnus.jpeg) - -Parts: -- 36 MX switches (Gateron Oil Kings). -- 34 1u MX keycaps (MT3 Blanks). -- 2 1.5u MX thumb keycaps (MT3 Blanks). -- Cygnus [case](https://github.com/juhakaup/keyboards/tree/main/Cygnus%20v1.0/stl). -- [2 Supermini NRF52840](https://www.aliexpress.com/item/1005006035267231.html). -- [2 500mAh 3.7v battery - 752035](https://www.aliexpress.com/item/1005005984848543.html) -- [36 Single Switch PCBs](https://keycapsss.com/keyboard-parts/pcbs/173/mxledbit-single-switch-pcb-mx-choc-hot-swap-socket). -- [Dupont cables](https://aliexpress.com/item/1005004155181609.html). -- [1n4148 diodes + diode legs](https://pt.aliexpress.com/item/1005003540554760.html). - -### ZMK - -#### Compile - -- Run the script `build_cygnus`. - -#### Flash - -- Connect the left half, put it in bootloader mode and copy the file `build/artifacts/cygnus_left-zmk.uf2` to the drive NICENANO. Wait for the drive to be disconnected. -- Connect the right half, put it in bootloader mode and copy the file `build/artifacts/cygnus_right-zmk.uf2` to the drive NICENANO. Wait for the drive to be disconnected. - -## Keymap - -- The list of supported features in this keymap can be found [here](../../../../../readme.md). - -## Resources - -- [Home](https://github.com/rafaelromao/keyboards) -- [ZMK Docs](https://zmk.dev/docs) -- [Keyboard Tester](https://config.qmk.fm/#/test) diff --git a/src/zmk/boards/handwired/boards/shields/testpad/Kconfig.defconfig b/src/zmk/boards/handwired/boards/shields/testpad/Kconfig.defconfig deleted file mode 100644 index f2410e90..00000000 --- a/src/zmk/boards/handwired/boards/shields/testpad/Kconfig.defconfig +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright (c) 2024 The ZMK Contributors -# SPDX-License-Identifier: MIT - -if SHIELD_TESTPAD - -config ZMK_KEYBOARD_NAME - default "Testpad" - -endif \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/testpad/Kconfig.shield b/src/zmk/boards/handwired/boards/shields/testpad/Kconfig.shield deleted file mode 100644 index 7858de7a..00000000 --- a/src/zmk/boards/handwired/boards/shields/testpad/Kconfig.shield +++ /dev/null @@ -1,5 +0,0 @@ -# Copyright (c) 2024 The ZMK Contributors -# SPDX-License-Identifier: MIT - -config SHIELD_TESTPAD - def_bool $(shields_list_contains,testpad) \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/testpad/testpad.conf b/src/zmk/boards/handwired/boards/shields/testpad/testpad.conf deleted file mode 100644 index e6f75722..00000000 --- a/src/zmk/boards/handwired/boards/shields/testpad/testpad.conf +++ /dev/null @@ -1,11 +0,0 @@ -CONFIG_BT_CTLR_TX_PWR_PLUS_8=y -CONFIG_ZMK_KSCAN_DEBOUNCE_PRESS_MS=1 -CONFIG_ZMK_KSCAN_DEBOUNCE_RELEASE_MS=5 -CONFIG_UART_CONSOLE=n -CONFIG_ZMK_USB_LOGGING=n -CONFIG_ZMK_HID_CONSUMER_REPORT_USAGES_BASIC=y -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32 -CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=10 -CONFIG_ZMK_MACRO_DEFAULT_TAP_MS=10 \ No newline at end of file diff --git a/src/zmk/boards/handwired/boards/shields/testpad/testpad.keymap b/src/zmk/boards/handwired/boards/shields/testpad/testpad.keymap deleted file mode 100644 index dfa98240..00000000 --- a/src/zmk/boards/handwired/boards/shields/testpad/testpad.keymap +++ /dev/null @@ -1,38 +0,0 @@ -/* -* -* Copyright (c) 2024 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -#include -#include -#include - -#include -#include -#include "../../../../../definitions/keycodes.h" -#include "../../../../../definitions/config.dtsi" - -#include "../../../../../features/accents.dtsi" -#include "../../../../../features/thumbs.dtsi" -#include "../../../../../features/swapper.dtsi" -#include "../../../../../features/symbols.dtsi" -#include "../../../../../features/shortcuts.dtsi" -#include "../../../../../features/combos.dtsi" -#include "../../../../../features/leader.dtsi" - -/ { - keymap { - compatible = "zmk,keymap"; - default_layer { - label = "TESTPAD"; - bindings = < - &kp LS(LC(LA(LG(A)))) &kp LS(LC(LA(LG(B)))) &kp A - &kp LS(LC(LA(LG(D)))) &kp LS(LC(LA(LG(E)))) &td_dynmacro - &ht_magic &sw_win_f &sc_numword - &leader &bootloader - >; - }; - }; -}; diff --git a/src/zmk/boards/handwired/boards/shields/testpad/testpad.overlay b/src/zmk/boards/handwired/boards/shields/testpad/testpad.overlay deleted file mode 100644 index 93decdf0..00000000 --- a/src/zmk/boards/handwired/boards/shields/testpad/testpad.overlay +++ /dev/null @@ -1,51 +0,0 @@ -/* -* -* Copyright (c) 2024 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -#include - -/ { - chosen { - zmk,kscan = &kscan0; - zmk,matrix_transform = &default_transform; - /delete-property/ zephyr,console; - /delete-property/ zephyr,shell-uart; - }; - - default_transform: keymap_transform_0 { - compatible = "zmk,matrix-transform"; - columns = <11>; - rows = <1>; - map = < - RC(0,0) RC(0,1) RC(0,2) - RC(0,3) RC(0,4) RC(0,5) - RC(0,6) RC(0,7) RC(0,8) - RC(0,9) RC(0,10) - >; - }; - - - kscan0: kscan { - compatible = "zmk,kscan-gpio-direct"; - input-gpios - = <&xiao_d 0 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 6 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - , <&xiao_d 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)> - ; - }; - -}; - -&xiao_spi { status = "disabled"; }; -&xiao_serial { status = "disabled"; }; \ No newline at end of file diff --git a/src/zmk/boards/lowprokb.ca/corneish-zen/ZenTent.stl b/src/zmk/boards/lowprokb.ca/corneish-zen/ZenTent.stl deleted file mode 100644 index ea40c36b..00000000 Binary files a/src/zmk/boards/lowprokb.ca/corneish-zen/ZenTent.stl and /dev/null differ diff --git a/src/zmk/boards/lowprokb.ca/corneish-zen/corneish_zen.conf b/src/zmk/boards/lowprokb.ca/corneish-zen/corneish_zen.conf deleted file mode 100644 index 5b103b2c..00000000 --- a/src/zmk/boards/lowprokb.ca/corneish-zen/corneish_zen.conf +++ /dev/null @@ -1,11 +0,0 @@ -CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=32 -CONFIG_ZMK_MACRO_DEFAULT_WAIT_MS=10 -CONFIG_ZMK_MACRO_DEFAULT_TAP_MS=10 -CONFIG_ZMK_MOUSE=y -CONFIG_ZMK_SLEEP=y -CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=3600000 - -CONFIG_ZMK_DISPLAY_HIDE_MOMENTARY_LAYERS=y -CONFIG_ZMK_DISPLAY_FULL_REFRESH_PERIOD=3600 -CONFIG_IL0323_INVERT=n -CONFIG_CUSTOM_WIDGET_LAYER_STATUS_HIDE_HEADING=y \ No newline at end of file diff --git a/src/zmk/boards/lowprokb.ca/corneish-zen/corneish_zen.keymap b/src/zmk/boards/lowprokb.ca/corneish-zen/corneish_zen.keymap deleted file mode 100644 index 5cffc26b..00000000 --- a/src/zmk/boards/lowprokb.ca/corneish-zen/corneish_zen.keymap +++ /dev/null @@ -1,18 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -#include -#include -#include - -/ { - chosen { - zmk,matrix_transform = &five_column_transform; - }; -}; - -#include "../../../definitions/keymap.dtsi" \ No newline at end of file diff --git a/src/zmk/boards/lowprokb.ca/corneish-zen/readme.md b/src/zmk/boards/lowprokb.ca/corneish-zen/readme.md deleted file mode 100644 index c19a9332..00000000 --- a/src/zmk/boards/lowprokb.ca/corneish-zen/readme.md +++ /dev/null @@ -1,36 +0,0 @@ -## lowprokb.ca/corneish-zen -### A premium split keyboard, based on the Corne - -![img](../../../../../img/zen.jpeg) - -### Tenting Base - -- The tenting base can be built using the items bellow: - - 2x [3D printed frames](ZenTent.stl). - - 2x [45x65mm magnetic stickers](https://www.aliexpress.com/item/4000152137062.html). - - 4x [45x65mm metal plates](https://www.aliexpress.com/item/1005005883276929.html). - - 2 of them must be superglued to the back of the Zen (a single drop in the center of the metal plate, to make it possible to remove if necessary). - - 2 of them must be glued to the adhesive side of the magnet, to give it stability (the built in adhesive is enough). - - 4x [Nillkin laptop stands](https://www.aliexpress.com/item/1005004603358207.html). - - More details can be found [here](https://imgur.com/gallery/ktgfP37). - -### ZMK - -#### Compile - -- Run the script `build_zen`. - -#### Flash - -- Connect the left half, put it in bootloader mode and copy the file `build/artifacts/corneish_zen_v2_left-zmk.uf2` to the drive CORNEISHZEN. Wait for the drive to be disconnected. -- Connect the right half, put it in bootloader mode and copy the file `build/artifacts/corneish_zen_v2_right-zmk.uf2` to the drive CORNEISHZEN. Wait for the drive to be disconnected. - -## Keymap - -- The list of supported features in this keymap can be found [here](../../../readme.md). - -## Resources - -- [Home](https://github.com/rafaelromao/keyboards) -- [ZMK Docs](https://zmk.dev/docs) -- [Keyboard Tester](https://config.qmk.fm/#/test) diff --git a/src/zmk/definitions/config.dtsi b/src/zmk/definitions/config.dtsi deleted file mode 100644 index f4a1f52d..00000000 --- a/src/zmk/definitions/config.dtsi +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Copyright (c) 2022 Rafael Romão - * SPDX-License-Identifier: MIT - * - */ - -#define ALPHA1 0 -#define CAMEL_CASE 1 -#define SHIFT_A1 2 -#define SNAKE_CASE 3 -#define KEBAB_CASE 4 -#define SLASH_CASE 5 -#define SPACING 6 -#define CASE_A1 7 -#define LOWER 8 -#define RAISE 9 -#define NUMPAD 10 -#define SHORTS_L 11 -#define SHORTS_R 12 -#define SHORTCUTS_EXT 13 -#define CODING 14 -#define NMODS 15 -#define ALPHA2 16 -#define SHIFT_A2 17 -#define CASE_A2 18 -#define SYMBOLS 19 -#define SEN_CASE 20 -#define SEN_E1 21 -#define SEN_E2 22 -#define NAV 23 -#define MEDIA 24 -#define NAV_F 25 -#define LOCK_KB 26 -#define SYSTEM 27 - -#define TAPPING_TERM 175 -#define TD_TAPPING_TERM 225 -#define QUICK_TAP_TERM 175 -#define ADAPTIVE_KEY_TIMEOUT 2000 - -/* KEY POSITIONS - - ╭─────────────────────╮ ╭─────────────────────╮ - │ LTP LTR LTM LTI LTC │ │ RTC RTI RTM RTR RTP │ - │ LHP LHR LHM LHI LHC │ │ RHC RHI RHM RHR RHP │ - │ LBP LBR LBM LBI LBC │ │ RBC RBI RBM RBR RBP │ - ╰───────╮ L2 L1 L0 │ │ R0 R1 R2 ╭───────╯ - ╰─────────────╯ ╰─────────────╯ - ╭─────────────────────╮ ╭─────────────────────╮ - │ 0 1 2 3 4 │ │ 5 6 7 8 9 │ - │ 10 11 12 13 14 │ │ 15 16 17 18 19 │ - │ 20 21 22 23 24 │ │ 25 26 27 28 29 │ - ╰──────╮ 30 31 32 │ │ 33 34 35 ╭───────╯ - ╰──────────────╯ ╰─────────────╯ - -*/ - -#define LTP 0 // left-top row -#define LTR 1 -#define LTM 2 -#define LTI 3 -#define LTC 4 - -#define RTC 5 // right-top row -#define RTI 6 -#define RTM 7 -#define RTR 8 -#define RTP 9 - -#define LHP 10 // left-middle row -#define LHR 11 -#define LHM 12 -#define LHI 13 -#define LHC 14 - -#define RHC 15 // right-middle row -#define RHI 16 -#define RHM 17 -#define RHR 18 -#define RHP 19 - -#define LBP 20 // left-bottom row -#define LBR 21 -#define LBM 22 -#define LBI 23 -#define LBC 24 - -#define RBC 25 // right-bottom row -#define RBI 26 -#define RBM 27 -#define RBR 28 -#define RBP 29 - -#define L2 30 // left thumb keys -#define L1 31 -#define L0 32 - -#define R0 33 // right thumb keys -#define R1 34 -#define R2 35 - -&mt { - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = ; -}; - -< { - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = ; -}; - -&sl { - release-after-ms = <1000>; - quick-release; -}; - -&sk { - release-after-ms = <1000>; - quick-release; -}; diff --git a/src/zmk/definitions/keycodes.h b/src/zmk/definitions/keycodes.h deleted file mode 100644 index 7c6175ae..00000000 --- a/src/zmk/definitions/keycodes.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include -#include -#include - -#define C_CEDIL (LA(ZMK_HID_USAGE(HID_USAGE_KEY, HID_USAGE_KEY_KEYBOARD_C))) - -#define QU_TERM 0x070100 -#define AACU_TERM 0x070101 -#define EACU_TERM 0x070102 -#define IACU_TERM 0x070103 -#define OACU_TERM 0x070104 -#define UACU_TERM 0x070105 -#define ACIR_TERM 0x070106 -#define ECIR_TERM 0x070107 -#define OCIR_TERM 0x070108 -#define ATIL_TERM 0x070109 -#define OTIL_TERM 0x07010A -#define AGRV_TERM 0x07010B - -#define C_QU_TERM 0x07010C -#define C_AACU_TERM 0x07010D -#define C_EACU_TERM 0x07010E -#define C_IACU_TERM 0x07010F -#define C_OACU_TERM 0x070110 -#define C_UACU_TERM 0x070111 -#define C_ACIR_TERM 0x070112 -#define C_ECIR_TERM 0x070113 -#define C_OCIR_TERM 0x070114 -#define C_ATIL_TERM 0x070115 -#define C_OTIL_TERM 0x070116 -#define C_AGRV_TERM 0x070117 - -#define SQUO_TERM 0x070118 -#define C_SQUO_TERM 0x070119 - -#define S_QU_TERM 0x07011A -#define S_AACU_TERM 0x07011B -#define S_EACU_TERM 0x07011C -#define S_IACU_TERM 0x07011D -#define S_OACU_TERM 0x07011E -#define S_UACU_TERM 0x07011F -#define S_ACIR_TERM 0x070120 -#define S_ECIR_TERM 0x070121 -#define S_OCIR_TERM 0x070122 -#define S_ATIL_TERM 0x070123 -#define S_OTIL_TERM 0x070124 -#define S_AGRV_TERM 0x070125 diff --git a/src/zmk/definitions/keymap.dtsi b/src/zmk/definitions/keymap.dtsi deleted file mode 100644 index 1495de1c..00000000 --- a/src/zmk/definitions/keymap.dtsi +++ /dev/null @@ -1,282 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -#include -#include -#include "keycodes.h" -#include "config.dtsi" - -#include "../features/accents.dtsi" -#include "../features/thumbs.dtsi" -#include "../features/swapper.dtsi" -#include "../features/symbols.dtsi" -#include "../features/shortcuts.dtsi" -#include "../features/combos.dtsi" -#include "../features/leader.dtsi" -#if __has_include("../secret.dtsi") -#include "../secret.dtsi" -#endif - -/ { - keymap { - compatible = "zmk,keymap"; - default_layer { - label = "ROMAK"; - bindings = < - &kp Q &kp B &kp M &kp G &kp K &kp X &kp L &kp O &kp U &kp Y - < SHORTS_L D &mt LSHFT N &mt LCTRL S &mt LGUI T &kp W &kp Z &mt RGUI R &mt RCTRL A &mt RSHFT E < SHORTS_R I - < SHORTS_L D &mt RALT F &th_c 0 0 &mt LALT P &kp V &kp J &mt RALT H &th_comma 0 0 &th_dot 0 0 < SHORTS_R I - &none &ht_repeat NAV 0 <n LOWER SPACE &msl_raise_smart &ht_shift MEDIA 0 &none - >; - }; - camel_case_layer { - label = "CAMEL"; - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &msk_sft LOWER 0 &trans &trans &trans - >; - }; - shifted_alpha1_layer { - label = "CASE"; - bindings = < - &trans &kp RS(B) &kp RS(M) &kp RS(G) &kp RS(K) &kp RS(X) &kp RS(L) &kp RS(O) &kp RS(U) &trans - < SHORTS_L RS(D) &mt LSHFT RS(N) &mt LCTRL RS(S) &mt LGUI RS(T) &kp RS(W) &kp RS(Z) &mt RGUI RS(R) &mt RCTRL RS(A) &mt RSHFT RS(E) < SHORTS_R RS(I) - < SHORTS_L RS(D) &mt RALT RS(F) &kp RS(C) &mt LALT RS(P) &kp RS(V) &kp RS(J) &mt RALT RS(H) &th_comma 0 0 &th_dot 0 0 < SHORTS_R RS(I) - &trans &ht_repeat NAV 0 &msk_spc LOWER 0 &msl RAISE SHIFT_A2 &ht_caps MEDIA 0 &trans - >; - }; - - snake_case_layer { - label = "SNAKE"; - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &msk_unds LOWER 0 &trans &trans &trans - >; - }; - kebab_case_layer { - label = "KEBAB"; - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &msk_dash LOWER 0 &trans &trans &trans - >; - }; - slash_case_layer { - label = "SLASH"; - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &msk_slash LOWER 0 &trans &trans &trans - >; - }; - spacing_layer { - label = "SPACE"; - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &msk_spcb LOWER 0 &trans &trans &trans - >; - }; - - capsword_layer { - label = "CASE"; - bindings = < - &trans &kp LS(B) &kp LS(M) &kp LS(G) &kp LS(K) &kp LS(X) &kp LS(L) &kp LS(O) &kp LS(U) &none - < SHORTS_L LS(D) &mt LSHFT LS(N) &mt LCTRL LS(S) &mt LGUI LS(T) &kp LS(W) &kp LS(Z) &mt RGUI LS(R) &mt RCTRL LS(A) &mt RSHFT LS(E) < SHORTS_R LS(I) - < SHORTS_L LS(D) &mt RALT LS(F) &kp LS(C) &mt LALT LS(P) &kp LS(V) &kp LS(J) &mt RALT LS(H) &th_comma 0 0 &th_dot 0 0 < SHORTS_R LS(I) - &trans &ht_repeat NAV 0 &trans &msl RAISE CASE_A2 &th_cancel MEDIA 0 &trans - >; - }; - lower_layer { - label = "LOWER"; - bindings = < - &trans &td_lbrc &td_rbrc &th_bsl 0 0 &none &none &mc_n7 &mc_n8 &mc_n9 &none - < NAV AT &td_lpar &td_rpar &th_dqo 0 0 &none &none &mc_n4 &mc_n5 &mc_n6 &kp DOT - < NAV AT &td_lbkt &td_rbkt &th_qmark 0 0 &none &none &mc_n1 &mc_n2 &mc_n3 &kp DOT - &trans &to CASE_A1 &trans < RAISE SPACE &th_n0 MEDIA 0 &trans - >; - }; - raise_layer { - label = "RAISE"; - bindings = < - &none &kp F9 &kp F8 &kp F7 &none &none &th_colon 0 0 &th_eql 0 0 &th_perc 0 0 &none - &none &kp F6 &kp F5 &kp F4 &none &none &th_mins 0 0 &th_plus 0 0 &th_slash 0 0 < SHORTS_R STAR - &none &kp F3 &kp F2 &kp F1 &none &none &th_excl 0 0 &th_lt 0 0 &th_gt 0 0 < SHORTS_R STAR - &trans &key_repeat < SYMBOLS SPACE &trans &tog NUMPAD &trans - >; - }; - numpad_layer { - label = "NUMPAD"; - bindings = < - &none &kp ESC &mkp LCLK &mkp RCLK &none &none &mc_n7 &mc_n8 &mc_n9 &none - &none &mmv MOVE_LEFT &mmv MOVE_UP &mmv MOVE_RIGHT &none &none &mc_n4 &mc_n5 &mc_n6 < SHORTS_R DOT - &none &msc SCRL_DOWN &mmv MOVE_DOWN &msc SCRL_UP &none &none &mc_n1 &mc_n2 &mc_n3 < SHORTS_R DOT - &trans &ht_repeat NAV 0 &trans <n SYMBOLS SPACE &th_n0 MEDIA 0 &trans - >; - }; - shortcuts_left_layer { - label = "SHORTCUT"; - bindings = < - &none &mm_close_tab_esc &mm_refresh_z0 &mm_preview &none &none &mc_selw &kp ENTER &kp ESC &none - &none &th_zh_b LSHFT 0 &mm_zh_f &mm_tabs &none &none &mc_seln &kp DOWN &mt RSHFT UP &mo SYSTEM - &none &mm_wt_b &mm_wt_f &mm_calc &none &none &mc_joinwords &td_dynmacro &mc_sleep &mo SYSTEM - &trans &mst NAV CODING &mst NMODS NMODS < CODING SPACE &mst NAV NAV_F &trans - >; - }; - shortcuts_right_layer { - label = "SHORTCUT"; - bindings = < - &none &mm_close_tab_esc &mm_refresh_z0 &mm_preview &none &none &mc_selw &kp ENTER &kp ESC &none - &mo SYSTEM &th_zh_b LSHFT 0 &mm_zh_f &mm_tabs &none &none &mc_seln &kp DOWN &mt RSHFT UP &none - &mo SYSTEM &mm_wt_b &mm_wt_f &mm_calc &none &none &mc_joinwords &td_dynmacro &mc_sleep &none - &trans &mst NAV CODING &mst NMODS NMODS < CODING SPACE &mst NAV NAV_F &trans - >; - }; - shortcuts_extension_layer { - label = "SHORTCUT"; - bindings = < - &trans &trans &trans &trans &trans &trans &mc_ext_sel &trans &trans &trans - &trans &trans &trans &trans &trans &trans &th_ext_sel LGUI 0 &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans - >; - }; - coding_layer { - label = "CODING"; - bindings = < - &none &mm_close_tab_esc &mm_break &mm_build &none &none &mm_typematch &kp ENTER &kp ESC &none - &mm_project &th_find LSHFT 0 &mm_run &mm_debug &none &none &mm_actions &mm_down &mt RSHFT UP &none - &mm_project &mm_recent &mm_swapper &mm_usages &none &none &mm_docs &mm_refac &mc_comment &none - &trans &th_step_into NAV 0 &mm_step_over &trans &trans &trans - >; - }; - no_mods_layer { - label = "NO MODS"; - bindings = < - &kp Q &kp B &kp M &kp G &kp K &kp X &kp L &kp O &kp U &kp Y - &kp D &kp N &kp S &kp T &kp W &kp Z &kp R &kp A &kp E &kp I - &kp D &kp F &kp C &kp P &kp V &kp J &kp H &kp COMMA &kp DOT &kp I - &none &key_repeat &trans &msl ALPHA2 ALPHA2 &sk LSHFT &none - >; - }; - alpha2_layer { - label = "ALPHA2"; - bindings = < - &none &kp Q &mc_qu &kp K &none &none &ac_ocir &ac_oacu &ac_uacu &none - &kp Y &kp Z &kp X &kp W &none &none &ac_atil &ac_aacu &ac_eacu &ac_iacu - &kp Y &kp J &mc_ced &kp V &none &none &ac_otil &ac_acir &ac_ecir &ac_iacu - &trans &ht_magic NAV 0 &sl SYMBOLS &trans &mc_sqo &trans - >; - }; - shifted_alpha2_layer { - label = "CASE"; - bindings = < - &none &kp RS(Q) &mc_qu_s &kp RS(K) &none &none &ac_ocir_s &ac_oacu_s &ac_uacu_s &none - &kp RS(Y) &kp RS(Z) &kp RS(X) &kp RS(W) &none &none &ac_atil_s &ac_aacu_s &ac_eacu_s &ac_iacu_s - &kp RS(Y) &kp RS(J) &mc_ced_s &kp RS(V) &none &none &ac_otil_s &ac_acir_s &ac_ecir_s &ac_iacu_s - &trans &ht_magic NAV 0 &sl SYMBOLS &trans &mc_sqo_c &trans - >; - }; - case_alpha2_layer { - label = "CASE"; - bindings = < - &none &kp LS(Q) &mc_qu_c &kp LS(K) &none &none &ac_ocir_c &ac_oacu_c &ac_uacu_c &none - &kp LS(Y) &kp LS(Z) &kp LS(X) &kp LS(W) &none &none &ac_atil_c &ac_aacu_c &ac_eacu_c &ac_iacu_c - &kp LS(Y) &kp LS(J) &mc_ced_c &kp LS(V) &none &none &ac_otil_c &ac_acir_c &ac_ecir_c &ac_iacu_c - &trans &ht_magic NAV 0 &sl SYMBOLS &trans &mc_sqo_c &trans - >; - }; - symbols_layer { - label = "SYMBOLS"; - bindings = < - &none &kp LBRC &kp RBRC &kp BACKSLASH &none &none &kp COLON &kp EQUAL &kp PERCENT &none - &kp AT &kp LPAR &kp RPAR &mc_dqo &none &none &kp MINUS &kp PLUS &kp SLASH &kp STAR - &kp AT &kp LBKT &kp RBKT &kp QMARK &none &none &kp EXCL &kp LT &kp GT &kp STAR - &trans &trans &kp SPACE &kp SPACE &trans &trans - >; - }; - sentence_case_layer { - label = "CASE"; - bindings = < - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &trans &trans &trans &trans &trans &trans &trans &trans - &trans &trans &th_sp_ns SYMBOLS 0 &trans &th_nsen MEDIA 0 &trans - >; - }; - sentence_case_ext1_layer { - label = "CASE"; - bindings = < - &kp LS(Q) &kp LS(B) &kp LS(M) &kp LS(G) &kp LS(K) &kp LS(X) &kp LS(L) &kp LS(O) &kp LS(U) &kp LS(Y) - &kp LS(D) &mt LSHFT LS(N) &mt LCTRL LS(S) &mt LGUI LS(T) &kp LS(W) &kp LS(Z) &mt RGUI LS(R) &mt RCTRL LS(A) &mt RSHFT LS(E) &kp LS(I) - &kp LS(D) &mt RALT LS(F) &kp LS(C) &mt LALT LS(P) &kp LS(V) &kp LS(J) &mt LALT LS(H) &th_comma 0 0 &th_dot 0 0 &kp LS(I) - &trans &th_cancel NAV 0 &th_sp_ns SYMBOLS 0 &msl SYMBOLS SEN_E2 &th_nsen MEDIA 0 &trans - >; - }; - sentence_case_ext2_layer { - label = "CASE"; - bindings = < - &none &kp LS(Q) &mc_qu_s &kp LS(K) &none &none &ac_ocir_c &ac_oacu_c &ac_uacu_c &none - &kp LS(Y) &kp LS(Z) &kp LS(X) &kp LS(W) &none &none &ac_atil_c &ac_aacu_c &ac_eacu_c &ac_iacu_c - &kp LS(Y) &kp LS(J) &mc_ced_c &kp LS(V) &none &none &ac_otil_c &ac_acir_c &ac_ecir_c &ac_iacu_c - &trans &th_cancel NAV 0 &th_sp_ns SYMBOLS 0 &none &th_nsen MEDIA 0 &trans - >; - }; - navigation_layer { - label = "NAV"; - bindings = < - &none &kp ESC &kp PAGE_UP &kp INS &none &none &kp TAB &kp ENTER &mc_delword &none - &none &kp LSHFT &kp LCTRL &kp LGUI &none &none &kp LEFT &kp DOWN &kp UP &kp RIGHT - &none &kp RALT &kp PAGE_DOWN &kp LALT &none &none &kp DEL &kp HOME &kp END &mc_cam - &trans &trans &trans &kp SPACE &mo MEDIA &trans - >; - }; - media_layer { - label = "MEDIA"; - bindings = < - &none &kp ESC &mkp LCLK &mkp RCLK &none &none &kp TAB &kp ENTER &kp BACKSPACE &none - &none &mmv MOVE_LEFT &mmv MOVE_UP &mmv MOVE_RIGHT &none &none &mc_mic &mt C_MUTE C_VOL_DN &kp C_VOL_UP &mc_cam - &none &msc SCRL_DOWN &mmv MOVE_DOWN &msc SCRL_UP &none &none &kp C_PP &kp C_PREV &kp C_NEXT &mc_cam - &trans &mo NAV_F &trans &trans &trans &trans - >; - }; - fixed_navigation_layer { - label = "NAV"; - bindings = < - &none &kp ESC &kp PAGE_UP &kp INS &none &none &kp TAB &kp ENTER &mc_delword &none - &none &kp LSHFT &kp LCTRL &kp LGUI &none &none &kp LEFT &kp DOWN &kp UP &kp RIGHT - &none &kp RALT &kp PAGE_DOWN &kp LALT &none &none &kp DEL &kp HOME &kp END &kp RIGHT - &trans &trans &kp SPACE &kp SPACE &to ALPHA1 &trans - >; - }; - lock_layer { - label = "LOCK"; - bindings = < - &none &none &none &none &none &none &none &none &none &none - &trans &none &none &none &none &none &none &none &none &trans - &none &none &none &none &none &none &none &none &none &none - &none &none &none &none &none &none - >; - }; - system_layer { - label = "SYSTEM"; - bindings = < - &none &none &none &sys_reset &none &none &sys_reset &none &none &none - &none &none &none &bootloader &none &none &bootloader &none &tog LOCK_KB &none - &none &none &none &none &none &none &bt BT_CLR &bt BT_PRV &bt BT_NXT &none - &trans &trans &trans &trans &trans &trans - >; - }; - }; -}; diff --git a/src/zmk/features/accents.dtsi b/src/zmk/features/accents.dtsi deleted file mode 100644 index 6d0eaa17..00000000 --- a/src/zmk/features/accents.dtsi +++ /dev/null @@ -1,86 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -/ { - #define ACCENTED_KEY(NAME, KEY, DEAD_KEY, TERM, C_TERM, S_TERM) \ - NAME: NAME { \ - wait-ms = <0>; \ - tap-ms = <0>; \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - bindings \ - = <¯o_press &kp LALT> \ - , <¯o_tap &kp DEAD_KEY> \ - , <¯o_release &kp LALT> \ - , <¯o_tap &kp KEY> \ - , <¯o_tap &kp TERM> \ - ; \ - }; \ - NAME##_c: NAME##_c { \ - wait-ms = <0>; \ - tap-ms = <0>; \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - bindings \ - = <¯o_release &kp LSHFT> \ - , <¯o_press &kp LALT> \ - , <¯o_tap &kp DEAD_KEY> \ - , <¯o_release &kp LALT> \ - , <¯o_press &kp LSHFT> \ - , <¯o_tap &kp KEY> \ - , <¯o_release &kp LSHFT> \ - , <¯o_tap &kp C_TERM> \ - ; \ - }; \ - NAME##_s: NAME##_s { \ - wait-ms = <0>; \ - tap-ms = <0>; \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - bindings \ - = <¯o_release &kp LSHFT> \ - , <¯o_press &kp LALT> \ - , <¯o_tap &kp DEAD_KEY> \ - , <¯o_release &kp LALT> \ - , <¯o_press &kp LSHFT> \ - , <¯o_tap &kp KEY> \ - , <¯o_release &kp LSHFT> \ - , <¯o_tap &kp S_TERM> \ - ; \ - }; \ - - #define MACRO_KEY(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <0>; \ - tap-ms = <0>; \ - bindings = ; \ - }; - - - accents { - ACCENTED_KEY(ac_agrv, A, GRAVE, AGRV_TERM, C_AGRV_TERM, S_AGRV_TERM) - ACCENTED_KEY(ac_aacu, A, E , AACU_TERM, C_AACU_TERM, S_AACU_TERM) - ACCENTED_KEY(ac_atil, A, N , ATIL_TERM, C_ATIL_TERM, S_ATIL_TERM) - ACCENTED_KEY(ac_acir, A, I , ACIR_TERM, C_ACIR_TERM, S_ACIR_TERM) - ACCENTED_KEY(ac_eacu, E, E , EACU_TERM, C_EACU_TERM, S_EACU_TERM) - ACCENTED_KEY(ac_ecir, E, I , ECIR_TERM, C_ECIR_TERM, S_ECIR_TERM) - ACCENTED_KEY(ac_iacu, I, E , IACU_TERM, C_IACU_TERM, S_IACU_TERM) - ACCENTED_KEY(ac_oacu, O, E , OACU_TERM, C_OACU_TERM, S_OACU_TERM) - ACCENTED_KEY(ac_otil, O, N , OTIL_TERM, C_OTIL_TERM, S_OTIL_TERM) - ACCENTED_KEY(ac_ocir, O, I , OCIR_TERM, C_OCIR_TERM, S_OCIR_TERM) - ACCENTED_KEY(ac_uacu, U, E , UACU_TERM, C_UACU_TERM, S_UACU_TERM) - - MACRO_KEY(mc_ced, &kp C_CEDIL) - MACRO_KEY(mc_ced_c, &kp LS(C_CEDIL)) - MACRO_KEY(mc_ced_s, &kp RS(C_CEDIL)) - MACRO_KEY(mc_qu, ¯o_tap &kp Q ¯o_wait_time 10 ¯o_tap &kp U &kp QU_TERM) - MACRO_KEY(mc_qu_c, ¯o_press &kp LSHFT ¯o_tap &kp Q ¯o_wait_time 10 ¯o_tap &kp U ¯o_release &kp LSHFT &kp QU_TERM) - MACRO_KEY(mc_qu_s, ¯o_press &kp LSHFT ¯o_tap &kp Q ¯o_wait_time 10 ¯o_release &kp LSHFT ¯o_tap &kp U &kp QU_TERM) - }; -}; \ No newline at end of file diff --git a/src/zmk/features/combos.dtsi b/src/zmk/features/combos.dtsi deleted file mode 100644 index 6afd2ebe..00000000 --- a/src/zmk/features/combos.dtsi +++ /dev/null @@ -1,199 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -/* KEY POSITIONS - - ╭─────────────────────╮ ╭─────────────────────╮ - │ LTP LTR LTM LTI │ │ RTI RTM RTR RTP │ - │ LHP LHR LHM LHI LHC │ │ RHC RHI RHM RHR RHP │ - │ LBR LBM LBI LBC │ │ RBC RBI RBM RBR │ - ╰───────╮ L1 L0 │ │ R0 R1 ╭───────╯ - ╰─────────────╯ ╰─────────────╯ */ - -/ { - #define COMBO_TERM 50 - - #define COMBO(NAME, KEYS, BINDINGS, LAYERS) \ - NAME { \ - timeout-ms = ; \ - layers = ; \ - key-positions = ; \ - bindings = ; \ - }; - - combos { - compatible = "zmk,combos"; - - COMBO(cb_boot_l, LTP LHP, &bootloader, ALPHA1) - COMBO(cb_boot_r, RTP RHP, &bootloader, ALPHA1) - COMBO(cb_alpha1, LTR LTM, &to ALPHA1, MEDIA) - - COMBO(cb_save, LHR LHM L0, &mc_save, ALPHA1 CASE_A1 NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_escc, LTR LTM, &mc_escc, ALPHA1 CASE_A1 NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_fullscr, LHM LHI L0, &mc_fullscr, ALPHA1 CASE_A1 NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1) - COMBO(cb_find, LBM LBI L0, &mc_find, ALPHA1 CASE_A1 NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1) - COMBO(cb_undo, LBR LBM L0, &mc_undo, ALPHA1 CASE_A1 NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1) - - COMBO(cb_paste, RBI RBM R0, &mc_paste, ALPHA1 CASE_A1 LOWER NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE) - COMBO(cb_copy, RHI RHM R0, &mc_copy, ALPHA1 CASE_A1 LOWER NUMPAD NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE) - COMBO(cb_selall, RBM RBR R0, &mc_selall, ALPHA1 CASE_A1 LOWER NUMPAD SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE) - - COMBO(cb_selcopy, RHI RHM RHR R0, &mc_selcopy, ALPHA1 CASE_A1 LOWER NUMPAD SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE) - COMBO(cb_selpaste, RBI RBM RBR R0, &mc_selpaste, ALPHA1 CASE_A1 LOWER NUMPAD SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE) - - COMBO(cb_numword, LBR LBM, &custom_num_word, ALPHA1 CASE_A1 SEN_CASE SEN_E1 NUMPAD NMODS) - - COMBO(cb_k, LTM LTI, &kp K, ALPHA1 SEN_CASE) - COMBO(cb_w, LHM LHI, &ht_w 0 0, ALPHA1 SEN_CASE) - COMBO(cb_v, LBI LBM, &hyp_v 0 0, ALPHA1 SEN_CASE) - COMBO(cb_q, LHR LHM, &ht_q 0 0, ALPHA1 SEN_CASE) - - COMBO(cb_kc, LTM LTI, &kp LS(K), CASE_A1 SEN_E1) - COMBO(cb_wc, LHM LHI, &kp LS(W), CASE_A1 SEN_E1) - COMBO(cb_vc, LBI LBM, &kp LS(V), CASE_A1 SEN_E1) - COMBO(cb_qc, LHR LHM, &kp LS(Q), CASE_A1 SEN_E1) - - COMBO(cb_comm, RHP R0, &kp COMMA, LOWER NUMPAD) - - COMBO(cb_x, RTI RTM, &kp X, ALPHA1 SEN_CASE) - COMBO(cb_z, RHI RHM, &ht_z 0 0, ALPHA1 SEN_CASE) - COMBO(cb_j, RBI RBM, &hyp_j 0 0, ALPHA1 SEN_CASE) - COMBO(cb_y, RHM RHR, &ht_y 0 0, ALPHA1 SEN_CASE) - COMBO(cb_d, RTI RTM RTR, &kp D, ALPHA1 SEN_CASE) - COMBO(cb_p, RHI RHM RHR, &ht_p 0 0, ALPHA1 SEN_CASE) - COMBO(cb_grva, RBM RBR, &ac_agrv, ALPHA2) - - COMBO(cb_xc, RTI RTM, &kp LS(X), CASE_A1 SEN_E1 SHIFT_A1) - COMBO(cb_zc, RHI RHM, &kp LS(Z), CASE_A1 SEN_E1 SHIFT_A1) - COMBO(cb_jc, RBI RBM, &kp LS(J), CASE_A1 SEN_E1 SHIFT_A1) - COMBO(cb_yc, RHM RHR, &kp LS(Y), CASE_A1 SEN_E2 SHIFT_A1) - COMBO(cb_dc, RTI RTM RTR, &kp LS(D), CASE_A1 SEN_E1 SHIFT_A1) - COMBO(cb_pc, RHI RHM RHR, &kp LS(P), CASE_A1 SEN_E1 SHIFT_A1) - COMBO(cb_grvac, RBM RBR, &ac_agrv_c, CASE_A1 SEN_E2 SHIFT_A1) - - COMBO(cb_sfl, RTI RTM, &kp LS(L), LOWER NUMPAD) - COMBO(cb_jv, RHI RHM, &kp A, LOWER NUMPAD) - COMBO(cb_pipev, RBI RBM, &kp PIPE, LOWER NUMPAD) - COMBO(cb_kv, RHM RHR, &kp E, LOWER NUMPAD) - COMBO(cb_us, RTR RTM RTI, &mc_us, LOWER NUMPAD) - COMBO(cb_br, RHR RHM RHI, &mc_br, LOWER NUMPAD) - COMBO(cb_eu, RBR RBM RBI, &mc_euro, LOWER NUMPAD) - - COMBO(cb_a1, LBR LBM, &to ALPHA1, NUMPAD) - COMBO(cb_f10, LBM LBI, &kp F10, RAISE NUMPAD) - COMBO(cb_f11, LHM LHI, &kp F11, RAISE NUMPAD) - COMBO(cb_f12, LTM LTI, &kp F12, RAISE NUMPAD) - COMBO(cb_f13, LBM LBR, &kp F13, RAISE) - COMBO(cb_f14, LHM LHR, &kp F14, RAISE) - COMBO(cb_f15, LTM LTR, &kp F15, RAISE) - - COMBO(cb_lpa, LHR LHM, &kp LPAR, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_unds, LBR LBM, &mm_unds, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_dqo, LTI LTM, &mc_dqo, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_sqo, LHM LHI, &mc_sqo, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_qmark, LBI LBM, &mc_qmark, ALPHA2 CASE_A2 SEN_E2) - - COMBO(cb_rpa, RHM RHR, &kp RPAR, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_colon, RTI RTM, &mc_colon, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_minus, RHI RHM, &mc_minus, ALPHA2 CASE_A2 SEN_E2) - COMBO(cb_excl, RBI RBM, &mc_excl, ALPHA2 CASE_A2 SEN_E2) - - COMBO(cb_sqo2, LHM LHI, &mc_sqo, LOWER) - COMBO(cb_bti, LBM LBI, &mc_bti, LOWER) - COMBO(cb_braces, LTR LTM, &mc_braces, LOWER) - - COMBO(cb_sqo_s, LHM LHI, &kp SQT, SYMBOLS) - COMBO(cb_bti_s, LBM LBI, &kp GRAVE, SYMBOLS) - COMBO(cb_braces_s, LTR LTM, &mc_braces_s, SYMBOLS) - - COMBO(cb_dol, LTI LTM, &kp DOLLAR, LOWER SYMBOLS) - COMBO(cb_pars, LHR LHM, &th_pars 0 0, LOWER SYMBOLS) - COMBO(cb_brackets, LBR LBM, &mc_brackets, LOWER SYMBOLS) - - COMBO(cb_euro, RTM RTI, &mc_euro, SYMBOLS) - COMBO(cb_caret, RHI RHM, &kp CARET, SYMBOLS) - COMBO(cb_tilde, RBI RBM, &kp TILDE, SYMBOLS) - COMBO(cb_amps, RHM RHR, &kp AMPS, SYMBOLS) - COMBO(cb_pipe, RBM RBR, &kp PIPE, SYMBOLS) - - COMBO(cb_eqeq, RTI RTM, &mc_eqeq, RAISE) - COMBO(cb_noteq, RTI RTM RTR, &mc_noteq, RAISE) - COMBO(cb_caret_sarrow, RHI RHM, &th_caret 0 0, RAISE) - COMBO(cb_dand_darrow, RHM RHR, &th_dand 0 0, RAISE) - COMBO(cb_dds, RHI RHM RHR, &mc_dds, RAISE) - COMBO(cb_tild_lte, RBI RBM, &th_tilde 0 0, RAISE) - COMBO(cb_dor_gte, RBM RBR, &th_dor 0 0, RAISE) - COMBO(cb_tisl, RBI RBM RBR, &mc_tisl, RAISE) - COMBO(cb_hash, RTM RTR, &kp HASH, RAISE SYMBOLS) - - COMBO(cb_esc_save, LTR LTM L0, &mc_save_esc, ALPHA1 SEN_CASE SEN_E1 SEN_E2) - - COMBO(cb_backspace, RTM RTR, &kp BACKSPACE, ALPHA1 CASE_A1 ALPHA2 CASE_A2 NUMPAD LOWER SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_enter_r, RHM RHR R0, &kp ENTER, ALPHA1 CASE_A1 ALPHA2 CASE_A2 NUMPAD LOWER RAISE SYMBOLS NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_enter_l, LHM LHR LHI, &ht_enter 0 0, ALPHA1 CASE_A1 ALPHA2 CASE_A2 NUMPAD LOWER RAISE SYMBOLS NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_del, LBR LBM LBI, &kp DEL, ALPHA1 CASE_A1 ALPHA2 CASE_A2 NUMPAD LOWER RAISE SYMBOLS NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_tab_r, RTM RTR R0, &kp TAB, ALPHA1 CASE_A1 ALPHA2 CASE_A2 NUMPAD LOWER RAISE SYMBOLS NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - COMBO(cb_tab_l, LTM LTR LTI, &kp TAB, ALPHA1 CASE_A1 ALPHA2 CASE_A2 NUMPAD LOWER RAISE SYMBOLS NAV NAV_F SHORTS_L SHORTS_R SHORTCUTS_EXT SEN_CASE SEN_E1 SEN_E2 CAMEL_CASE SNAKE_CASE KEBAB_CASE SLASH_CASE SHIFT_A1 NMODS CODING) - - COMBO(cb_semi, RBM RBR, &th_semi 0 0, ALPHA1 CASE_A1 LOWER SEN_CASE SEN_E1 SEN_E2) - COMBO(cb_sent, RBI RBM RBR, &mc_end_semi_ent, ALPHA1 CASE_A1 SEN_CASE SEN_E1 SEN_E2 LOWER NUMPAD) - - COMBO(cb_o_esc, RHI RHM, &mc_o_esc, MEDIA) - COMBO(cb_sft_o_esc, RHM RHR, &mc_sft_o_esc, MEDIA) - COMBO(cb_dqt0p, RHI RHM RHR, &mc_dqt0p, MEDIA) - COMBO(cb_vr, RBI RBM, &kp V, MEDIA) - COMBO(cb_shiftv, RBM RBR, &kp LS(V), MEDIA) - COMBO(cb_ctrlv, RBI RBM RBR, &kp LC(V), MEDIA) - COMBO(cb_ma1, RTI RTM, &to ALPHA1, MEDIA) - COMBO(cb_mescc, RTM RTR, &mc_escc, MEDIA) - - COMBO(cb_down_end, RTI RTM, &mc_down_end, NAV NAV_F) - COMBO(cb_end_ent, RTM RTR, &mc_end_ent, NAV NAV_F) - - COMBO(cd_sc_nav, LHR LHM L1, &mc_sc_nav, ALPHA1) - COMBO(cd_cg_nav, LHM LHI L1, &mc_cg_nav, ALPHA1) - COMBO(cd_ag_nav, LBR LHM L1, &mc_ag_nav, ALPHA1) - }; - - #define COMBO_MUST_TAP(NAME, HOLD, TAP) \ - NAME##hold: NAME##hold { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <0>; \ - tap-ms = <0>; \ - bindings \ - = <¯o_press HOLD> \ - , <¯o_pause_for_release> \ - , <¯o_release HOLD> \ - ; \ - }; \ - NAME##tap: NAME##tap { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <0>; \ - tap-ms = <0>; \ - bindings = <¯o_tap TAP>; \ - }; \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - flavor = "hold-preferred"; \ - bindings = <&NAME##hold>, <&NAME##tap>; \ - }; - - combo_must_tap { - COMBO_MUST_TAP(ht_w , &kp LCTL &kp LGUI , &kp W) - COMBO_MUST_TAP(ht_q , &kp LSHFT &kp LCTL , &kp Q) - COMBO_MUST_TAP(ht_enter , &kp LSHFT &kp LCTL &kp LGUI , &kp ENTER) - COMBO_MUST_TAP(ht_z , &kp RCTL &kp RGUI , &kp Z) - COMBO_MUST_TAP(ht_y , &kp RCTL &kp RSFT , &kp Y) - COMBO_MUST_TAP(ht_p , &kp RSHFT &kp RCTL &kp RGUI , &kp P) - COMBO_MUST_TAP(hyp_v , &kp LSHFT &kp LCTL &kp LGUI &kp LALT , &kp V) - COMBO_MUST_TAP(hyp_j , &kp RSHFT &kp RCTL &kp RGUI &kp RALT , &kp J) - }; -}; \ No newline at end of file diff --git a/src/zmk/features/leader.dtsi b/src/zmk/features/leader.dtsi deleted file mode 100644 index 34990865..00000000 --- a/src/zmk/features/leader.dtsi +++ /dev/null @@ -1,69 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ -/* KEY POSITIONS - - ╭─────────────────────╮ ╭─────────────────────╮ - │ LTP LTR LTM LTI LTC │ │ RTC RTI RTM RTR RTP │ - │ LHP LHR LHM LHI LHC │ │ RHC RHI RHM RHR RHP │ - │ LBP LBR LBM LBI LBC │ │ RBC RBI RBM RBR RBP │ - ╰───────╮ L2 L1 L0 │ │ R0 R1 R2 ╭───────╯ - ╰─────────────╯ ╰─────────────╯ */ - -&leader { - timeout-ms = <500>; -}; - -/ { - - #define LEADER_MACRO(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <10>; \ - tap-ms = <10>; \ - bindings = <¯o_tap BINDINGS>; \ - }; - - #define LEADER_SEQ(NAME, KEYS, BINDINGS, LAYERS) \ - NAME { \ - key-positions = ; \ - bindings = ; \ - layers = ; \ - }; - - macros { - LEADER_MACRO(mc_section, &kp LA(N6)) - LEADER_MACRO(mc_orda, &kp LA(N0)) - LEADER_MACRO(mc_ordo, &kp LA(N9)) - LEADER_MACRO(mc_deg, &kp LS(LA(N8))) - }; - - leader_sequences { - compatible = "zmk,leader-sequences"; - - LEADER_SEQ(ld_sect, RBR LHM , &mc_section, ALPHA1) - LEADER_SEQ(ld_orda, RBR RTM , &mc_orda, ALPHA1) - LEADER_SEQ(ld_ordo, RBR RHM , &mc_ordo, ALPHA1) - LEADER_SEQ(ld_deg, RBR LHI , &mc_deg, ALPHA1) - }; - - dynamic_macros { - dynmacro: dynmacro { - compatible = "zmk,behavior-dynamic-macro"; - label = "dynmacro"; - #binding-cells = <1>; - wait-ms = <1>; - }; - - td_dynmacro: td_dynmacro { - compatible = "zmk,behavior-tap-dance"; - #binding-cells = <0>; - tapping-term-ms = ; - bindings = <&dynmacro PLAY>, <&dynmacro RECORD>, <&none>; - }; - }; -}; \ No newline at end of file diff --git a/src/zmk/features/shortcuts.dtsi b/src/zmk/features/shortcuts.dtsi deleted file mode 100644 index 433617d5..00000000 --- a/src/zmk/features/shortcuts.dtsi +++ /dev/null @@ -1,192 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -/ { - #define SHORTCUT(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <10>; \ - tap-ms = <10>; \ - bindings = ; \ - }; - - #define SHIFTED_SHORTCUT(NAME, UNSHIFTED, SHIFTED) \ - NAME: NAME { \ - compatible = "zmk,behavior-mod-morph"; \ - #binding-cells = <0>; \ - bindings = , ; \ - mods = <(MOD_LSFT|MOD_RSFT)>; \ - }; - - #define MODTAP_SHORTCUT(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - flavor = "tap-preferred"; \ - quick-tap-ms = ; \ - require-prior-idle-ms = ; \ - bindings = <&kp>, ; \ - }; - - #define LAYERTAP_SHORTCUT(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - quick-tap-ms = ; \ - require-prior-idle-ms = ; \ - bindings = <<>, ; \ - }; - - shortcuts { - - // Romak - - SHORTCUT(mc_fullscr, ¯o_tap &kp LC(LG(F))) - SHORTCUT(mc_find, ¯o_tap &kp LG(F)) - SHORTCUT(mc_selall, ¯o_tap &kp LG(A)) - SHORTCUT(mc_undo, ¯o_tap &kp LG(Z)) - SHORTCUT(mc_copy, ¯o_tap &kp LG(C)) - SHORTCUT(mc_selcopy, ¯o_tap &kp LG(A) &kp LG(C)) - SHORTCUT(mc_paste, ¯o_tap &kp LG(V)) - SHORTCUT(mc_selpaste, ¯o_tap &kp LG(A) &kp LG(V)) - SHORTCUT(mc_save, ¯o_tap &kp LG(S)) - SHORTCUT(mc_save_esc, ¯o_tap &kp LG(S) &kp ESC) - SHORTCUT(mc_o_esc, ¯o_tap &kp O &kp ESC) - SHORTCUT(mc_sft_o_esc, ¯o_tap &kp LS(O) &kp ESC) - SHORTCUT(mc_shift_tab, ¯o_tap &kp LS(TAB)) - - // Media and Navigation - - SHORTCUT(mc_cam, ¯o_tap &kp LC(LA(LS(V)))) - SHORTCUT(mc_mic, ¯o_tap &kp LC(LA(LS(A)))) - SHORTCUT(mc_preview, ¯o_tap &kp LC(LA(LS(P)))) - SHORTCUT(mc_clip, ¯o_tap &kp LC(LA(LS(S)))) - SHORTCUT(mc_tabs, ¯o_tap &kp LC(LA(LS(B)))) - SHORTCUT(mc_files, ¯o_tap &kp LC(LA(LS(F)))) - SHORTCUT(mc_calc, ¯o_tap &kp LC(LA(LS(C)))) - SHORTCUT(mc_term, ¯o_tap &kp LC(LA(LS(T)))) - - SHIFTED_SHORTCUT(mm_preview, &mc_preview, &mc_clip) - SHIFTED_SHORTCUT(mm_tabs, &mc_tabs, &mc_files) - SHIFTED_SHORTCUT(mm_calc, &mc_calc, &mc_term) - - // Macros - - SHORTCUT(mc_shift, &sk LSHFT) - - SHORTCUT(mc_down, ¯o_tap &kp DOWN) - SHORTCUT(mc_complete, ¯o_tap &kp LS(LG(ENTER))) - SHIFTED_SHORTCUT(mm_down, &mc_down, &mc_complete) - - SHORTCUT(mc_breakpoint, ¯o_tap &kp LG(F8)) - SHORTCUT(mc_view_breakpoints, ¯o_tap &kp LG(LS(F8))) - SHIFTED_SHORTCUT(mm_break, &mc_breakpoint, &mc_view_breakpoints) - - SHORTCUT(mc_step_over, ¯o_tap &kp F8) - SHORTCUT(mc_evaluate, ¯o_tap &kp LA(F8)) - SHIFTED_SHORTCUT(mm_step_over, &mc_step_over, &mc_breakpoint) - - SHORTCUT(mc_step_into, ¯o_tap &kp F7) - SHORTCUT(mc_step_out, ¯o_tap &kp LS(F8)) - SHIFTED_SHORTCUT(mm_step_into, &mc_step_into, &mc_step_out) - LAYERTAP_SHORTCUT(th_step_into, &mm_step_into) - - SHORTCUT(mc_actions, ¯o_tap &kp LA(ENTER)) - SHORTCUT(mc_generate, ¯o_tap &kp LG(N)) - SHIFTED_SHORTCUT(mm_actions, &mc_actions, &mc_generate) - - SHORTCUT(mc_typematch, ¯o_tap &kp LS(LC(SPACE))) - SHORTCUT(mc_autocomp, ¯o_tap &kp LC(SPACE)) - SHIFTED_SHORTCUT(mm_typematch, &mc_typematch, &mc_autocomp) - - SHORTCUT(mc_docs, ¯o_tap &kp F1) - SHORTCUT(mc_params, ¯o_tap &kp LG(P)) - SHIFTED_SHORTCUT(mm_docs, &mc_docs, &mc_params) - - SHORTCUT(mc_find_symbol, ¯o_tap &kp LA(LG(O))) - SHORTCUT(mc_find_action, ¯o_tap &kp LS(LG(A))) - SHIFTED_SHORTCUT(mm_find, &mc_find_symbol, &mc_find_action) - MODTAP_SHORTCUT(th_find, &mm_find) - - SHORTCUT(mc_run, ¯o_tap &kp LC(R)) - SHORTCUT(mc_stop, ¯o_tap &kp LG(F2)) - SHIFTED_SHORTCUT(mm_run, &mc_run, &mc_stop) - - SHORTCUT(mc_debug, ¯o_tap &kp LC(D)) - SHORTCUT(mc_resume, ¯o_tap &kp LA(LG(R))) - SHIFTED_SHORTCUT(mm_debug, &mc_debug, &mc_resume) - - SHORTCUT(mc_build, ¯o_tap &kp LG(F9)) - SHORTCUT(mc_rebuild, ¯o_tap &kp LS(LG(F9))) - SHIFTED_SHORTCUT(mm_build, &mc_build, &mc_rebuild) - - SHORTCUT(mc_project, ¯o_tap &kp LG(N1)) - SHORTCUT(mc_select_in, ¯o_tap &kp LA(F1)) - SHIFTED_SHORTCUT(mm_project, &mc_project, &mc_select_in) - - SHORTCUT(mc_recent, ¯o_tap &kp LG(E)) - SHORTCUT(mc_prev_err, ¯o_tap &kp LS(F2)) - SHIFTED_SHORTCUT(mm_recent, &mc_select_in, &mc_prev_err) - - SHORTCUT(mc_swapper, ¯o_tap &kp LC(TAB)) - SHORTCUT(mc_next_err, ¯o_tap &kp F2) - SHIFTED_SHORTCUT(mm_swapper, &mc_swapper, &mc_next_err) - - SHORTCUT(mc_usages, ¯o_tap &kp LG(LA(F7))) - SHORTCUT(mc_quick_def, ¯o_tap &kp LA(SPACE)) - SHIFTED_SHORTCUT(mm_usages, &mc_usages, &mc_quick_def) - - SHORTCUT(mc_refac, ¯o_tap &kp LC(T)) - SHORTCUT(mc_reformat, ¯o_tap &kp LG(LA(L))) - SHIFTED_SHORTCUT(mm_refac, &mc_refac, &mc_reformat) - - SHORTCUT(mc_selw, ¯o_tap &kp LA(LEFT) &kp LA(RIGHT) \ - ¯o_press &kp LA(LS(LEFT)) \ - ¯o_pause_for_release \ - ¯o_release &kp LA(LS(LEFT)) \ - ¯o_tap &sl SHORTCUTS_EXT) - - SHORTCUT(mc_seln, ¯o_tap &kp HOME &kp HOME \ - ¯o_press &kp LS(DOWN) \ - ¯o_pause_for_release \ - ¯o_release &kp LS(DOWN) \ - ¯o_tap &sl SHORTCUTS_EXT) - - SHORTCUT(mc_ext_sel, ¯o_press &key_repeat \ - ¯o_pause_for_release \ - ¯o_release &key_repeat \ - ¯o_tap &sl SHORTCUTS_EXT) - MODTAP_SHORTCUT(th_ext_sel, &mc_ext_sel) - - SHORTCUT(mc_zout, ¯o_tap &kp LG(MINUS)) - SHORTCUT(mc_zin, ¯o_tap &kp LG(PLUS)) - - SHORTCUT(mc_z0, ¯o_tap &kp LG(N0)) - SHORTCUT(mc_refresh, ¯o_tap &kp LG(R)) - SHIFTED_SHORTCUT(mm_refresh_z0, &mc_z0, &mc_refresh) - - SHORTCUT(mc_close_tab, ¯o_tap &kp LG(W)) - SHORTCUT(mc_esc, ¯o_tap &kp ESC) - SHIFTED_SHORTCUT(mm_close_tab_esc, &mc_esc, &mc_close_tab) - - SHORTCUT(mc_comment, ¯o_tap &kp LG(SLASH)) - SHORTCUT(mc_escc, ¯o_tap &kp ESC &to ALPHA1) - SHORTCUT(mc_dqt0p, ¯o_tap &kp DQT &kp N0 &kp P) - - SHORTCUT(mc_delword, ¯o_tap &kp LA(BACKSPACE)) - SHORTCUT(mc_joinwords, ¯o_tap &kp LA(LEFT) &kp BACKSPACE &kp LA(RIGHT)) - - SHORTCUT(mc_sleep, ¯o_press &kp C_SLEEP ¯o_pause_for_release ¯o_release &kp C_SLEEP ¯o_tap &kp LC(LG(Q))) - - SHORTCUT(mc_sc_nav, ¯o_press &kp LSHFT &kp LCTL &mo NAV ¯o_pause_for_release ¯o_release &mo NAV &kp LSHFT &kp LCTL) - SHORTCUT(mc_cg_nav, ¯o_press &kp LCTL &kp LGUI &mo NAV ¯o_pause_for_release ¯o_release &mo NAV &kp LCTL &kp LGUI) - SHORTCUT(mc_ag_nav, ¯o_press &kp RALT &kp LGUI &mo NAV ¯o_pause_for_release ¯o_release &mo NAV &kp RALT &kp LGUI) - }; -}; diff --git a/src/zmk/features/swapper.dtsi b/src/zmk/features/swapper.dtsi deleted file mode 100644 index d026ac73..00000000 --- a/src/zmk/features/swapper.dtsi +++ /dev/null @@ -1,111 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ -/* KEY POSITIONS - - ╭─────────────────────╮ ╭─────────────────────╮ - │ LTP LTR LTM LTI LTC │ │ RTC RTI RTM RTR RTP │ - │ LHP LHR LHM LHI LHC │ │ RHC RHI RHM RHR RHP │ - │ LBP LBR LBM LBI LBC │ │ RBC RBI RBM RBR RBP │ - ╰───────╮ L2 L1 L0 │ │ R0 R1 R2 ╭───────╯ - ╰─────────────╯ ╰─────────────╯ */ - - -/ { - swappers { - sw_win_b: sw_win_b { - wait-ms = <0>; - tap-ms = <0>; - compatible = "zmk,behavior-macro"; - #binding-cells = <0>; - bindings = <¯o_tap &kp LS(TAB)>; - }; - sw_win_f: sw_win_f { - compatible = "zmk,behavior-tri-state"; - #binding-cells = <0>; - bindings = <&kt LGUI>, <&kp TAB>, <&kt LGUI>; - ignored-key-positions = ; - ignored-layers = ; - }; - sw_tab_b: sw_tab_b { - wait-ms = <0>; - tap-ms = <0>; - compatible = "zmk,behavior-macro"; - #binding-cells = <0>; - bindings = <¯o_tap &kp LS(TAB)>; - }; - sw_tab_f: sw_tab_f { - compatible = "zmk,behavior-tri-state"; - #binding-cells = <0>; - bindings = <&kt LCTRL>, <&kp TAB>, <&kt LCTRL>; - ignored-key-positions = ; - ignored-layers = ; - }; - mm_wt_b: mm_wt_b { - compatible = "zmk,behavior-mod-morph"; - #binding-cells = <0>; - bindings = <&sw_win_b>, <&sw_tab_b>; - mods = <(MOD_LSFT|MOD_RSFT)>; - }; - mm_wt_f: mm_wt_f { - compatible = "zmk,behavior-mod-morph"; - #binding-cells = <0>; - bindings = <&sw_win_f>, <&sw_tab_f>; - mods = <(MOD_LSFT|MOD_RSFT)>; - }; - - sw_zoo_b: sw_zoo_b { - wait-ms = <0>; - tap-ms = <0>; - compatible = "zmk,behavior-macro"; - #binding-cells = <0>; - bindings = <¯o_tap &mc_zout>; - }; - sw_zoo_f: sw_zoo_f { - wait-ms = <0>; - tap-ms = <0>; - compatible = "zmk,behavior-macro"; - #binding-cells = <0>; - bindings = <¯o_tap &mc_zin>; - }; - sw_his_b: sw_his_b { - compatible = "zmk,behavior-tri-state"; - #binding-cells = <0>; - bindings = <&kt LGUI>, <&kp LBKT>, <&kt LGUI>; - ignored-key-positions = ; - ignored-layers = ; - }; - sw_his_f: sw_his_f { - wait-ms = <0>; - tap-ms = <0>; - compatible = "zmk,behavior-macro"; - #binding-cells = <0>; - bindings = <¯o_tap &kp RBKT>; - }; - mm_zh_b: mm_zh_b { - compatible = "zmk,behavior-mod-morph"; - #binding-cells = <0>; - bindings = <&sw_zoo_b>, <&sw_his_b>; - mods = <(MOD_LSFT|MOD_RSFT)>; - }; - mm_zh_f: mm_zh_f { - compatible = "zmk,behavior-mod-morph"; - #binding-cells = <0>; - bindings = <&sw_zoo_f>, <&sw_his_f>; - mods = <(MOD_LSFT|MOD_RSFT)>; - }; - - th_zh_b: th_zh_b { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = ; - require-prior-idle-ms = ; - bindings = <&kp>, <&mm_zh_b>; - }; - }; -}; diff --git a/src/zmk/features/symbols.dtsi b/src/zmk/features/symbols.dtsi deleted file mode 100644 index 8be14c83..00000000 --- a/src/zmk/features/symbols.dtsi +++ /dev/null @@ -1,243 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -/ { - #define SYMBOL(NAME, SYMBOLS) \ - NAME: NAME { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <0>; \ - tap-ms = <0>; \ - bindings = <¯o_tap SYMBOLS>; \ - }; - - #define SHIFTED_SYMBOL(NAME, UNSHIFTED, SHIFTED) \ - NAME: NAME { \ - compatible = "zmk,behavior-mod-morph"; \ - #binding-cells = <0>; \ - bindings = , ; \ - mods = <(MOD_LSFT|MOD_RSFT)>; \ - }; - - #define TAPHOLD_SYMBOL(NAME, TAP, HOLD) \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - flavor = "tap-preferred"; \ - quick-tap-ms = ; \ - require-prior-idle-ms = ; \ - bindings = , ; \ - }; - - #define MODTAP_SYMBOL(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - flavor = "tap-preferred"; \ - quick-tap-ms = ; \ - require-prior-idle-ms = ; \ - bindings = <&kp>, ; \ - }; - - #define LAYERTAP_SYMBOL(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - flavor = "tap-preferred"; \ - quick-tap-ms = ; \ - require-prior-idle-ms = ; \ - bindings = <&mo>, ; \ - }; - - #define MACRO_SYMBOL(NAME, SYMBOLS) \ - NAME: NAME { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <10>; \ - tap-ms = <10>; \ - bindings = <¯o_tap SYMBOLS>; \ - }; - - #define TAPDANCE_SYMBOL(NAME, TAPHOLD, DTAP, TTAP) \ - NAME: NAME { \ - compatible = "zmk,behavior-tap-dance"; \ - #binding-cells = <0>; \ - tapping-term-ms = ; \ - bindings = , , ; \ - }; - - symbols { - - // Base - - SHIFTED_SYMBOL(mm_semi, &kp SEMI, &kp COLON) - SYMBOL(mc_end_semi, &kp END &kp SEMI) - TAPHOLD_SYMBOL(th_semi, &mm_semi, &mc_end_semi) - - SYMBOL(mc_epa, ¯o_tap &kp ESC &kp P &kp J) - SYMBOL(mc_end_semi_ent, &kp END &kp SEMI &kp ENTER) - TAPHOLD_SYMBOL(th_epa, &mc_epa, &mc_end_semi_ent) - - SHIFTED_SYMBOL(mm_unds, &kp UNDERSCORE, &kp MINUS) - - SYMBOL(mc_dot, &kp DOT &sl SEN_CASE) - SYMBOL(mc_end_dot, &kp END &kp DOT &sl SEN_CASE) - TAPHOLD_SYMBOL(th_dot, &mc_dot, &mc_end_dot) - - SYMBOL(mc_c, &kp C) - TAPHOLD_SYMBOL(th_c, &mc_c, &leader) - - SYMBOL(mc_comma, &kp COMMA) - TAPHOLD_SYMBOL(th_comma, &mc_comma, &leader) - - // Lower - - SHIFTED_SYMBOL(mc_n0, &kp N0, &kp KP_N0) - SHIFTED_SYMBOL(mc_n1, &kp N1, &kp KP_N1) - SHIFTED_SYMBOL(mc_n2, &kp N2, &kp KP_N2) - SHIFTED_SYMBOL(mc_n3, &kp N3, &kp KP_N3) - SHIFTED_SYMBOL(mc_n4, &kp N4, &kp KP_N4) - SHIFTED_SYMBOL(mc_n5, &kp N5, &kp KP_N5) - SHIFTED_SYMBOL(mc_n6, &kp N6, &kp KP_N6) - SHIFTED_SYMBOL(mc_n7, &kp N7, &kp KP_N7) - SHIFTED_SYMBOL(mc_n8, &kp N8, &kp KP_N8) - SHIFTED_SYMBOL(mc_n9, &kp N9, &kp KP_N9) - - LAYERTAP_SYMBOL(th_n0, &mc_n0) - - SYMBOL(mc_us, &kp LS(U) &kp LS(S) &kp DOLLAR) - SYMBOL(mc_br, &kp LS(R) &kp DOLLAR) - - SYMBOL(mc_dollar, &kp DOLLAR) - SYMBOL(mc_bslash, &kp BACKSLASH) - SYMBOL(mc_euro, &kp LS(LA(N2))) - TAPHOLD_SYMBOL(th_bsl, &mc_bslash, &mc_dollar) - - SYMBOL(mc_sqo, &kp SQT &kp SPACE &kp SQUO_TERM) - SYMBOL(mc_sqo_c, &kp SQT &kp SPACE &kp C_SQUO_TERM) - SYMBOL(mc_dqo, &kp DQT &kp SPACE) - SYMBOL(mc_double_dqo, &mc_dqo &mc_dqo &kp LEFT) - TAPHOLD_SYMBOL(th_dqo, &mc_dqo, &mc_sqo) - - SYMBOL(mc_lpar, &kp LPAR) - SYMBOL(mc_end_lpar, &kp END &kp LPAR) - TAPHOLD_SYMBOL(th_lpar, &mc_lpar, &mc_end_lpar) - MACRO_SYMBOL(mc_var, &kp V &kp A &kp R &kp SPACE) - TAPDANCE_SYMBOL(td_lpar, &th_lpar 0 0, &mc_var, &none) - - SYMBOL(mc_rpar, &kp RPAR) - SYMBOL(mc_end_rpar, &kp END &kp RPAR) - TAPHOLD_SYMBOL(th_rpar, &mc_rpar, &mc_end_rpar) - MACRO_SYMBOL(mc_return, &kp R &kp E &kp T &kp U &kp R &kp N &kp SPACE) - TAPDANCE_SYMBOL(td_rpar, &th_rpar 0 0, &mc_return, &none) - - SYMBOL(mc_pars, &kp LPAR &kp RPAR) - SYMBOL(mc_end_pars, &kp END &kp LPAR &kp RPAR) - TAPHOLD_SYMBOL(th_pars, &mc_pars, &mc_end_pars) - - SYMBOL(mc_lbkt, &kp LBKT) - SYMBOL(mc_end_lbkt, &kp END &kp LBKT) - MACRO_SYMBOL(mc_switch, &kp S &kp W &kp I &kp T &kp C &kp H &kp LPAR) - TAPHOLD_SYMBOL(th_lbkt, &mc_lbkt, &mc_end_lbkt) - TAPDANCE_SYMBOL(td_lbkt, &th_lbkt 0 0, &mc_switch, &none) - - SYMBOL(mc_rbkt, &kp RBKT) - SYMBOL(mc_end_rbkt, &kp END &kp RBKT) - MACRO_SYMBOL(mc_case, &kp C &kp A &kp S &kp E &kp SPACE) - TAPHOLD_SYMBOL(th_rbkt, &mc_rbkt, &mc_end_rbkt) - TAPDANCE_SYMBOL(td_rbkt, &th_rbkt 0 0, &mc_case, &none) - - SYMBOL(mc_brackets, &kp LBKT &kp RBKT) - - SYMBOL(mc_qmark, &kp QMARK &sl SEN_CASE) - SYMBOL(mc_bti, &kp GRAVE &kp SPACE) - TAPHOLD_SYMBOL(th_qmark, &mc_qmark, &mc_bti) - - SYMBOL(mc_lbrc, &kp LBRC) - SYMBOL(mc_end_lbrc, &kp END &kp LBRC) - MACRO_SYMBOL(mc_for, &kp F &kp O &kp R &kp LPAR) - TAPHOLD_SYMBOL(th_lbrc, &mc_lbrc, &mc_end_lbrc) - TAPDANCE_SYMBOL(td_lbrc, &th_lbrc 0 0, &mc_for, &none) - - SYMBOL(mc_rbrc, &kp RBRC) - SYMBOL(mc_end_rbrc, &kp END &kp RBRC) - MACRO_SYMBOL(mc_if, &kp I &kp F &kp LPAR) - TAPHOLD_SYMBOL(th_rbrc, &mc_rbrc, &mc_end_rbrc) - TAPDANCE_SYMBOL(td_rbrc, &th_rbrc 0 0, &mc_if, &none) - - SYMBOL(mc_braces, &kp END &kp LBRC &kp RBRC &kp LEFT &kp ENTER) - SYMBOL(mc_braces_s, &kp LBRC &kp RBRC) - - // Raise - - SYMBOL(mc_hash, &kp HASH) - SYMBOL(mc_perc, &kp PERCENT) - TAPHOLD_SYMBOL(th_perc, &mc_perc, &mc_hash) - - SYMBOL(mc_caret, &kp CARET &kp SPACE) - SYMBOL(mc_minus, &kp MINUS) - TAPHOLD_SYMBOL(th_mins, &mc_minus, &mc_caret) - - SYMBOL(mc_plus, &kp PLUS) - TAPHOLD_SYMBOL(th_plus, &mc_plus, &mc_dollar) - - SYMBOL(mc_and, &kp AMPS) - - SYMBOL(mc_slash, &kp SLASH) - TAPHOLD_SYMBOL(th_slash, &mc_slash, &mc_and) - - SYMBOL(mc_lt, &kp LT) - SYMBOL(mc_unds, &kp UNDERSCORE) - TAPHOLD_SYMBOL(th_lt, &mc_lt, &mc_unds) - - SYMBOL(mc_or, &kp PIPE) - SYMBOL(mc_gt, &kp GT) - TAPHOLD_SYMBOL(th_gt, &mc_gt, &mc_or) - - SYMBOL(mc_excl, &kp EXCL &sl SEN_CASE) - SYMBOL(mc_tilde, &kp TILDE &kp SPACE) - TAPHOLD_SYMBOL(th_excl, &mc_excl, &mc_tilde) - - SYMBOL(mc_colon, &kp COLON) - SYMBOL(mc_end_colon, &kp END &kp COLON) - SYMBOL(mc_dcolon, &kp COLON &kp COLON) - TAPHOLD_SYMBOL(th_colon, &mc_colon, &mc_end_colon) - - SYMBOL(mc_eql, &kp EQUAL) - SYMBOL(mc_end_eql, &kp END &kp EQUAL) - TAPHOLD_SYMBOL(th_eql, &mc_eql, &mc_end_eql) - - SYMBOL(mc_eqeq, &kp EQUAL &kp EQUAL) - SYMBOL(mc_noteq, &kp EXCL &kp EQUAL) - - SYMBOL(mc_sarrow, &kp MINUS &kp GT) - TAPHOLD_SYMBOL(th_caret, &mc_caret, &mc_sarrow) - - SYMBOL(mc_darrow, &kp EQL &kp GT) - SYMBOL(mc_double_and, &kp AMPS &kp AMPS) - TAPHOLD_SYMBOL(th_dand, &mc_double_and, &mc_darrow) - - SYMBOL(mc_dds, &kp DOT &kp DOT &kp SLASH) - - SYMBOL(mc_lte, &kp LT &kp EQL) - TAPHOLD_SYMBOL(th_tilde, &mc_tilde, &mc_lte) - - SYMBOL(mc_gte, &kp GT &kp EQL) - SYMBOL(mc_double_or, &kp PIPE &kp PIPE) - TAPHOLD_SYMBOL(th_dor, &mc_double_or, &mc_gte) - - SYMBOL(mc_tisl, &kp TILDE &kp SPACE &kp SLASH) - - SYMBOL(mc_end_ent, &kp END &kp ENTER) - SYMBOL(mc_down_end, &kp DOWN &kp END) - - SYMBOL(mc_zz, &kp Z &kp Z) - }; -}; diff --git a/src/zmk/features/thumbs.dtsi b/src/zmk/features/thumbs.dtsi deleted file mode 100644 index 7cba7104..00000000 --- a/src/zmk/features/thumbs.dtsi +++ /dev/null @@ -1,392 +0,0 @@ -/* -* -* Copyright (c) 2022 Rafael Romão -* SPDX-License-Identifier: MIT -* -*/ - -/ { - #define THUMB_LAYERTAP(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-hold-tap"; \ - #binding-cells = <2>; \ - tapping-term-ms = ; \ - flavor = "tap-preferred"; \ - quick-tap-ms = <0>; \ - require-prior-idle-ms = ; \ - bindings = <&mo>, ; \ - }; - - #define THUMB_MACRO(NAME, BINDINGS) \ - NAME: NAME { \ - compatible = "zmk,behavior-macro"; \ - #binding-cells = <0>; \ - wait-ms = <10>; \ - tap-ms = <10>; \ - bindings = <¯o_tap BINDINGS>; \ - }; - - #define THUMB_MORPH(NAME, MODS, MODDED, UNMODDED) \ - NAME: NAME { \ - compatible = "zmk,behavior-mod-morph"; \ - #binding-cells = <0>; \ - bindings = , ; \ - mods = <(MODS)>; \ - }; - - #define THUMB_COMBO_MORPH(NAME, FIRST_MOD, SECOND_MOD, IF_BOTH, OR_ELSE) \ - NAME##_CHECK_SECOND: NAME##_CHECK_SECOND { \ - compatible = "zmk,behavior-mod-morph"; \ - #binding-cells = <0>; \ - bindings = , ; \ - mods = <(SECOND_MOD)>; \ - }; \ - NAME: NAME { \ - compatible = "zmk,behavior-mod-morph"; \ - #binding-cells = <0>; \ - bindings = , <&NAME##_CHECK_SECOND>; \ - mods = <(FIRST_MOD)>; \ - }; - - thumbs { - - // ********************** CUSTOM HOLD TAPS ********************** // - - ltn: layer-tap-no-quick-tap { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&kp>; - }; - msl: layer-tap-with-stick-layer { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&sl>; - }; - msk: layer-tap-with-stick-key { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&sk>; - }; - mst: layer-tap-with-tog-key { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&tog>; - }; - - // ********************** SENTENCE CASE ********************** // - - tc_cancel: tc_cancel { - compatible = "zmk,behavior-macro"; - label = "tc_cancel"; - #binding-cells = <0>; - wait-ms = <10>; - tap-ms = <10>; - bindings = <¯o_tap &kp K_CANCEL &to ALPHA1>; - }; - THUMB_MACRO(tc_sp_ns, &kp SPACE &sl SEN_E1) - THUMB_MACRO(tc_nsen, &sl SEN_E1) - THUMB_LAYERTAP(th_sp_ns, &tc_sp_ns) - THUMB_LAYERTAP(th_cancel, &tc_cancel) - THUMB_LAYERTAP(th_nsen, &tc_nsen) - - // ********************** NUM WORD ********************** // - - custom_num_word: custom_num_word { - compatible = "zmk,behavior-caps-word"; - ignore-numbers; - #binding-cells = <0>; - layers = ; - continue-list = ; - }; - - THUMB_MACRO(tc_custom_num_word, &to ALPHA1 &custom_num_word) - - // ******************* CAPS WORD ******************* // - - custom_caps_word: custom_caps_word { - compatible = "zmk,behavior-caps-word"; - ignore-alphas; - ignore-modifiers; - #binding-cells = <0>; - layers = ; - continue-list = ; - }; - - THUMB_MACRO(tc_shift_layer, &sl SHIFT_A1) - - ht_shift: ht_shift { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&tc_shift_layer>; - }; - - ht_caps: ht_caps { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&custom_caps_word>; - }; - - // ******************** REPEAT KEY ******************** // - - labeled_key_repeat: labeled_key_repeat { - compatible = "zmk,behavior-macro"; - label = "labeled_key_repeat"; - #binding-cells = <0>; - wait-ms = <10>; - tap-ms = <10>; - bindings = <¯o_tap &key_repeat>; - }; - - smart_repeat: smart_repeat { - compatible = "zmk,behavior-antecedent-morph"; - label = "smart_repeat"; - #binding-cells = <0>; - max-delay-ms = ; - defaults = <&labeled_key_repeat>; - antecedents = < - A AACU_TERM ATIL_TERM ACIR_TERM AGRV_TERM C_CEDIL \ - EACU_TERM ECIR_TERM H I IACU_TERM J \ - K OACU_TERM OTIL_TERM OCIR_TERM \ - QU_TERM SQUO_TERM U UACU_TERM V W \ - X Y DOT \ - - LS(A) C_AACU_TERM C_ATIL_TERM C_ACIR_TERM C_AGRV_TERM LS(C_CEDIL) \ - C_EACU_TERM C_ECIR_TERM LS(H) LS(I) C_IACU_TERM LS(J) \ - LS(K) C_OACU_TERM C_OTIL_TERM C_OCIR_TERM \ - C_QU_TERM C_SQUO_TERM LS(U) C_UACU_TERM LS(V) LS(W) \ - LS(X) LS(Y) \ - - RS(A) S_AACU_TERM S_ATIL_TERM S_ACIR_TERM S_AGRV_TERM RS(C_CEDIL) \ - S_EACU_TERM S_ECIR_TERM RS(H) RS(I) S_IACU_TERM RS(J) \ - RS(K) S_OACU_TERM S_OTIL_TERM S_OCIR_TERM \ - S_QU_TERM RS(U) S_UACU_TERM RS(V) RS(W) \ - RS(X) RS(Y) \ - >; - bindings = < - &kp V &kp V &kp O &kp N &mc_qu &tc_atilo \ - &kp V &kp E &tc_oes &tc_ng &kp V &ac_aacu \ - &tc_ey &kp V &tc_es &kp O \ - &ac_ecir &kp V &kp Y &kp V &ac_aacu &tc_hy \ - &ac_aacu &tc_ou &tc_com \ - - &kp LS(V) &kp LS(V) &kp LS(O) &kp LS(N) &mc_qu_c &tc_atilo_c \ - &kp LS(V) &kp LS(E) &tc_oes_c &tc_ng_c &kp LS(V) &ac_aacu_c \ - &tc_ey_c &kp LS(V) &tc_es_c &kp LS(O) \ - &ac_ecir_c &kp LS(V) &kp LS(Y) &kp LS(V) &ac_aacu_c &tc_hy_c \ - &ac_aacu_c &tc_ou_c \ - - &kp V &kp V &kp O &kp N &mc_qu &tc_atilo \ - &kp V &kp E &tc_oes &tc_ng &kp V &ac_aacu \ - &tc_ey &kp V &tc_es &kp O \ - &ac_ecir &kp Y &kp V &ac_aacu &tc_hy \ - &ac_aacu &tc_ou \ - >; - }; - - THUMB_MACRO(tc_atilo, &ac_atil &kp O) - THUMB_MACRO(tc_oes, &ac_otil &kp E &kp S) - THUMB_MACRO(tc_es, &kp E &kp S) - THUMB_MACRO(tc_ou, &kp O &kp U) - THUMB_MACRO(tc_ng, &kp N &kp G) - THUMB_MACRO(tc_ey, &kp E &kp Y) - THUMB_MACRO(tc_hy, &kp H &kp Y) - THUMB_MACRO(tc_com, &kp C &kp O &kp M) - THUMB_MACRO(tc_atilo_c, &ac_atil_c &kp LS(O)) - THUMB_MACRO(tc_oes_c, &ac_otil_c &kp LS(E) &kp LS(S)) - THUMB_MACRO(tc_es_c, &kp LS(E) &kp LS(S)) - THUMB_MACRO(tc_ou_c, &kp LS(O) &kp LS(U)) - THUMB_MACRO(tc_ng_c, &kp LS(N) &kp LS(G)) - THUMB_MACRO(tc_ey_c, &kp LS(E) &kp LS(Y)) - THUMB_MACRO(tc_hy_c, &kp LS(H) &kp LS(Y)) - - ht_repeat: ht_repeat { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&smart_repeat>; - }; - - // ******************** MAGIC KEY ******************** // - - smart_magic: smart_magic { - compatible = "zmk,behavior-antecedent-morph"; - label = "smart_magic"; - #binding-cells = <0>; - max-delay-ms = ; - defaults = <&labeled_key_repeat>; - antecedents = < - A AACU_TERM ATIL_TERM ACIR_TERM AGRV_TERM B C C_CEDIL D \ - E EACU_TERM ECIR_TERM F H I IACU_TERM J \ - K L M N OACU_TERM OTIL_TERM OCIR_TERM P \ - QU_TERM R S T U UACU_TERM V W \ - X DOT \ - - LS(A) C_AACU_TERM C_ATIL_TERM C_ACIR_TERM C_AGRV_TERM LS(B) LS(C) LS(C_CEDIL) LS(D) \ - LS(E) C_EACU_TERM C_ECIR_TERM LS(F) LS(H) LS(I) C_IACU_TERM LS(J) \ - LS(K) LS(L) LS(M) LS(N) C_OACU_TERM C_OTIL_TERM C_OCIR_TERM LS(P) \ - C_QU_TERM LS(R) LS(S) LS(T) LS(U) C_UACU_TERM LS(V) LS(W) \ - LS(X) \ - - RS(A) S_AACU_TERM S_ATIL_TERM S_ACIR_TERM S_AGRV_TERM RS(B) RS(C) RS(C_CEDIL) RS(D) \ - RS(E) S_EACU_TERM S_ECIR_TERM RS(F) RS(H) RS(I) S_IACU_TERM RS(J) \ - RS(K) RS(L) RS(M) RS(N) S_OACU_TERM S_OTIL_TERM S_OCIR_TERM RS(P) \ - S_QU_TERM RS(R) RS(S) RS(T) RS(U) S_UACU_TERM RS(V) RS(W) \ - RS(X) \ - >; - bindings = < - &kp O &kp X &kp O &kp M &mc_qu &kp Y &kp S &tc_otiles &kp Y \ - &kp U &kp U &kp X &kp Y &kp R &tc_smart_i &kp Z &ac_atil \ - &kp W &kp H &kp S &kp F &kp X &kp E &kp V &kp T \ - &ac_iacu &tc_ly &kp S &kp W &kp E &kp Z &ac_iacu &kp K \ - &ac_iacu &kp SLASH \ - - &kp LS(O) &kp LS(X) &kp LS(O) &kp LS(M) &mc_qu_c &kp LS(Y) &kp LS(S) &tc_otiles_c &kp LS(Y) \ - &kp LS(U) &kp LS(U) &kp LS(X) &kp LS(Y) &kp LS(R) &tc_smart_i &kp LS(Z) &ac_atil_c \ - &kp LS(W) &kp LS(H) &kp LS(S) &kp LS(F) &kp LS(X) &kp LS(E) &kp LS(V) &kp LS(T) \ - &ac_iacu_c &tc_ly_c &kp LS(C) &kp LS(W) &kp LS(E) &kp LS(Z) &ac_iacu_c &kp LS(K) \ - &ac_iacu_c \ - - &kp O &kp X &kp O &kp M &mc_qu &kp Y &kp S &tc_otiles &kp Y \ - &kp U &kp U &kp X &kp Y &kp R &tc_smart_i &kp Z &ac_atil \ - &kp W &kp H &kp S &kp F &kp X &kp E &kp V &kp T \ - &ac_iacu &tc_ly &kp S &kp W &kp E &kp Z &ac_iacu &kp K \ - &ac_iacu \ - >; - }; - - - THUMB_MACRO(tc_ly, &kp L &kp Y) - THUMB_MACRO(tc_ly_c, &kp LS(L) &kp LS(Y)) - THUMB_MACRO(tc_otiles, &ac_otil &kp E &kp S) - THUMB_MACRO(tc_otiles_c, &ac_otil_c &kp LS(E) &kp LS(S)) - THUMB_MACRO(tc_smart_i, &kp BACKSPACE &kp LS(I) &kp QUOT &kp SPACE) - - ht_magic: ht_magic { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&smart_magic>; - }; - - // ******************** SMART CASES ******************** // - - THUMB_MACRO(mc_sl_alpha2, &sl ALPHA2) - - msl_a2: msl_a2 { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_sl_alpha2>; - }; - - THUMB_MORPH(sc_numpad, MOD_LALT, &to NUMPAD , &sc_caps_lock ) - THUMB_MORPH(sc_camelcase, MOD_LSFT, &to CAMEL_CASE , &sc_numword ) - THUMB_MORPH(sc_caps_word, MOD_LCTL, &custom_caps_word , &msl_a2 RAISE 0 ) - THUMB_MORPH(sc_snakecase, MOD_LGUI, &to SNAKE_CASE , &sc_camelcase ) - - THUMB_MORPH(sc_numword, MOD_RALT, &custom_num_word , &sc_numpad ) - THUMB_MORPH(sc_kebabcase, MOD_RGUI, &to KEBAB_CASE , &sc_snakecase ) - THUMB_MORPH(sc_caps_lock, MOD_RCTL, &to CASE_A1 , &sc_caps_word ) - THUMB_MORPH(sc_slashcase, MOD_RSFT, &to SLASH_CASE , &sc_kebabcase ) - - THUMB_MACRO(tc_shift_camel, &to CAMEL_CASE &sl SHIFT_A1) - THUMB_COMBO_MORPH(sc_pascalcase, MOD_LCTL, MOD_LSFT, &tc_shift_camel, &sc_slashcase) - - THUMB_MACRO(tc_strong_snakecase, &tog CASE_A1 &tog SNAKE_CASE) - THUMB_COMBO_MORPH(sc_strong_snake_case, MOD_LCTL, MOD_LGUI, &tc_strong_snakecase, &sc_pascalcase) - - THUMB_MACRO(tc_strong_kebabcase, &tog CASE_A1 &tog KEBAB_CASE) - THUMB_COMBO_MORPH(sc_strong_kebab_case, MOD_RCTL, MOD_RGUI, &tc_strong_kebabcase, &sc_strong_snake_case) - - THUMB_MACRO(tc_strong_slashcase, &tog CASE_A1 &tog SLASH_CASE) - THUMB_COMBO_MORPH(sc_strong_slash_case, MOD_RCTL, MOD_RSFT, &tc_strong_slashcase, &sc_strong_kebab_case) - - #define msl_raise_smart sc_strong_slash_case - - THUMB_MACRO(mc_msk_camel, &sl SHIFT_A1) - THUMB_MACRO(mc_msk_snake, &kp UNDERSCORE &sl SPACING) - THUMB_MACRO(mc_msk_kebab, &kp MINUS &sl SPACING) - THUMB_MACRO(mc_msk_slash, &kp SLASH &sl SPACING) - THUMB_MACRO(mc_msk_space, &kp SPACE &to ALPHA1) - THUMB_MACRO(mc_msk_space_b, &kp BACKSPACE &kp SPACE &to ALPHA1) - - msk_unds: msk_unds { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_msk_snake>; - }; - - msk_dash: msk_dash { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_msk_kebab>; - }; - - msk_slash: msk_slash { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_msk_slash>; - }; - - msk_spcb: msk_spcb { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_msk_space_b>; - }; - - msk_sft: msk_sft { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_msk_camel>; - }; - - msk_spc: msk_spc { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - tapping-term-ms = ; - flavor = "tap-preferred"; - quick-tap-ms = <0>; - bindings = <&mo>, <&mc_msk_space>; - }; - - }; -}; \ No newline at end of file diff --git a/src/zmk/readme.md b/src/zmk/readme.md deleted file mode 100644 index 3958da5a..00000000 --- a/src/zmk/readme.md +++ /dev/null @@ -1,11 +0,0 @@ -# rafaelromao's keyboard layout - -## ZMK - -This folder contains the port of my keymap to ZMK. -The full documentation can be found [here](https://github.com/rafaelromao/keyboards). - -### Missing features / Known Issues: -- Orbital Mouse - - Regular Mouse Emulation is available instead. -- Windows Support \ No newline at end of file