QMK CLI and JSON keymap support (#6176)
[jackhill/qmk/firmware.git] / docs / features.md
CommitLineData
391eae97
JH
1# QMK Features
2
af37bb2f 3QMK 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.
67cc5ceb 4
5
d263b27c 6* [Advanced Keycodes](feature_advanced_keycodes.md) - Change layers, dual-action keys, and more. Go beyond typing simple characters.
67cc5ceb 7* [Audio](feature_audio.md) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
49c32021
JC
8* [Auto Shift](feature_auto_shift.md) - Tap for the normal key, hold slightly longer for its shifted state.
9* [Backlight](feature_backlight.md) - LED lighting support for your keyboard.
02787ac0 10* [Bluetooth](feature_bluetooth.md) - BlueTooth support for your keyboard.
49c32021 11* [Bootmagic](feature_bootmagic.md) - Adjust the behavior of your keyboard using hotkeys.
2dc14d1c 12* [Combos](feature_combo.md) - Custom actions for multiple key holds.
4a033641 13* [Command](feature_command.md) - Runtime version of bootmagic (Formerly known as "Magic").
dcb274b2 14* [Debounce API](feature_debounce_type.md) - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
67cc5ceb 15* [Dynamic Macros](feature_dynamic_macros.md) - Record and playback macros from the keyboard itself.
52f12067 16* [Encoders](feature_encoders.md) - Rotary encoders!
4a033641 17* [Grave Escape](feature_grave_esc.md) - Lets you use a single key for Esc and Grave.
02787ac0 18* [Haptic Feedback](feature_haptic_feedback.md) - Add haptic feedback drivers to your board.
bbea9dad 19* [HD44780 LCD Display](feature_hd44780.md) - Support for LCD character displays using the HD44780 standard.
67cc5ceb 20* [Key Lock](feature_key_lock.md) - Lock a key in the "down" state.
21* [Layouts](feature_layouts.md) - Use one keymap with any keyboard that supports your layout.
22* [Leader Key](feature_leader_key.md) - Tap the leader key followed by a sequence to trigger custom behavior.
3305df8e 23* [LED Matrix](feature_led_matrix.md) - LED Matrix single color lights for per key lighting (Single Color, not RGB).
49c32021
JC
24* [Macros](feature_macros.md) - Send multiple key presses when pressing only one physical key.
25* [Mouse keys](feature_mouse_keys.md) - Control your mouse pointer from your keyboard.
dcb274b2 26* [OLED Driver](feature_oled_driver.md) - Add OLED screens to your keyboard.
36f427f4 27* [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys) - Sticky Keys, lets you hit a key rather than holding it.
67cc5ceb 28* [Pointing Device](feature_pointing_device.md) - Framework for connecting your custom pointing device to your keyboard.
af37bb2f 29* [PS2 Mouse](feature_ps2_mouse.md) - Driver for connecting a PS/2 mouse directly to your keyboard.
49c32021 30* [RGB Light](feature_rgblight.md) - RGB lighting for your keyboard.
9f2bb114 31* [RGB Matrix](feature_rgb_matrix.md) - RGB Matrix lights for per key lighting.
16f36734 32* [Space Cadet](feature_space_cadet.md) - Use your left/right shift keys to type parenthesis and brackets.
67cc5ceb 33* [Stenography](feature_stenography.md) - Put your keyboard into Plover mode for stenography use.
9f2bb114 34* [Swap Hands](feature_swap_hands.md) - Mirror your keyboard for one handed usage.
49c32021
JC
35* [Tap Dance](feature_tap_dance.md) - Make a single key do as many things as you want.
36* [Terminal](feature_terminal.md) - CLI interface to the internals of your keyboard.
67cc5ceb 37* [Thermal Printer](feature_thermal_printer.md) - Connect a thermal printer to your keyboard to be able to toggle on a printed log of everything you type.
38* [Unicode](feature_unicode.md) - Unicode input support.
49c32021 39* [Userspace](feature_userspace.md) - Share code between different keymaps and keyboards.
dcb274b2 40* [Velocikey](feature_velocikey.md) - Allows changes in RGB animation speed based on WPM/Typing speed.