M165437 / nice-view-gem

A sleek customization for the nice!view shield
MIT License
99 stars 15 forks source link
zmk zmk-module

nice-view-gem

Preview

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

Usage

To use this shield, first add it to your config/west.yml by adding a new entry to remotes and projects:

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.

---
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:

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.

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 will switch to a dynamic range, like the default nice!view shield, which dynamically adjusts based on the last 10 WPM values provided by ZMK. y
CONFIG_NICE_VIEW_GEM_WPM_FIXED_RANGE_MAX int You can adjust the maximum value of the fixed range to align with your current goal. 100
CONFIG_NICE_VIEW_GEM_ANIMATION bool If you find the animation distracting (or want to save on battery usage), you can turn it off by setting this option to n. It will instead pick a random frame of the animation every time you restart your keyboard. y
CONFIG_NICE_VIEW_GEM_ANIMATION_MS int Alternatively, you can slow down the animation. A high value, such as 96000, slows the animation considerably, showing the next frame every couple of seconds. The animation consists of 16 frames, and the default value of 960 milliseconds plays it at 60 fps. 960

Credits

Shoutout to Teenage Engineering for their 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 license. πŸ–‹οΈ