# 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, type shifted 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. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  [Bootmagic ](feature_bootmagic.md ) - Adjust the behavior of your keyboard using hotkeys. 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  [Dynamic Macros ](feature_dynamic_macros.md ) - Record and playback macros from the keyboard itself. 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								*  [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. 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  [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. 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								*  [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.