2017-06-30 00:13:44 +08:00
# QMK Features
2017-12-09 13:49:07 +08: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 11:34:28 +08:00
2018-08-06 11:08:26 +08:00
* [Advanced Keycodes ](feature_advanced_keycodes.md ) - Change layers, dual-action keys, and more. Go beyond typing simple characters.
2017-10-25 11:34:28 +08:00
* [Audio ](feature_audio.md ) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
2017-10-29 14:02:49 +08: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 04:15:59 +08:00
* [Bluetooth ](feature_bluetooth.md ) - BlueTooth support for your keyboard.
2017-10-29 14:02:49 +08:00
* [Bootmagic ](feature_bootmagic.md ) - Adjust the behavior of your keyboard using hotkeys.
2018-11-13 08:46:01 +08:00
* [Combos ](feature_combo.md ) - Custom actions for multiple key holds.
2018-10-29 00:29:18 +08:00
* [Command ](feature_command.md ) - Runtime version of bootmagic (Formerly known as "Magic").
2019-05-23 11:55:52 +08:00
* [Debounce API ](feature_debounce_type.md ) - Customization of debouncing algorithms, and the ability to add more/custom debouncing.
2019-09-03 23:34:31 +08:00
* [DIP Switch ](feature_dip_switch.md ) - Toggle switches for customizing board function.
2017-10-25 11:34:28 +08:00
* [Dynamic Macros ](feature_dynamic_macros.md ) - Record and playback macros from the keyboard itself.
2019-01-18 23:33:43 +08:00
* [Encoders ](feature_encoders.md ) - Rotary encoders!
2018-10-29 00:29:18 +08:00
* [Grave Escape ](feature_grave_esc.md ) - Lets you use a single key for Esc and Grave.
2019-05-22 04:15:59 +08:00
* [Haptic Feedback ](feature_haptic_feedback.md ) - Add haptic feedback drivers to your board.
2018-07-16 01:31:45 +08:00
* [HD44780 LCD Display ](feature_hd44780.md ) - Support for LCD character displays using the HD44780 standard.
2017-10-25 11:34:28 +08: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 07:29:29 +08:00
* [LED Matrix ](feature_led_matrix.md ) - LED Matrix single color lights for per key lighting (Single Color, not RGB).
2017-10-29 14:02:49 +08: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 11:55:52 +08:00
* [OLED Driver ](feature_oled_driver.md ) - Add OLED screens to your keyboard.
2019-05-24 01:29:18 +08: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 11:34:28 +08:00
* [Pointing Device ](feature_pointing_device.md ) - Framework for connecting your custom pointing device to your keyboard.
2017-12-09 13:49:07 +08:00
* [PS2 Mouse ](feature_ps2_mouse.md ) - Driver for connecting a PS/2 mouse directly to your keyboard.
2017-10-29 14:02:49 +08:00
* [RGB Light ](feature_rgblight.md ) - RGB lighting for your keyboard.
2018-05-16 10:24:47 +08:00
* [RGB Matrix ](feature_rgb_matrix.md ) - RGB Matrix lights for per key lighting.
2019-05-09 12:45:00 +08:00
* [Space Cadet ](feature_space_cadet.md ) - Use your left/right shift keys to type parenthesis and brackets.
2019-07-16 14:23:32 +08:00
* [Split Keyboard ](feature_split_keyboard.md )
2017-10-25 11:34:28 +08:00
* [Stenography ](feature_stenography.md ) - Put your keyboard into Plover mode for stenography use.
2018-05-16 10:24:47 +08:00
* [Swap Hands ](feature_swap_hands.md ) - Mirror your keyboard for one handed usage.
2017-10-29 14:02:49 +08: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 11:34:28 +08: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 14:02:49 +08:00
* [Userspace ](feature_userspace.md ) - Share code between different keymaps and keyboards.
2019-05-23 11:55:52 +08:00
* [Velocikey ](feature_velocikey.md ) - Allows changes in RGB animation speed based on WPM/Typing speed.