# 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 ](feature_advanced_keycodes.md ) - Change layers, dual-action keys, and more. Go beyond typing simple characters.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Audio ](feature_audio.md ) - Connect a speaker to your keyboard for audio feedback, midi support, and music mode.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [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.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Bluetooth ](feature_bluetooth.md ) - BlueTooth support for your keyboard.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Bootmagic ](feature_bootmagic.md ) - Adjust the behavior of your keyboard using hotkeys.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Combos ](feature_combo.md ) - Custom actions for multiple key holds.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Command ](feature_command.md ) - Runtime version of bootmagic (Formerly known as "Magic").
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Debounce API ](feature_debounce_type.md ) - Customization of debouncing algorithms, and the ability to add more/custom debouncing. 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Dynamic Macros ](feature_dynamic_macros.md ) - Record and playback macros from the keyboard itself.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Encoders ](feature_encoders.md ) - Rotary encoders! 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Grave Escape ](feature_grave_esc.md ) - Lets you use a single key for Esc and Grave. 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Haptic Feedback ](feature_haptic_feedback.md ) - Add haptic feedback drivers to your board.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [HD44780 LCD Display ](feature_hd44780.md ) - Support for LCD character displays using the HD44780 standard.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [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.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [LED Matrix ](feature_led_matrix.md ) - LED Matrix single color lights for per key lighting (Single Color, not RGB).
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [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.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [OLED Driver ](feature_oled_driver.md ) - Add OLED screens to your keyboard.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [One Shot Keys ](feature_advanced_keycodes.md#one-shot-keys ) - Sticky Keys, lets you hit a key rather than holding it.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Pointing Device ](feature_pointing_device.md ) - Framework for connecting your custom pointing device to your keyboard.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [PS2 Mouse ](feature_ps2_mouse.md ) - Driver for connecting a PS/2 mouse directly to your keyboard.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [RGB Light ](feature_rgblight.md ) - RGB lighting for your keyboard.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [RGB Matrix ](feature_rgb_matrix.md ) - RGB Matrix lights for per key lighting.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Space Cadet ](feature_space_cadet.md ) - Use your left/right shift keys to type parenthesis and brackets.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Stenography ](feature_stenography.md ) - Put your keyboard into Plover mode for stenography use.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Swap Hands ](feature_swap_hands.md ) - Mirror your keyboard for one handed usage.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [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.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [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.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Userspace ](feature_userspace.md ) - Share code between different keymaps and keyboards.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								*  [Velocikey ](feature_velocikey.md ) - Allows changes in RGB animation speed based on WPM/Typing speed.