You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Joel Challis 16cca527a6
Fix WAIT_FOR_USB handling (#23598)
21 hours ago
..
ChangeLog 2024q1 `develop` changelog. (#23150) 1 month ago
gitbook/images RGB improvements (#1684) 6 years ago
internals Move Doxygen docs to subdirectory (#16561) 2 years ago
ja Fix WAIT_FOR_USB handling (#23598) 21 hours ago
zh-cn Move velocikey to within rgblight (#22123) 7 months ago
.nojekyll Use docsfy to replace gitbook 6 years ago
CNAME Create CNAME 6 years ago
README.md Small tweaks to docs to make them more user friendly (#11518) 3 years ago
_langs.md Remove stale docs translations (#15737) 2 years ago
_summary.md 2024q1 `develop` changelog. (#23150) 1 month ago
adc_driver.md Generalise ADC driver source inclusion (#22448) 5 months ago
apa102_driver.md Update WS2812 docs and add APA102 docs (#22106) 7 months ago
api_development_environment.md Add API documentation 4 years ago
api_development_overview.md Add API documentation 4 years ago
api_docs.md 2022 Nov 26 changelog. (#19164) 1 year ago
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 3 years ago
arm_debugging.md [Docs] fix docs (#7642) 4 years ago
audio_driver.md [Audio] Enable Complementary output for PWM Hardware driver (#22726) 4 months ago
breaking_changes.md 2024q1 `develop` changelog. (#23150) 1 month ago
breaking_changes_history.md 2024q1 `develop` changelog. (#23150) 1 month ago
breaking_changes_instructions.md `develop` 2023q2 changelog (#21049) 11 months ago
chibios_upgrade_instructions.md Update branch names to reflect configurator's new deployment. (#19999) 1 year ago
cli.md Give definition of 'CLI' for new users (#22647) 4 months ago
cli_commands.md Initial 'qmk test-c' functionality (#23038) 1 month ago
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 3 years ago
cli_development.md Fix minimum python version references (#22191) 6 months ago
cli_tab_complete.md Add Zsh note for tab complete (#17226) 1 year ago
coding_conventions_c.md [Docs] Code markdown amendment (#21323) 10 months ago
coding_conventions_python.md Fix minimum python version references (#22191) 6 months ago
compatible_microcontrollers.md STM32H723 support (#21352) 10 months ago
config_options.md Fix WAIT_FOR_USB handling (#23598) 21 hours ago
configurator_architecture.md Architecture documentation for Configurator and API (#13935) 2 years ago
configurator_default_keymaps.md Reallocate SAFE_RANGE (#19909) 1 year ago
configurator_diagram.drawio Architecture documentation for Configurator and API (#13935) 2 years ago
configurator_diagram.svg Architecture documentation for Configurator and API (#13935) 2 years ago
configurator_step_by_step.md update the Chinese translation based on the latest English version (#14924) 2 years ago
configurator_troubleshooting.md Polish Configurator section 4 years ago
contributing.md Documentation regarding user code removal/acceptance (#22507) 4 months ago
custom_matrix.md Remove matrix_init_quantum/matrix_scan_quantum (#19806) 1 year ago
custom_quantum_functions.md Update naming convention for GPIO control macros (#23085) 2 months ago
data_driven_config.md Consolidate `KEYBOARD_OUTPUT`+`KEYMAP_OUTPUT`=>`INTERMEDIATE_OUTPUT` (#21272) 10 months ago
documentation_best_practices.md [Docs] fix file path (#9540) 3 years ago
documentation_templates.md [Docs] Touch up documentation templates & porting keyboard docs (#19573) 1 year ago
driver_installation_zadig.md Update Atmel DFU driver assignments for dfu-programmer 1.x (#23165) 1 month ago
easy_maker.md update the Chinese translation based on the latest English version (#14924) 2 years ago
eeprom_driver.md Consolidate some EEPROM Driver configuration (#22321) 6 months ago
faq_build.md [Docs] Use HTTPS for images and links where possible (#11695) 3 years ago
faq_debug.md Remove legacy Debug keycode (#18769) 1 year ago
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 3 years ago
faq_keymap.md Keymap FAQ updates (#17130) 1 year ago
faq_misc.md [Docs] RESET -> QK_BOOT (#18365) 1 year ago
feature_advanced_keycodes.md Update code example to match description (#20528) 1 year ago
feature_audio.md [Audio] Add support for audio shutdown pin (#22731) 1 month ago
feature_auto_shift.md Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) 7 months ago
feature_autocorrect.md [Enhancement] More info on `apply_autocorrect` (#21056) 9 months ago
feature_backlight.md Move BACKLIGHT_PWM_PERIOD to correct docs section (#22480) 5 months ago
feature_bluetooth.md Bluetooth: driver naming cleanups (#21624) 9 months ago
feature_bootmagic.md Removal of bootmagic lite terminology (#22979) 2 months ago
feature_caps_word.md [Core] Caps Word "Invert on shift" option: pressing Shift inverts the shift state. (#20092) 1 year ago
feature_combo.md Fix double code indenting (#23117) 2 months ago
feature_command.md Remove Full Bootmagic (#13846) 2 years ago
feature_converters.md Add Imera converter (#22419) 4 months ago
feature_debounce_type.md Add debounce time description (#20333) 1 year ago
feature_digitizer.md Digitizer feature improvements (#19034) 1 year ago
feature_dip_switch.md Keymap introspection for Dip Switches (#22543) 4 months ago
feature_dynamic_macros.md Add direction to dynamic_macro_record_start_user (#19689) 1 year ago
feature_eeprom.md Remove rgblight_list.h (#18878) 1 year ago
feature_encoders.md [Doc] Use number indexes for encoder code example (#22980) 2 months ago
feature_grave_esc.md Rename some Quantum keycodes (#15968) 2 years ago
feature_haptic_feedback.md haptic: further naming cleanups (#21682) 8 months ago
feature_hd44780.md Fix anchor IDs for some API references (#21345) 10 months ago
feature_joystick.md Fix joystick initialization (#22953) 2 months ago
feature_key_lock.md Merge remote-tracking branch 'origin/master' into develop 1 year ago
feature_key_overrides.md Fix typos: key-modifer→key-modifier and interacton→interaction (#22464) 5 months ago
feature_layers.md Changed interverts to inverts (#21270) 9 months ago
feature_layouts.md [Docs] Clean up some code block languages (#14434) 2 years ago
feature_leader_key.md Refactor Leader key feature (#19632) 1 year ago
feature_led_indicators.md Update naming convention for GPIO control macros (#23085) 2 months ago
feature_led_matrix.md Add new set of keycodes for LED Matrix (#23432) 2 weeks ago
feature_macros.md Add latam spanish headers (#22542) 4 months ago
feature_midi.md Merge remote-tracking branch 'origin/master' into develop 1 year ago
feature_mouse_keys.md Add MOUSEKEY_WHEEL_DELTA documentation (#21493) 9 months ago
feature_oled_driver.md [Doc]: Correct Markdown syntax errors. (#22511) 4 months ago
feature_os_detection.md [Core] Add OS detection callbacks (#21777) 2 months ago
feature_pointing_device.md Add utility functions for Pointing Device Auto Mouse feature (#23144) 1 month ago
feature_programmable_button.md Fix doc for programmable buttons. (#22136) 7 months ago
feature_ps2_mouse.md Document the RP2040-specific PS/2 implementation (#22079) 7 months ago
feature_rawhid.md add pywinusb lib to list of example libs for HID (#22747) 3 months ago
feature_repeat_key.md [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 11 months ago
feature_rgb_matrix.md LED drivers: update PWM register defines for `g_<driver>_leds` (#23052) 2 months ago
feature_rgblight.md Un-`extern` RGBLight `led[]` array (#23322) 1 month ago
feature_secure.md Deprecate `SECURE_*` keycodes for `QK_SECURE_*` (#18847) 1 year ago
feature_send_string.md Fix anchor IDs for some API references (#21345) 10 months ago
feature_sequencer.md Remove deprecated quantum keycodes (#23407) 3 weeks ago
feature_space_cadet.md Use wayback machine for unreachable site (#20987) 11 months ago
feature_split_keyboard.md Oneshot locked mods split transaction (#23434) 2 weeks ago
feature_st7565.md ST7565 invert (#13237) 2 years ago
feature_stenography.md Remove requirement for `keymap_steno.h` include in keymaps (#22423) 5 months ago
feature_swap_hands.md Add swap hands toggle functions (#20381) 1 year ago
feature_tap_dance.md Align location of tap dance keycode (#22742) 4 months ago
feature_tri_layer.md Update feature_tri_layer.md - typo (#23275) 1 month ago
feature_unicode.md Fix old usage of UNICODE_MODE_MAC (#22238) 6 months ago
feature_userspace.md Documentation regarding user code removal/acceptance (#22507) 4 months ago
feature_wpm.md Fix typo in `feature_wpm.md` title (#20464) 1 year ago
flash_driver.md Added external spi flash driver. (#15419) 2 years ago
flashing.md Clearer text about double tapping reset only working for boot after already having QMK running in board (#23042) 3 weeks ago
flashing_bootloadhid.md [Docs] RESET -> QK_BOOT (#18365) 1 year ago
fuse.txt Ensure single newline at EOF for core files (#11310) 3 years ago
getting_started_docker.md [Docs] Clean up some code block languages (#14434) 2 years ago
getting_started_github.md Purge uGFX. (#14720) 2 years ago
getting_started_introduction.md Modify wording in 'getting_started_introduction.md' (#23232) 1 month ago
getting_started_make_guide.md Unicodemap keycodes rename (#21092) 10 months ago
gpio_control.md Update naming convention for GPIO control macros (#23085) 2 months ago
hand_wire.md Update hand_wire.md (#23429) 2 weeks ago
hardware_drivers.md Purge uGFX. (#14720) 2 years ago
hardware_keyboard_guidelines.md Rename `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` (#22570) 4 months ago
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 3 years ago
how_keyboards_work.md docs: reflect systemd's change in language (#17322) 1 year ago
i2c_driver.md Update naming convention for GPIO control macros (#23085) 2 months ago
index.html Fix anchors with <code> in table of content (#15169) 1 year ago
isp_flashing_guide.md Adds Docs option for ArduinoIDE's example `ArduinoISP` (#20486) 1 year ago
keycodes.md Add new set of keycodes for LED Matrix (#23432) 2 weeks ago
keycodes_basic.md Move `KC_MISSION_CONTROL`/`KC_LAUNCHPAD` keycodes to core (#19884) 1 year ago
keycodes_magic.md Align magic keycodes (#19877) 1 year ago
keycodes_us_ansi_shifted.md [Docs] Address some typos (also in moonlander matrix.c) (#16248) 2 years ago
keymap.md Update keymap.md (#22834) 3 months ago
mod_tap.md Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211) 1 year ago
newbs.md [Docs] Use HTTPS for images and links where possible (#11695) 3 years ago
newbs_building_firmware.md Align new-keymap with new-keyboard (#19229) 1 year ago
newbs_building_firmware_configurator.md Update newbs docs with some rp2040 stuff (#21186) 10 months ago
newbs_building_firmware_workflow.md [Doc]: Correct Markdown syntax errors. (#22511) 4 months ago
newbs_external_userspace.md QMK Userspace (#22222) 4 months ago
newbs_flashing.md Update newbs docs with some rp2040 stuff (#21186) 10 months ago
newbs_getting_started.md Remove rosetta instructions for Apple Silicon (#22174) 6 months ago
newbs_git_best_practices.md [Docs] Restructure of Git Best Practices doc (#7231) 4 years ago
newbs_git_resolving_merge_conflicts.md [Docs] Restructure of Git Best Practices doc (#7231) 4 years ago
newbs_git_resynchronize_a_branch.md [Docs] Resynchronizing Your Branch including submodules (#19268) 1 year ago
newbs_git_using_your_master_branch.md Add explicit id tags to externally linked headers 4 years ago
newbs_learn_more_resources.md [Docs] Refactor code examples (#18003) 1 year ago
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 3 years ago
one_shot_keys.md fix typo (#19189) 1 year ago
other_eclipse.md [Docs] Address some typos (also in moonlander matrix.c) (#16248) 2 years ago
other_vscode.md Add instructions for debugging ARM with VSCode+BMP. (#11217) 1 month ago
platformdev_blackpill_f4x1.md Docs: typo fixes in platformdev_blackpill_f4x1.md (#19635) 1 year ago
platformdev_chibios_earlyinit.md [Docs] RESET -> QK_BOOT (#18365) 1 year ago
platformdev_proton_c.md Add converter docs (#17593) 1 year ago
platformdev_rp2040.md [Core] Allow ChibiOS `SIO` driver for `UART` driver (#22839) 2 months ago
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 3 years ago
porting_your_keyboard_to_qmk.md [Docs] Discuss layout macro (#19803) 1 year ago
power.txt Trim trailing whitespace 6 years ago
pr_checklist.md PR Checklist: explain wireless requirements. (#23584) 2 days ago
qmk.css Some more tweaks to make everything look nice 6 years ago
qmk_custom_dark.css [Docs] Improve contrast for warnings in dark mode (#21928) 7 months ago
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 3 years ago
quantum_keycodes.md [Docs] Add note about `ENABLE_COMPILE_KEYCODE` to docs (#21290) 10 months ago
quantum_painter.md [Driver] ILI9486 on Quantum Painter (#18521) 2 months ago
quantum_painter_lvgl.md Lvgl rate control (#22049) 7 months ago
quantum_painter_qff.md Quantum Painter (#10174) 2 years ago
quantum_painter_qgf.md Quantum Painter (#10174) 2 years ago
quantum_painter_rle.md Quantum Painter (#10174) 2 years ago
redirects.json Configuration system for CLI (#6708) 4 years ago
ref_functions.md Remove legacy EEPROM clear keycodes (#18782) 1 year ago
reference_configurator_support.md Basic keycode overhaul (#14726) 2 years ago
reference_glossary.md Breaking changes changelog, 2023q3 version (#21848) 8 months ago
reference_info_json.md Fix WAIT_FOR_USB handling (#23598) 21 hours ago
reference_keymap_extras.md Add Canadian French input locale (#21456) 3 months ago
serial_driver.md Update serial_driver.md (#23035) 3 weeks ago
spi_driver.md Dedupe I2C, SPI, UART driver inclusions (#22253) 6 months ago
squeezing_avr.md Add Imera converter (#22419) 4 months ago
support.md Fix capitalisation of "GitHub" (#9184) 3 years ago
support_deprecation_policy.md Initial deprecation policy documentation. (#19908) 1 year ago
sw.js Fix up info boxes. 6 years ago
syllabus.md [Docs] Squeezing space out of AVR (#15243) 2 years ago
tap_hold.md Fixed non-executable codes in the documentation (#22600) 4 months ago
translating.md Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) 4 years ago
uart_driver.md [Core] Allow ChibiOS `SIO` driver for `UART` driver (#22839) 2 months ago
understanding_qmk.md Move `pre_process_record_kb()` before `process_combo()` (#20969) 11 months ago
unit_testing.md Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) 7 months ago
usb_nkro.txt convert docs to lowercase and underscores 6 years ago
ws2812_driver.md WS2812 PWM: prefix for DMA defines (#23111) 1 month ago

README.md

Quantum Mechanical Keyboard Firmware

What is QMK Firmware?

QMK (Quantum Mechanical Keyboard) is an open source community centered around developing computer input devices. The community encompasses all sorts of input devices, such as keyboards, mice, and MIDI devices. A core group of collaborators maintains QMK Firmware, QMK Configurator, QMK Toolbox, qmk.fm, and this documentation with the help of community members like you.

Get Started

?> Basic QMK Configurator
User friendly graphical interfaces, no programming knowledge required.

?> Advanced Use The Source
More powerful, but harder to use.

Make It Yours

QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your keymap, and changing the keycodes.

Need help?

Check out the support page to see how you can get help using QMK.

Give Back

There are a lot of ways you can contribute to the QMK Community. The easiest way to get started is to use it and spread the word to your friends.