https://github.com/m165437/nice-view-gem
A sleek customization for the nice!view shield
https://github.com/m165437/nice-view-gem
zmk zmk-module
Last synced: 3 months ago
JSON representation
A sleek customization for the nice!view shield
- Host: GitHub
- URL: https://github.com/m165437/nice-view-gem
- Owner: M165437
- License: mit
- Created: 2024-10-20T09:14:40.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-19T19:21:39.000Z (about 1 year ago)
- Last Synced: 2025-03-28T10:06:42.316Z (about 1 year ago)
- Topics: zmk, zmk-module
- Language: C
- Homepage:
- Size: 273 KB
- Stars: 212
- Watchers: 4
- Forks: 46
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nice-view-gem

### A sleek customization for the nice!view shield
Add this shield to your keymap repo (see usage below) and run the GitHub action to build your firmware.
### Features
- Uses a **fixed range for the chart and gauge deflection**. 📈
- Includes a **beautiful animation** for the peripheral of split keyboards. 💎
- Comes with **pixel-perfect symbols** for BLE and USB connections. 📡
## Usage
To use this shield, first add it to your `config/west.yml` by adding a new entry to remotes and projects.
Always pin both ZMK and this module to matching revisions.
- ZMK `v0.3` → use release `v0.3.0`
- ZMK `main` (Zephyr 4.1+) → use the `main` branch
```yml
manifest:
remotes:
- name: zmkfirmware
url-base: https://github.com/zmkfirmware
- name: m165437 #new entry
url-base: https://github.com/M165437 #new entry
projects:
- name: zmk
remote: zmkfirmware
revision: main
import: app/west.yml
- name: nice-view-gem #new entry
remote: m165437 #new entry
revision: main #new entry
self:
path: config
```
Now, simply swap out the default nice_view shield on the board for nice_view_gem in your `build.yaml` file.
```yml
---
include:
- board: nice_nano_v2
shield: kyria_left nice_view_adapter nice_view_gem #updated entry
- board: nice_nano_v2
shield: kyria_right nice_view_adapter nice_view_gem #updated entry
```
Finally, make sure to enable the custom status screen in your ZMK configuration:
```conf
CONFIG_ZMK_DISPLAY=y
CONFIG_ZMK_DISPLAY_STATUS_SCREEN_CUSTOM=y
```
## Configuration
Modify the behavior of this shield by adjusting these options in your personal configuration files. For a more detailed explanation, refer to [Configuration in the ZMK documentation](https://zmk.dev/docs/config).
| Option | Type | Description | Default |
| ------------------------------------------ | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
| `CONFIG_NICE_VIEW_GEM_WPM_FIXED_RANGE` | bool | This shield uses a fixed range for the chart and gauge deflection. If you set this option to `n`, it switches to a dynamic range, like the default nice!view shield, which adjusts based on the last 10 WPM values provided by ZMK. | y |
| `CONFIG_NICE_VIEW_GEM_WPM_FIXED_RANGE_MAX` | int | Adjusts the maximum value of the fixed range to better align with your current goal. | 100 |
| `CONFIG_NICE_VIEW_GEM_ANIMATION` | bool | If you find the animation distracting (or want to save battery), you can turn it off by setting this option to `n`. When disabled, a random animation frame is selected each time you restart your keyboard. | y |
| `CONFIG_NICE_VIEW_GEM_ANIMATION_FRAME` | int | When the animation is disabled, you can set this to a specific frame index (1–16) to display instead of a random one. | 0 |
| `CONFIG_NICE_VIEW_GEM_ANIMATION_MS` | int | Controls the animation speed. Higher values increase the delay between frames (for example, `96000` shows a new frame every couple of seconds). The animation has 16 frames; the default value of 960 milliseconds plays it at 60 fps. | 960 |
## Credits
Shoutout to Teenage Engineering for their [TX-6](https://teenage.engineering/products/tx-6), from which the inspiration (and maybe even a few pixel strokes) originated. 😬
As for the floating crystal, appreciation goes to the pixel wizardry of Trixelized, who graciously lent their art to this project. 💎
The font, Pixel Operator, is the work of Jayvee Enaguas, kindly shared under a [Creative Commons Zero (CC0) 1.0](https://creativecommons.org/publicdomain/zero/1.0/) license. 🖋️