# @getreuer's QMK community modules (This is not an officially supported Google product.) ![](doc/banner.jpg) | Module | Description | |-------------------------------------------|-------------------------------------------------------| | [Achordion](./achordion/) | Customize the tap-hold decision. | | [Custom Shift Keys](./custom_shift_keys/) | Customize what keycode is produced when shifted. | | [Keycode String](./keycode_string/) | Format QMK keycodes as human-readable strings. | | [Mouse Turbo Click](./mouse_turbo_click/) | Click the mouse rapidly. | | [Orbital Mouse](./orbital_mouse/) | A polar approach to mouse key control. | | [PaletteFx](./palettefx/) | Palette-based animated RGB matrix lighting effects. | | [Select Word](./select_word/) | Convenient word and line selection. | | [Sentence Case](./sentence_case/) | Automatically capitalize sentences. | | [SOCD Cleaner](./socd_cleaner/) | SOCD filtering for fast gaming inputs. | | [Tap Flow](./tap_flow/) | Disable HRMs during fast typing (Global Quick Tap). | ## What is this? This repo contains my community modules for [Quantum Mechanical Keyboard (QMK)](https://docs.qmk.fm) firmware, used on custom keyboards like the ZSA Voyager pictured above. I use most of these modules myself in [my QMK keymap](https://github.com/getreuer/qmk-keymap). ## License This repo uses the Apache License 2.0 except where otherwise indicated. See the [LICENSE file](LICENSE.txt) for details. ## How to install This repo makes use of [Community Modules](https://getreuer.info/posts/keyboards/qmk-community-modules/index.html) support added in QMK Firmware 0.28.0, released on 2025-02-27. [Update your QMK set up](https://docs.qmk.fm/newbs_git_using_your_master_branch#updating-your-master-branch) to get the latest. If you have it, there will be a `modules` folder inside your `qmk_firmware` folder. **Step 1. Download modules.** Run these shell commands to download the modules, replacing `/path/to/qmk_firmware` with the path of your "`qmk_firmware`" folder: ```sh cd /path/to/qmk_firmware mkdir -p modules git submodule add https://github.com/getreuer/qmk-modules.git modules/getreuer git submodule update --init --recursive ``` Or if using [External Userspace](https://docs.qmk.fm/newbs_external_userspace), replace the first line with `cd /path/to/your/external/userspace`. Or if you don't want to use git, [download a .zip of this repo](https://github.com/getreuer/qmk-modules/archive/refs/heads/main.zip) into the `modules` folder. Unzip it, then rename the resulting `qmk-modules-main` folder to `getreuer`. In any case, the installed directory structure is like this: └── modules └── getreuer ├── achordion ├── custom_shift_keys ├── keycode_string    └── ... **Step 2. Add modules to keymap.json.** Add a module to your keymap by writing a file `keymap.json` in your keymap folder with the content ```json { "modules": ["getreuer/achordion"] } ``` Or if a `keymap.json` already exists, merge the `"modules"` line into it. Add multiple modules like: ```json { "modules": ["getreuer/achordion", "getreuer/sentence_case"] } ``` Follow the modules' documentation for any further specific set up. **Step 3. Update the firmware.** Compile and flash the firmware as usual. If there are build errors, try running `qmk clean` and compiling again for a clean build. ## How to uninstall Remove the modules from `keymap.json` and delete the `modules/getreuer` folder.