* [Core] Add KC_MAKE keycode to core fix linting fix testing error work around test idiocyncracies fix more lint something something stupid tests add doc * updates based on feedback * Add bad names * Fixup docs * semantics but cleaner Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> * Hide oneshot checks behind preprocessors * Move no-compile option around * Fix formatting * make shift optional * Make opt in * fix formatting * update send string function name Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: precondition <57645186+precondition@users.noreply.github.com> Co-authored-by: Joel Challis <git@zvecr.com>
		
			
				
	
	
		
			17 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Quantum Keycodes
 | |
| 
 | |
| Quantum keycodes allow for easier customization of your keymap than the basic ones provide, without having to define custom actions.
 | |
| 
 | |
| All keycodes within quantum are numbers between `0x0000` and `0xFFFF`. Within your `keymap.c` it may look like you have functions and other special cases, but ultimately the C preprocessor will translate those into a single 4 byte integer. QMK has reserved `0x0000` through `0x00FF` for standard keycodes. These are keycodes such as `KC_A`, `KC_1`, and `KC_LCTL`, which are basic keys defined in the USB HID specification.
 | |
| 
 | |
| On this page we have documented keycodes between `0x00FF` and `0xFFFF` which are used to implement advanced quantum features. If you define your own custom keycodes they will be put into this range as well.
 | |
| 
 | |
| ## QMK Keycodes :id=qmk-keycodes
 | |
| 
 | |
| |Key              |Aliases  |Description                                                                      |
 | |
| |-----------------|---------|---------------------------------------------------------------------------------|
 | |
| |`QK_BOOTLOADER`  |`QK_BOOT`|Put the keyboard into bootloader mode for flashing                               |
 | |
| |`QK_DEBUG_TOGGLE`|`DB_TOGG`|Toggle debug mode                                                                |
 | |
| |`QK_CLEAR_EEPROM`|`EE_CLR` |Reinitializes the keyboard's EEPROM (persistent memory)                          |
 | |
| |`QK_MAKE`        |         |Sends `qmk compile -kb (keyboard) -km (keymap)`, or `qmk flash` if shift is held |
 |