qmk_firmware/docs
2024-03-20 09:09:29 -06:00
..
ChangeLog 2024q1 develop changelog. (#23150) 2024-02-28 21:39:19 +11:00
gitbook/images
internals
ja Removal of bootmagic lite terminology (#22979) 2024-02-17 12:27:34 +00:00
zh-cn Move velocikey to within rgblight (#22123) 2023-09-25 17:48:10 +01:00
.nojekyll
_langs.md
_summary.md 2024q1 develop changelog. (#23150) 2024-02-28 21:39:19 +11:00
adc_driver.md Generalise ADC driver source inclusion (#22448) 2023-11-12 22:30:27 +00:00
apa102_driver.md Update WS2812 docs and add APA102 docs (#22106) 2023-09-25 14:18:40 +10: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
arm_debugging.md
audio_driver.md [Audio] Enable Complementary output for PWM Hardware driver (#22726) 2023-12-21 19:38:59 -08:00
breaking_changes.md 2024q1 develop changelog. (#23150) 2024-02-28 21:39:19 +11:00
breaking_changes_history.md 2024q1 develop changelog. (#23150) 2024-02-28 21:39:19 +11:00
breaking_changes_instructions.md develop 2023q2 changelog (#21049) 2023-05-29 06:02:11 +10: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 Give definition of 'CLI' for new users (#22647) 2023-12-13 02:25:55 +00:00
cli_commands.md [documentation] QMK migrate docs patch (#22646) 2023-12-12 09:46:00 -07:00
cli_configuration.md
cli_development.md Fix minimum python version references (#22191) 2023-10-04 01:19:04 +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] Code markdown amendment (#21323) 2023-06-20 20:58:13 -06:00
coding_conventions_python.md Fix minimum python version references (#22191) 2023-10-04 01:19:04 +01:00
compatible_microcontrollers.md STM32H723 support (#21352) 2023-06-28 13:07:14 +10:00
config_options.md Align SPLIT_HAND_MATRIX_GRID left/right logic with SPLIT_HAND_PIN (#22775) 2024-01-09 22:24:53 +11:00
configurator_architecture.md
configurator_default_keymaps.md Reallocate SAFE_RANGE (#19909) 2023-02-23 09:49:07 +11:00
configurator_diagram.drawio
configurator_diagram.svg
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md Documentation regarding user code removal/acceptance (#22507) 2023-12-04 00:57:42 +00:00
custom_matrix.md Remove matrix_init_quantum/matrix_scan_quantum (#19806) 2023-02-11 03:47:17 +00:00
custom_quantum_functions.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
data_driven_config.md Consolidate KEYBOARD_OUTPUT+KEYMAP_OUTPUT=>INTERMEDIATE_OUTPUT (#21272) 2023-06-21 08:41:49 +10:00
documentation_best_practices.md
documentation_templates.md [Docs] Touch up documentation templates & porting keyboard docs (#19573) 2023-01-13 02:58:38 -08:00
driver_installation_zadig.md Update Atmel DFU driver assignments for dfu-programmer 1.x (#23165) 2024-02-28 21:03:43 +11:00
easy_maker.md
eeprom_driver.md Consolidate some EEPROM Driver configuration (#22321) 2023-10-23 00:37:27 +01:00
faq_build.md
faq_debug.md Remove legacy Debug keycode (#18769) 2022-10-19 11:33:05 +01:00
faq_general.md
faq_keymap.md
faq_misc.md [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
feature_advanced_keycodes.md Update code example to match description (#20528) 2023-04-23 12:56:45 -06:00
feature_audio.md Align audio keycode names (#18962) 2022-11-05 17:05:19 +00:00
feature_auto_shift.md Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) 2023-09-25 12:45:49 +10:00
feature_autocorrect.md [Enhancement] More info on apply_autocorrect (#21056) 2023-07-08 00:13:15 +10:00
feature_backlight.md Move BACKLIGHT_PWM_PERIOD to correct docs section (#22480) 2023-11-22 11:41:19 +11:00
feature_bluetooth.md Bluetooth: driver naming cleanups (#21624) 2023-07-29 15:16:14 +10:00
feature_bootmagic.md Removal of bootmagic lite terminology (#22979) 2024-02-17 12:27:34 +00:00
feature_caps_word.md [Core] Caps Word "Invert on shift" option: pressing Shift inverts the shift state. (#20092) 2023-04-04 09:11:26 +10:00
feature_combo.md Fix double code indenting (#23117) 2024-02-20 00:45:25 +00:00
feature_command.md
feature_converters.md Add Imera converter (#22419) 2023-11-28 17:53:47 +11:00
feature_debounce_type.md Add debounce time description (#20333) 2023-04-04 12:15:00 +10:00
feature_digitizer.md Digitizer feature improvements (#19034) 2022-11-12 23:28:11 +00:00
feature_dip_switch.md Keymap introspection for Dip Switches (#22543) 2023-12-11 23:06:18 +00: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 [Doc] Use number indexes for encoder code example (#22980) 2024-01-29 19:28:23 +00:00
feature_grave_esc.md
feature_haptic_feedback.md haptic: further naming cleanups (#21682) 2023-08-04 01:16:16 +01:00
feature_hd44780.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
feature_joystick.md Fix joystick initialization (#22953) 2024-02-17 01:14:46 +11: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 Fix typos: key-modifer→key-modifier and interacton→interaction (#22464) 2023-11-13 20:55:45 +00:00
feature_layers.md Changed interverts to inverts (#21270) 2023-07-03 17:01:10 +01:00
feature_layouts.md
feature_leader_key.md Refactor Leader key feature (#19632) 2023-02-13 03:19:02 +11:00
feature_led_indicators.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
feature_led_matrix.md LED drivers: update PWM register defines for g_<driver>_leds (#23052) 2024-02-12 02:19:45 +00:00
feature_macros.md Add latam spanish headers (#22542) 2023-12-04 00:13:27 +00: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 MOUSEKEY_WHEEL_DELTA documentation (#21493) 2023-07-10 10:57:08 -07:00
feature_oled_driver.md [Doc]: Correct Markdown syntax errors. (#22511) 2023-11-29 02:48:47 +00:00
feature_os_detection.md [Core] Add OS detection callbacks (#21777) 2024-02-17 01:19:02 +11:00
feature_pointing_device.md Cirque reachable calibration aide (#22803) 2024-01-13 00:28:09 -08:00
feature_programmable_button.md Fix doc for programmable buttons. (#22136) 2023-09-25 23:17:20 -07:00
feature_ps2_mouse.md Document the RP2040-specific PS/2 implementation (#22079) 2023-09-25 13:00:13 +10:00
feature_rawhid.md add pywinusb lib to list of example libs for HID (#22747) 2024-01-09 22:13:51 +11:00
feature_repeat_key.md [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 2023-05-20 22:35:06 +10:00
feature_rgb_matrix.md LED drivers: update PWM register defines for g_<driver>_leds (#23052) 2024-02-12 02:19:45 +00:00
feature_rgblight.md Rename RGBLED_NUM -> RGBLIGHT_LED_COUNT (#22570) 2023-12-12 15:30:08 +11:00
feature_secure.md Deprecate SECURE_* keycodes for QK_SECURE_* (#18847) 2022-10-25 22:59:17 +01:00
feature_send_string.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
feature_sequencer.md Align sequencer keycodes (#19875) 2023-02-18 15:44:36 +00:00
feature_space_cadet.md Use wayback machine for unreachable site (#20987) 2023-05-21 17:44:06 +01:00
feature_split_keyboard.md Align SPLIT_HAND_MATRIX_GRID left/right logic with SPLIT_HAND_PIN (#22775) 2024-01-09 22:24:53 +11:00
feature_st7565.md
feature_stenography.md Remove requirement for keymap_steno.h include in keymaps (#22423) 2023-11-12 18:25:46 +11:00
feature_swap_hands.md Add swap hands toggle functions (#20381) 2023-04-09 09:37:31 -07:00
feature_tap_dance.md Align location of tap dance keycode (#22742) 2023-12-24 06:52:41 +00:00
feature_tri_layer.md Update feature_tri_layer.md - typo (#23275) 2024-03-14 14:28:54 +11:00
feature_unicode.md Fix old usage of UNICODE_MODE_MAC (#22238) 2023-10-09 23:16:54 +01:00
feature_userspace.md Documentation regarding user code removal/acceptance (#22507) 2023-12-04 00:57:42 +00:00
feature_wpm.md Fix typo in feature_wpm.md title (#20464) 2023-04-16 15:14:08 +01:00
flash_driver.md
flashing.md feat, docs: WB32 flashing (#21217) 2023-07-08 00:48:45 +10:00
flashing_bootloadhid.md [Docs] RESET -> QK_BOOT (#18365) 2022-09-15 01:03:55 +01:00
fuse.txt
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md Modify wording in 'getting_started_introduction.md' (#23232) 2024-03-14 19:00:03 -07:00
getting_started_make_guide.md Unicodemap keycodes rename (#21092) 2023-06-01 17:25:08 +01:00
gpio_control.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
hand_wire.md Improve importer workflow (#17707) 2022-08-13 14:39:56 +01:00
hardware_drivers.md
hardware_keyboard_guidelines.md Rename RGBLED_NUM -> RGBLIGHT_LED_COUNT (#22570) 2023-12-12 15:30:08 +11:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
index.html
isp_flashing_guide.md Adds Docs option for ArduinoIDE's example ArduinoISP (#20486) 2023-04-19 19:23:50 +01:00
keycodes.md Unicodemap keycodes rename (#21092) 2023-06-01 17:25:08 +01: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
keymap.md Update keymap.md (#22834) 2024-01-06 12:06:14 +11: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
newbs_building_firmware.md Align new-keymap with new-keyboard (#19229) 2022-12-03 12:04:06 +00:00
newbs_building_firmware_configurator.md Update newbs docs with some rp2040 stuff (#21186) 2023-06-10 15:56:43 +01:00
newbs_building_firmware_workflow.md [Doc]: Correct Markdown syntax errors. (#22511) 2023-11-29 02:48:47 +00:00
newbs_external_userspace.md QMK Userspace (#22222) 2023-11-28 07:53:43 +11:00
newbs_flashing.md Update newbs docs with some rp2040 stuff (#21186) 2023-06-10 15:56:43 +01:00
newbs_getting_started.md Remove rosetta instructions for Apple Silicon (#22174) 2023-09-30 22:33:57 -07: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
one_shot_keys.md fix typo (#19189) 2022-11-29 16:34:20 +00:00
other_eclipse.md
other_vscode.md Add instructions for debugging ARM with VSCode+BMP. (#11217) 2024-03-08 22:24:11 +11: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 [Core] Allow ChibiOS SIO driver for UART driver (#22839) 2024-02-20 11:34:24 +01:00
platformdev_selecting_arm_mcu.md
porting_your_keyboard_to_qmk.md [Docs] Discuss layout macro (#19803) 2023-03-06 11:24:56 -08:00
power.txt
pr_checklist.md Updates to PR Checklist (#23318) 2024-03-20 09:09:29 -06:00
qmk.css
qmk_custom_dark.css [Docs] Improve contrast for warnings in dark mode (#21928) 2023-09-05 19:00:14 -07:00
qmk_custom_light.css
quantum_keycodes.md [Docs] Add note about ENABLE_COMPILE_KEYCODE to docs (#21290) 2023-06-19 19:55:27 -06:00
quantum_painter.md [Driver] ILI9486 on Quantum Painter (#18521) 2024-02-17 18:36:05 +11:00
quantum_painter_lvgl.md Lvgl rate control (#22049) 2023-09-17 14:25:14 +10:00
quantum_painter_qff.md
quantum_painter_qgf.md
quantum_painter_rle.md
README.md
redirects.json
ref_functions.md Remove legacy EEPROM clear keycodes (#18782) 2022-10-20 12:20:07 +01:00
reference_configurator_support.md
reference_glossary.md Breaking changes changelog, 2023q3 version (#21848) 2023-08-29 21:15:21 +10:00
reference_info_json.md Add RGB matrix & LED Matrix support for IS31FL3729 (#21944) 2024-02-17 01:41:35 +11:00
reference_keymap_extras.md Add Canadian French input locale (#21456) 2024-01-09 22:11:59 +11:00
serial_driver.md Clarify PIO define is optional in docs. (#22339) 2023-10-26 22:34:17 +01:00
spi_driver.md Dedupe I2C, SPI, UART driver inclusions (#22253) 2023-10-13 17:25:32 +11:00
squeezing_avr.md Add Imera converter (#22419) 2023-11-28 17:53:47 +11:00
support.md
support_deprecation_policy.md Initial deprecation policy documentation. (#19908) 2023-03-03 14:16:32 +11:00
sw.js
syllabus.md
tap_hold.md Fixed non-executable codes in the documentation (#22600) 2023-12-05 11:06:06 -08:00
translating.md
uart_driver.md [Core] Allow ChibiOS SIO driver for UART driver (#22839) 2024-02-20 11:34:24 +01:00
understanding_qmk.md Move pre_process_record_kb() before process_combo() (#20969) 2023-05-20 22:15:55 +10:00
unit_testing.md Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) 2023-09-25 12:45:49 +10:00
usb_nkro.txt
ws2812_driver.md Clarify PIO define is optional in docs. (#22339) 2023-10-26 22:34:17 +01: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.