keychron_qmk_firmware/keyboards/bastardkb/charybdis/4x6/keymaps/via
..
config.h
keymap.c
readme.md
rules.mk

Charybdis (4x6) via keymap

The Charydbis (4x6) via keymap is inspired from the original Dactyl Manuform default keymap, with some features and changes specific to the Charybdis.

This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the config.h file and enable your favorite effect.

Customizing the keymap

Dynamic DPI scaling

Use the following keycodes to change the default DPI:

  • POINTER_DEFAULT_DPI_FORWARD: increases the DPI; decreases when shifted;
  • POINTER_DEFAULT_DPI_REVERSE: decreases the DPI; increases when shifted.

There's a maximum of 16 possible values for the sniping mode DPI. See the Charybdis documentation for more information.

Use the following keycodes to change the sniping mode DPI:

  • POINTER_SNIPING_DPI_FORWARD: increases the DPI; decreases when shifted;
  • POINTER_SNIPING_DPI_REVERSE: decreases the DPI; increases when shifted.

There's a maximum of 4 possible values for the sniping mode DPI. See the Charybdis documentation for more information.

Drag-scroll

Use the DRAGSCROLL_MODE keycode to enable drag-scroll on hold. Use the DRAGSCROLL_TOGGLE keycode to enable/disable drag-scroll on key press.

Sniping

Use the SNIPING_MODE keycode to enable sniping mode on hold. Use the SNIPING_TOGGLE keycode to enable/disable sniping mode on key press.

Change the value of CHARYBDIS_AUTO_SNIPING_ON_LAYER to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:

#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER

Auto pointer layer

The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define:

#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE

By default, the layer is turned off 1 second after the last registered trackball movement:

#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000

The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger:

#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8

Layout

Keymap layout (generated with keyboard-layout-editor.com)