qmk_firmware/keyboards/gmmk/pro/rev1/iso/keymaps/vitoni
..
config.h
keymap.c
readme.adoc

= ViToni's keymap for GMMK Pro ISO

== Layout
Based on the stock layout but making use of CAPS as FN similar to laptop keyboards.
This frees up the left row for other uses (although not remapped yet).
Since both Delete and Insert are used for coding they are part of the CAPS layer as well.

The differences are as follows:

=== Layer 0 (`_BASE`)
Mostly stock + CAPS goes to layer `_MOV`.
FN toggles the layer `_RGB`.

=== Layer 1 (`_MOV`), accessed by pressing `CAPS` on layer `_BASE`
[%header]
|===
| Key / Action          | Mapped to
| ESC                   | _RESET_
| F1                    | KC_MYCM
| F2                    | KC_WHOM
| F3                    | KC_CALC
| F4                    | KC_MSEL
| F5                    | KC_MPRV
| F6                    | KC_MPLY
| F7                    | KC_MSTP
| F8                    | KC_MNXT
| F9                    | KC_MUTE
| F10                   | KC_VOLD
| F11                   | KC_VOLU
| N                     | NK_TOGG
| Delete                | Insert
| Left                  | Home
| Right                 | End
| Up                    | PgUp
| Down                  | PgDn
|===

=== Layer 2 (`_RGB`), accessed by pressing `FN` on layer `_BASE`
Revamped the stock FN layer to focus on RGB only.

[%header]
|===
| Key / Action          | Mapped to
| Knob clockwise        | Value/Brightness up
| Knob anti-clockwise   | Value/Brightness down
| Backspace             | _RESET_
| Enter                 | RGB_TOG
| Del                   | RGB_MOD
| PgUp                  | RGB_RMOD
| PgDn                  | RGB_SPI
| End                   | RGB_SPD
| Left                  | RGB_HUD
| Right                 | RGB_HUI
| Up                    | RGB_SAI
| Down                  | RGB_SAD
|===

No other changes have been made.

== RGB light

The code customizing RGB light usage is decribed here:

* link:../../../../../../users/vitoni/readme.adoc[/users/vitoni/readme.adoc]

When using  `RGB_MATRIX_TIMEOUT` addtional options are available:

* `RGB_FADE_IN` makes the RGB lights fade in instead of setting the value/brightness to 100% (implicitly due to HSV including the brightness) when resuming after RGB lights have been turned off.
Fade in occurs when the keyboard is initialized and when the RGB brightness has been changed (e.g. suspending, fade out, etc.).
* `RGB_DISABLE_WITH_FADE_OUT` activates fade out before the keyboard is disabled by `RGB_MATRIX_TIMEOUT`.

Parameters used to define the behavior are:
[%header]
|===
|Key | Default | Description

| RGB_MATRIX_MAXIMUM_BRIGHTNESS
| 200 (<= UNIT8_MAX)
| Maximum assumed value for brightness.
Used to calculate lead time for fade out before suspend timeout.

|===

`RGB_IDLE_TIMEOUT` enables fading out after being idle for the defined time and allows
* `RGB_IDLE_BREATHE` also activates a brethe effect while idling.

[%header]
|===
|Key | Default | Description

|RGB_IDLE_TIMEOUT
|4500
|Time in milliseconds without activity before considered to be idle.

|RGB_IDLE_MINIMUM_BRIGHTNESS
|`RGB_MATRIX_MAXIMUM_BRIGHTNESS` / 5
|Brightness value RGB is dimmed to when starting to idle. +
When breathing used as the lower bound of the brightness value.

|RGB_IDLE_MAXIMUM_BRIGHTNESS
|`RGB_MATRIX_MAXIMUM_BRIGHTNESS` * 2/5
|Upper bound of brightness value of the RGB light while breathing.

|===