1 # QMK Features 2 3 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. 4 5 6 * [Advanced Keycodes](feature_advanced_keycodes.md) - Change layers, dual-action keys, and more. Go beyond typing simple characters. 7 * [Audio](feature_audio.md) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode. 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. 10 * [Bluetooth](feature_bluetooth.md) - BlueTooth support for your keyboard. 11 * [Bootmagic](feature_bootmagic.md) - Adjust the behavior of your keyboard using hotkeys. 12 * [Combos](feature_combo.md) - Custom actions for multiple key holds. 13 * [Command](feature_command.md) - Runtime version of bootmagic (Formerly known as "Magic"). 14 * [Debounce API](feature_debounce_type.md) - Customization of debouncing algorithms, and the ability to add more/custom debouncing. 15 * [Dynamic Macros](feature_dynamic_macros.md) - Record and playback macros from the keyboard itself. 16 * [Encoders](feature_encoders.md) - Rotary encoders! 17 * [Grave Escape](feature_grave_esc.md) - Lets you use a single key for Esc and Grave. 18 * [Haptic Feedback](feature_haptic_feedback.md) - Add haptic feedback drivers to your board. 19 * [HD44780 LCD Display](feature_hd44780.md) - Support for LCD character displays using the HD44780 standard. 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. 23 * [LED Matrix](feature_led_matrix.md) - LED Matrix single color lights for per key lighting (Single Color, not RGB). 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. 26 * [OLED Driver](feature_oled_driver.md) - Add OLED screens to your keyboard. 27 * [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys) - Sticky Keys, lets you hit a key rather than holding it. 28 * [Pointing Device](feature_pointing_device.md) - Framework for connecting your custom pointing device to your keyboard. 29 * [PS2 Mouse](feature_ps2_mouse.md) - Driver for connecting a PS/2 mouse directly to your keyboard. 30 * [RGB Light](feature_rgblight.md) - RGB lighting for your keyboard. 31 * [RGB Matrix](feature_rgb_matrix.md) - RGB Matrix lights for per key lighting. 32 * [Space Cadet](feature_space_cadet.md) - Use your left/right shift keys to type parenthesis and brackets. 33 * [Split Keyboard](feature_split_keyboard.md) 34 * [Stenography](feature_stenography.md) - Put your keyboard into Plover mode for stenography use. 35 * [Swap Hands](feature_swap_hands.md) - Mirror your keyboard for one handed usage. 36 * [Tap Dance](feature_tap_dance.md) - Make a single key do as many things as you want. 37 * [Terminal](feature_terminal.md) - CLI interface to the internals of your keyboard. 38 * [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. 39 * [Unicode](feature_unicode.md) - Unicode input support. 40 * [Userspace](feature_userspace.md) - Share code between different keymaps and keyboards. 41 * [Velocikey](feature_velocikey.md) - Allows changes in RGB animation speed based on WPM/Typing speed.