qmk_firmware/docs
2023-04-03 23:07:16 +00:00
..
ChangeLog Add changelog for Leader Key refactor (#19953) 2023-02-27 20:28:15 +11:00
gitbook/images
internals Move Doxygen docs to subdirectory (#16561) 2022-03-07 11:22:22 +00:00
ja [Core] Refactor keyevent_t for 1ms timing resolution (#15847) 2023-04-03 18:33:45 +10:00
zh-cn Remove Vagrant due to bit-rot. (#20000) 2023-03-03 14:16:18 +11:00
.nojekyll
_langs.md Remove stale docs translations (#15737) 2022-01-04 18:11:24 -08:00
_summary.md Remove Vagrant due to bit-rot. (#20000) 2023-03-03 14:16:18 +11:00
adc_driver.md Add analog support for RP2040 (#19453) 2023-01-19 10:30:58 +11:00
api_development_environment.md
api_development_overview.md
api_docs.md 2022 Nov 26 changelog. (#19164) 2022-11-28 07:33:55 +11:00
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
arm_debugging.md
audio_driver.md [Core] Adjust PWM hardware audio driver for RP2040 (#17723) 2022-10-27 19:26:16 +02:00
breaking_changes.md Update branch names to reflect configurator's new deployment. (#19999) 2023-03-03 14:16:06 +11:00
breaking_changes_history.md Stub changelog 2023-02-19 20:23:01 +00:00
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
chibios_upgrade_instructions.md Update branch names to reflect configurator's new deployment. (#19999) 2023-03-03 14:16:06 +11:00
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
cli_commands.md Add qmk find command, reuse logic for qmk mass-compile. (#20139) 2023-03-16 20:35:49 +00:00
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli_development.md docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
cli_tab_complete.md Add Zsh note for tab complete (#17226) 2022-07-02 21:59:59 +10:00
CNAME
coding_conventions_c.md docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
coding_conventions_python.md docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
compatible_microcontrollers.md Tentative Teensy 3.5 support (#14420) 2022-07-03 00:12:45 +10:00
config_options.md Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211) 2023-04-03 15:32:47 +10:00
configurator_architecture.md Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_default_keymaps.md Reallocate SAFE_RANGE (#19909) 2023-02-23 09:49:07 +11:00
configurator_diagram.drawio Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_diagram.svg Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_step_by_step.md update the Chinese translation based on the latest English version (#14924) 2022-01-18 18:24:02 +00:00
configurator_troubleshooting.md
contributing.md Minor cleanup to breaking/checklist docs. (#19596) 2023-01-19 22:30:16 +11:00
custom_matrix.md Remove matrix_init_quantum/matrix_scan_quantum (#19806) 2023-02-11 03:47:17 +00:00
custom_quantum_functions.md [Doc] Add example to keyboard housekeeping and some minor fixes (#19968) 2023-03-15 16:55:18 -06:00
data_driven_config.md Format DD mappings and schemas (#18924) 2022-11-08 01:05:08 +00:00
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md [Docs] Touch up documentation templates & porting keyboard docs (#19573) 2023-01-13 02:58:38 -08:00
driver_installation_zadig.md [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
easy_maker.md update the Chinese translation based on the latest English version (#14924) 2022-01-18 18:24:02 +00:00
eeprom_driver.md RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10:00
faq_build.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
faq_debug.md Remove legacy Debug keycode (#18769) 2022-10-19 11:33:05 +01:00
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
faq_keymap.md Keymap FAQ updates (#17130) 2022-05-18 04:48:59 +10:00
faq_misc.md [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
feature_advanced_keycodes.md [Doc] Add example to keyboard housekeeping and some minor fixes (#19968) 2023-03-15 16:55:18 -06:00
feature_audio.md Align audio keycode names (#18962) 2022-11-05 17:05:19 +00:00
feature_auto_shift.md Remove IGNORE_MOD_TAP_INTERRUPT_PER_KEY in favour of HOLD_ON_OTHER_KEY_PRESS_PER_KEY (#15741) 2022-12-13 22:20:07 +11:00
feature_autocorrect.md Document Autocorrect callback functions (#20115) 2023-03-13 13:34:23 -06:00
feature_backlight.md Reworked backlight keycodes. (#18961) 2022-11-06 08:11:59 +11:00
feature_bluetooth.md Normalise output selection (Bluetooth) keycodes (#19004) 2022-11-08 19:03:31 +00:00
feature_bootmagic.md Add split keyboard example for Bootmagic Lite (#16349) 2022-03-15 01:31:17 -07:00
feature_caps_word.md Deprecate CAPS_WORD/CAPSWRD for CW_TOGG (#18834) 2022-10-24 17:30:37 +01:00
feature_combo.md [Docs] Add mod-tap section header (#20041) 2023-03-08 12:36:36 -07:00
feature_command.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
feature_converters.md Add RP2040 Community Edition alias for Liatris (#19966) 2023-03-10 12:47:10 -08:00
feature_debounce_type.md Use table for debounce algorithm description (#20322) 2023-04-04 09:06:33 +10:00
feature_digitizer.md Digitizer feature improvements (#19034) 2022-11-12 23:28:11 +00:00
feature_dip_switch.md Added right vs left specific pin assignments for dip switch (#13074) 2021-08-19 18:39:15 +01:00
feature_dynamic_macros.md Add direction to dynamic_macro_record_start_user (#19689) 2023-04-03 13:01:07 +10:00
feature_eeprom.md Remove rgblight_list.h (#18878) 2022-10-27 23:50:14 +01:00
feature_encoders.md Add core/fallback encoder behaviour (#20320) 2023-04-03 10:18:17 -06:00
feature_grave_esc.md Rename some Quantum keycodes (#15968) 2022-01-22 03:34:15 +00:00
feature_haptic_feedback.md Align haptic feedback keycode names (#18964) 2022-11-07 02:43:53 +00:00
feature_hd44780.md HD44780 driver rework (#16370) 2022-03-19 17:57:22 +11:00
feature_joystick.md [Docs] Fix JOYSTICK_AXIS_COUNT name in docs (#19605) 2023-01-16 00:52:18 -08:00
feature_key_lock.md Merge remote-tracking branch 'origin/master' into develop 2022-10-24 23:28:56 -07:00
feature_key_overrides.md [Doc] Add example to keyboard housekeeping and some minor fixes (#19968) 2023-03-15 16:55:18 -06:00
feature_layers.md Update documentation for LM(layer, mod) (#19284) 2023-02-11 20:37:30 +00:00
feature_layouts.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_leader_key.md Refactor Leader key feature (#19632) 2023-02-13 03:19:02 +11:00
feature_led_indicators.md Remove deprecated led_set_kb (#19273) 2022-12-14 11:14:10 +00:00
feature_led_matrix.md docs: Fix IS31FL3743A driver name (#19518) 2023-01-06 17:12:30 +00:00
feature_macros.md Macro keycode name refactoring (#18958) 2022-11-05 23:22:11 +11:00
feature_midi.md Merge remote-tracking branch 'origin/master' into develop 2023-02-08 02:21:22 +00:00
feature_mouse_keys.md add "inertia" mode for mouse keys (#18774) 2022-10-26 20:49:44 +01:00
feature_oled_driver.md Update OLED doc (#19213) 2022-11-30 17:48:23 +00:00
feature_os_detection.md Detect host OS based on USB fingerprint (#18463) 2022-12-09 03:45:30 +11:00
feature_pointing_device.md Added PMW3320 driver (#19543) 2023-04-03 12:57:19 +10:00
feature_programmable_button.md Normalise Joystick and Programmable Button keycodes (#18832) 2022-10-24 15:50:33 +01:00
feature_ps2_mouse.md [Core] Rework PS/2 driver selection (#17892) 2022-08-31 09:16:07 +02:00
feature_rawhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rgb_matrix.md Clean up APA102 config and add DD mapping (#20159) 2023-03-20 08:12:19 +11:00
feature_rgblight.md Clean up APA102 config and add DD mapping (#20159) 2023-03-20 08:12:19 +11:00
feature_secure.md Deprecate SECURE_* keycodes for QK_SECURE_* (#18847) 2022-10-25 22:59:17 +01:00
feature_send_string.md Feature-ify Send String (#17275) 2022-07-02 22:10:08 +10:00
feature_sequencer.md Align sequencer keycodes (#19875) 2023-02-18 15:44:36 +00:00
feature_space_cadet.md Normalise Space Cadet keycodes (#18864) 2022-10-27 11:19:16 +01:00
feature_split_keyboard.md Sync activity timestamps between sides. (#20192) 2023-03-21 10:16:11 +01:00
feature_st7565.md ST7565 invert (#13237) 2021-06-19 18:51:35 +10:00
feature_stenography.md [Core] Refactor keyevent_t for 1ms timing resolution (#15847) 2023-04-03 18:33:45 +10:00
feature_swap_hands.md Add swap hands status function (#19831) 2023-02-14 12:44:18 -08:00
feature_tap_dance.md Tap Dance: remove qk_ prefix (#19313) 2022-12-14 12:40:25 -08:00
feature_tri_layer.md [Core] Tri Layer Keys (#19795) 2023-02-12 10:23:07 +11:00
feature_unicode.md Merge remote-tracking branch 'origin/master' into develop 2022-12-31 21:23:49 +00:00
feature_userspace.md Enable CLI flashing via mdloader (#14729) 2021-10-15 22:07:33 +01:00
feature_velocikey.md Deprecate VLK_TOG for VK_TOGG (#18807) 2022-10-22 21:45:20 +01:00
feature_wpm.md Fixes potential wpm sampling overflow, along with code comment fixes (#15277) 2021-12-27 11:52:56 +11:00
flash_driver.md Added external spi flash driver. (#15419) 2022-02-11 20:26:16 +00:00
flashing.md Add f303 to tinyuf2 bootloader support (#19620) 2023-01-18 22:36:58 +00:00
flashing_bootloadhid.md [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
fuse.txt Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
getting_started_docker.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
getting_started_github.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
getting_started_introduction.md
getting_started_make_guide.md Add support for deferred executors. (#14859) 2021-11-15 18:21:09 +00:00
gpio_control.md Fix functions with empty params (#19647) 2023-01-20 16:21:17 +00:00
hand_wire.md Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
hardware_drivers.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
hardware_keyboard_guidelines.md Merge remote-tracking branch 'origin/master' into develop 2023-01-01 00:53:46 +00:00
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
how_keyboards_work.md docs: reflect systemd's change in language (#17322) 2022-06-06 23:29:59 +01:00
i2c_driver.md Fix i2c driver doc: Incorrect name (#16898) 2022-04-20 18:10:20 +01:00
index.html Fix anchors with <code> in table of content (#15169) 2022-05-14 23:08:32 +01:00
isp_flashing_guide.md ISP flashing guide: add instructions for flashing STM32duino bootloader (#16568) 2022-03-13 23:55:47 +00:00
keycodes.md Align magic keycodes (#19877) 2023-02-23 08:14:29 +11:00
keycodes_basic.md Move KC_MISSION_CONTROL/KC_LAUNCHPAD keycodes to core (#19884) 2023-02-19 18:59:50 +11:00
keycodes_magic.md Align magic keycodes (#19877) 2023-02-23 08:14:29 +11:00
keycodes_us_ansi_shifted.md [Docs] Address some typos (also in moonlander matrix.c) (#16248) 2022-02-06 17:36:44 +00:00
keymap.md [Docs] Change defines to enums in examples (#19793) 2023-02-10 02:39:35 -08:00
mod_tap.md Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211) 2023-04-03 15:32:47 +10:00
newbs.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
newbs_building_firmware.md Align new-keymap with new-keyboard (#19229) 2022-12-03 12:04:06 +00:00
newbs_building_firmware_configurator.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_building_firmware_workflow.md Update qmk_cli container references (#20154) 2023-03-17 01:32:09 +00:00
newbs_flashing.md Add note about qmk doctor in newbs_flashing.md (#15688) 2022-07-02 22:48:44 +10:00
newbs_getting_started.md Suggest qmk list-keyboards when testing build environment (#19471) 2023-04-03 15:42:14 +10:00
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md [Docs] Resynchronizing Your Branch including submodules (#19268) 2023-02-11 12:07:51 -07:00
newbs_git_using_your_master_branch.md
newbs_learn_more_resources.md [Docs] Refactor code examples (#18003) 2022-08-12 17:27:24 -07:00
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
one_shot_keys.md fix typo (#19189) 2022-11-29 16:34:20 +00:00
other_eclipse.md [Docs] Address some typos (also in moonlander matrix.c) (#16248) 2022-02-06 17:36:44 +00:00
other_vscode.md Add recommendations for VSCode intellisense (#19402) 2023-04-03 10:05:48 +10:00
platformdev_blackpill_f4x1.md Docs: typo fixes in platformdev_blackpill_f4x1.md (#19635) 2023-01-19 16:09:11 -07:00
platformdev_chibios_earlyinit.md [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
platformdev_proton_c.md Add converter docs (#17593) 2022-07-08 22:49:16 +01:00
platformdev_rp2040.md Add rp2040_ce and add elite-pi and helios as alias (#19830) 2023-02-12 23:02:05 +00:00
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
porting_your_keyboard_to_qmk.md [Docs] Discuss layout macro (#19803) 2023-03-06 11:24:56 -08:00
power.txt
pr_checklist.md PR checklist: keyboard updates must go to develop (#20323) 2023-04-03 16:34:03 +10:00
qmk.css
qmk_custom_dark.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
quantum_keycodes.md Add ability to enter bootloader mode from QK_MAKE (#17745) 2022-07-23 17:43:32 +01:00
quantum_painter.md Quantum Painter QoL enhancements -- auto-poweroff, auto-flush, buffer sizing (#20013) 2023-03-20 14:13:53 +11:00
quantum_painter_lvgl.md Fix functions with empty params (#19647) 2023-01-20 16:21:17 +00:00
quantum_painter_qff.md Quantum Painter (#10174) 2022-04-13 18:00:18 +10:00
quantum_painter_qgf.md Quantum Painter (#10174) 2022-04-13 18:00:18 +10:00
quantum_painter_rle.md Quantum Painter (#10174) 2022-04-13 18:00:18 +10:00
README.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
redirects.json
ref_functions.md Remove legacy EEPROM clear keycodes (#18782) 2022-10-20 12:20:07 +01:00
reference_configurator_support.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
reference_glossary.md Fix Space Cadet md link (#14300) 2021-09-04 15:01:56 +01:00
reference_info_json.md Remove all from list of animations in info.json (#19978) 2023-03-01 02:55:14 +00:00
reference_keymap_extras.md Rename keymap_extras headers for consistency (#16939) 2022-05-15 21:27:01 +10:00
serial_driver.md Fix serial_driver.md list item numbering (#19819) 2023-02-12 17:05:46 +00:00
spi_driver.md Merge remote-tracking branch 'upstream/master' into develop 2021-02-08 07:57:09 +11:00
squeezing_avr.md Add RP2040 Community Edition alias for Liatris (#19966) 2023-03-10 12:47:10 -08:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
support_deprecation_policy.md Initial deprecation policy documentation. (#19908) 2023-03-03 14:16:32 +11:00
sw.js
syllabus.md [Docs] Squeezing space out of AVR (#15243) 2021-11-23 08:14:00 +11:00
tap_hold.md Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211) 2023-04-03 15:32:47 +10:00
translating.md
uart_driver.md Update UART driver API (#14839) 2021-11-13 18:23:14 +00:00
understanding_qmk.md Update understanding_qmk.md (#19664) 2023-01-24 15:17:24 +00:00
unit_testing.md Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
usb_nkro.txt
ws2812_driver.md WS2812 driver improvements (#20262) 2023-03-30 12:21:02 +11:00

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.