]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - docs/config_options.md
update Helix keymap 'five_rows' (#2635)
[qmk_firmware.git] / docs / config_options.md
index a9ff549959a8b68b11a403736524b44d86729e12..d45592f82fbd8d8b20d31f6165a001abb7b5216a 100644 (file)
@@ -31,9 +31,8 @@ This is a C header file that is one of the first things included, and will persi
 
     #include "config_common.h"
 
-## `config.h` Options
 
-### Hardware Options
+## Hardware Options
 * `#define VENDOR_ID 0x1234`
   * defines your VID, and for most DIY projects, can be whatever you want
 * `#define PRODUCT_ID 0x5678`
@@ -62,14 +61,26 @@ This is a C header file that is one of the first things included, and will persi
   * COL2ROW or ROW2COL - how your matrix is configured. COL2ROW means the black mark on your diode is facing to the rows, and between the switch and the rows.
 * `#define AUDIO_VOICES`
   * turns on the alternate audio voices (to cycle through)
+* `#define C4_AUDIO`
+  * enables audio on pin C4
+* `#define C5_AUDIO`
+  * enables audio on pin C5
 * `#define C6_AUDIO`
   * enables audio on pin C6
 * `#define B5_AUDIO`
-  * enables audio on pin B5 (duophony is enable if both are enabled)
+  * enables audio on pin B5 (duophony is enables if one of B[5-7]_AUDIO is enabled along with one of C[4-6]_AUDIO)
+* `#define B6_AUDIO`
+  * enables audio on pin B6 (duophony is enables if one of B[5-7]_AUDIO is enabled along with one of C[4-6]_AUDIO)
+* `#define B7_AUDIO`
+  * enables audio on pin B7 (duophony is enables if one of B[5-7]_AUDIO is enabled along with one of C[4-6]_AUDIO)
 * `#define BACKLIGHT_PIN B7`
   * pin of the backlight - B5, B6, B7 use PWM, others use softPWM
 * `#define BACKLIGHT_LEVELS 3`
-  * number of levels your backlight will have (not including off)
+  * number of levels your backlight will have (maximum 15 excluding off)
+* `#define BACKLIGHT_BREATHING`
+  * enables backlight breathing (only works with backlight pins B5, B6 and B7)
+* `#define BREATHING_PERIOD 6`
+  * the length of one backlight "breath" in seconds
 * `#define DEBOUNCING_DELAY 5`
   * the delay when reading the value of the pin (5 is default)
 * `#define LOCKING_SUPPORT_ENABLE`
@@ -79,7 +90,7 @@ This is a C header file that is one of the first things included, and will persi
 * `#define IS_COMMAND() ( keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) )`
   * key combination that allows the use of magic commands (useful for debugging)
 
-### Features That Can Be Disabled
+## Features That Can Be Disabled
 
 If you define these options you will disable the associated feature, which can save on code size.
 
@@ -98,7 +109,7 @@ If you define these options you will disable the associated feature, which can s
 * `#define NO_ACTION_FUNCTION`
   * disable the action function (deprecated)
 
-### Features That Can Be Enabled
+## Features That Can Be Enabled
 
 If you define these options you will enable the associated feature, which may increase your code size.
 
@@ -107,7 +118,7 @@ If you define these options you will enable the associated feature, which may in
 * `#define PREVENT_STUCK_MODIFIERS`
   * when switching layers, this will release all mods
 
-### Behaviors That Can Be Configured
+## Behaviors That Can Be Configured
 
 * `#define TAPPING_TERM 200`
   * how long before a tap becomes a hold
@@ -135,7 +146,7 @@ If you define these options you will enable the associated feature, which may in
     few ms of delay from this. But if you're doing chording on something with 3-4ms
     scan times? You probably want this.
 
-### RGB Light Configuration
+## RGB Light Configuration
 
 * `#define RGB_DI_PIN D7`
   * pin the DI on the ws2812 is hooked-up to
@@ -152,7 +163,7 @@ If you define these options you will enable the associated feature, which may in
 * `#define RGBW_BB_TWI`
   * bit-bangs TWI to EZ RGBW LEDs (only required for Ergodox EZ)
 
-### Mouse Key Options
+## Mouse Key Options
 
 * `#define MOUSEKEY_INTERVAL 20`
 * `#define MOUSEKEY_DELAY 0`
@@ -164,9 +175,7 @@ If you define these options you will enable the associated feature, which may in
 
 This is a [make](https://www.gnu.org/software/make/manual/make.html) file that is included by the top-level `Makefile`. It is used to set some information about the MCU that we will be compiling for as well as enabling and disabling certain features.
 
-## `rules.mk` Options
-
-### Build Options
+## Build Options
 
 * `DEFAULT_FOLDER`
   * Used to specify a default folder when a keyboard has more than one sub-folder.
@@ -175,7 +184,7 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
 * `LAYOUTS`
   * A list of [layouts](feature_layouts.md) this keyboard supports.
 
-### AVR MCU Options
+## AVR MCU Options
 * `MCU = atmega32u4`
 * `F_CPU = 16000000`
 * `ARCH = AVR8`
@@ -189,7 +198,7 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
   * `caterina`
   * `bootloadHID`
 
-### Feature Options
+## Feature Options
 
 Use these to enable or disable building certain features. The more you have enabled the bigger your firmware will be, and you run the risk of building a firmware too large for your MCU.