2017-06-29 22:13:44 +06:00
# QMK Features
2017-12-09 11:49:07 +06:00
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.
2017-10-25 09:34:28 +06:00
2018-08-06 09:08:26 +06:00
* [Advanced Keycodes ](feature_advanced_keycodes.md ) - Change layers, dual-action keys, and more. Go beyond typing simple characters.
2017-10-25 09:34:28 +06:00
* [Audio ](feature_audio.md ) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
2017-10-29 12:02:49 +06:00
* [Auto Shift ](feature_auto_shift.md ) - Tap for the normal key, hold slightly longer for its shifted state.
* [Backlight ](feature_backlight.md ) - LED lighting support for your keyboard.
2019-05-22 02:15:59 +06:00
* [Bluetooth ](feature_bluetooth.md ) - BlueTooth support for your keyboard.
2017-10-29 12:02:49 +06:00
* [Bootmagic ](feature_bootmagic.md ) - Adjust the behavior of your keyboard using hotkeys.
2018-11-13 06:46:01 +06:00
* [Combos ](feature_combo.md ) - Custom actions for multiple key holds.
2018-10-28 22:29:18 +06:00
* [Command ](feature_command.md ) - Runtime version of bootmagic (Formerly known as "Magic").
2019-05-23 09:55:52 +06:00
* [Debounce API ](feature_debounce_type.md ) - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
2017-10-25 09:34:28 +06:00
* [Dynamic Macros ](feature_dynamic_macros.md ) - Record and playback macros from the keyboard itself.
2019-01-18 21:33:43 +06:00
* [Encoders ](feature_encoders.md ) - Rotary encoders!
2018-10-28 22:29:18 +06:00
* [Grave Escape ](feature_grave_esc.md ) - Lets you use a single key for Esc and Grave.
2019-05-22 02:15:59 +06:00
* [Haptic Feedback ](feature_haptic_feedback.md ) - Add haptic feedback drivers to your board.
2018-07-15 23:31:45 +06:00
* [HD44780 LCD Display ](feature_hd44780.md ) - Support for LCD character displays using the HD44780 standard.
2017-10-25 09:34:28 +06:00
* [Key Lock ](feature_key_lock.md ) - Lock a key in the "down" state.
* [Layouts ](feature_layouts.md ) - Use one keymap with any keyboard that supports your layout.
* [Leader Key ](feature_leader_key.md ) - Tap the leader key followed by a sequence to trigger custom behavior.
2019-03-04 05:29:29 +06:00
* [LED Matrix ](feature_led_matrix.md ) - LED Matrix single color lights for per key lighting (Single Color, not RGB).
2017-10-29 12:02:49 +06:00
* [Macros ](feature_macros.md ) - Send multiple key presses when pressing only one physical key.
* [Mouse keys ](feature_mouse_keys.md ) - Control your mouse pointer from your keyboard.
2019-05-23 09:55:52 +06:00
* [OLED Driver ](feature_oled_driver.md ) - Add OLED screens to your keyboard.
2019-05-23 23:29:18 +06:00
* [One Shot Keys ](feature_advanced_keycodes.md#one-shot-keys ) - Sticky Keys, lets you hit a key rather than holding it.
2017-10-25 09:34:28 +06:00
* [Pointing Device ](feature_pointing_device.md ) - Framework for connecting your custom pointing device to your keyboard.
2017-12-09 11:49:07 +06:00
* [PS2 Mouse ](feature_ps2_mouse.md ) - Driver for connecting a PS/2 mouse directly to your keyboard.
2017-10-29 12:02:49 +06:00
* [RGB Light ](feature_rgblight.md ) - RGB lighting for your keyboard.
2018-05-16 08:24:47 +06:00
* [RGB Matrix ](feature_rgb_matrix.md ) - RGB Matrix lights for per key lighting.
2019-05-09 10:45:00 +06:00
* [Space Cadet ](feature_space_cadet.md ) - Use your left/right shift keys to type parenthesis and brackets.
2019-07-16 12:23:32 +06:00
* [Split Keyboard ](feature_split_keyboard.md )
2017-10-25 09:34:28 +06:00
* [Stenography ](feature_stenography.md ) - Put your keyboard into Plover mode for stenography use.
2018-05-16 08:24:47 +06:00
* [Swap Hands ](feature_swap_hands.md ) - Mirror your keyboard for one handed usage.
2017-10-29 12:02:49 +06:00
* [Tap Dance ](feature_tap_dance.md ) - Make a single key do as many things as you want.
* [Terminal ](feature_terminal.md ) - CLI interface to the internals of your keyboard.
2017-10-25 09:34:28 +06:00
* [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.
* [Unicode ](feature_unicode.md ) - Unicode input support.
2017-10-29 12:02:49 +06:00
* [Userspace ](feature_userspace.md ) - Share code between different keymaps and keyboards.
2019-05-23 09:55:52 +06:00
* [Velocikey ](feature_velocikey.md ) - Allows changes in RGB animation speed based on WPM/Typing speed.