qmk/docs/features.md
Drashna Jaelre dab4967f1b
Add Dip Switch as a core feature (#6140)
* Add Dip Switches as a core feature

* Add documentation for Dip Switch feature

* Update Preonic Rev3 to use new feature and remove custom matrix

* Apply suggestions from code review

Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com>

* Remove custom matrix line completely

Rather than just disabling it

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* DIP changes

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Use better check for DIP Switch configuration

* Add to show features

* Add bitmask callback for dip switch

* Fix OLKB Boards dip switch config

* Update docs to include bitmask example

* Fix comments/documentation

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Fix issues with docs and use example from @tuzonghua

* Fix wording

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Fix example to use proper formatting

Bad, BAAAAAAD drashna!!!

* Handle dip switch initialization better
2019-09-03 08:34:31 -07:00

3.6 KiB

QMK Features

QMK has a staggering number of features for building your keyboard. It can take some time to understand all of them and determine which one will achieve your goal.

  • Advanced Keycodes - Change layers, dual-action keys, and more. Go beyond typing simple characters.
  • Audio - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
  • Auto Shift - Tap for the normal key, hold slightly longer for its shifted state.
  • Backlight - LED lighting support for your keyboard.
  • Bluetooth - BlueTooth support for your keyboard.
  • Bootmagic - Adjust the behavior of your keyboard using hotkeys.
  • Combos - Custom actions for multiple key holds.
  • Command - Runtime version of bootmagic (Formerly known as "Magic").
  • Debounce API - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
  • DIP Switch - Toggle switches for customizing board function.
  • Dynamic Macros - Record and playback macros from the keyboard itself.
  • Encoders - Rotary encoders!
  • Grave Escape - Lets you use a single key for Esc and Grave.
  • Haptic Feedback - Add haptic feedback drivers to your board.
  • HD44780 LCD Display - Support for LCD character displays using the HD44780 standard.
  • Key Lock - Lock a key in the "down" state.
  • Layouts - Use one keymap with any keyboard that supports your layout.
  • Leader Key - Tap the leader key followed by a sequence to trigger custom behavior.
  • LED Matrix - LED Matrix single color lights for per key lighting (Single Color, not RGB).
  • Macros - Send multiple key presses when pressing only one physical key.
  • Mouse keys - Control your mouse pointer from your keyboard.
  • OLED Driver - Add OLED screens to your keyboard.
  • One Shot Keys - Sticky Keys, lets you hit a key rather than holding it.
  • Pointing Device - Framework for connecting your custom pointing device to your keyboard.
  • PS2 Mouse - Driver for connecting a PS/2 mouse directly to your keyboard.
  • RGB Light - RGB lighting for your keyboard.
  • RGB Matrix - RGB Matrix lights for per key lighting.
  • Space Cadet - Use your left/right shift keys to type parenthesis and brackets.
  • Split Keyboard
  • Stenography - Put your keyboard into Plover mode for stenography use.
  • Swap Hands - Mirror your keyboard for one handed usage.
  • Tap Dance - Make a single key do as many things as you want.
  • Terminal - CLI interface to the internals of your keyboard.
  • Thermal Printer - Connect a thermal printer to your keyboard to be able to toggle on a printed log of everything you type.
  • Unicode - Unicode input support.
  • Userspace - Share code between different keymaps and keyboards.
  • Velocikey - Allows changes in RGB animation speed based on WPM/Typing speed.