qmk_firmware/docs
2023-07-09 20:05:45 +10:00
..
ChangeLog develop 2023q2 changelog (#21049) 2023-05-29 06:02:11 +10:00
gitbook/images
internals
ja [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 2023-05-20 22:35:06 +10:00
zh-cn [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 2023-05-20 22:35:06 +10:00
.nojekyll
_langs.md
_summary.md Update "Most Recent ChangeLog" (#21071) 2023-05-28 21:36:46 +01: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
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 develop 2023q2 changelog (#21049) 2023-05-29 06:02:11 +10:00
breaking_changes_history.md develop 2023q2 changelog (#21049) 2023-05-29 06:02:11 +10: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
cli_commands.md qmk find: usability improvements (#20440) 2023-05-20 22:14:43 +10:00
cli_configuration.md
cli_development.md docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
cli_tab_complete.md
CNAME
coding_conventions_c.md [Docs] Code markdown amendment (#21323) 2023-06-20 20:58:13 -06:00
coding_conventions_python.md docs: some typos (#18582) 2022-10-05 17:32:07 +01:00
compatible_microcontrollers.md
config_options.md Keymap introspection for combos. (#19670) 2023-05-15 22:27:37 +10: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 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
documentation_templates.md [Docs] Touch up documentation templates & porting keyboard docs (#19573) 2023-01-13 02:58:38 -08:00
driver_installation_zadig.md
easy_maker.md
eeprom_driver.md
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
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 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
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 Keymap introspection for combos. (#19670) 2023-05-15 22:27:37 +10:00
feature_command.md
feature_converters.md Merge remote-tracking branch 'origin/master' into develop 2023-04-07 22:12:38 +00: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
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 Encodermap direction define. (#20454) 2023-04-15 16:18:44 +01:00
feature_grave_esc.md
feature_haptic_feedback.md Align haptic feedback keycode names (#18964) 2022-11-07 02:43:53 +00:00
feature_hd44780.md
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 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 Remove deprecated led_set_kb (#19273) 2022-12-14 11:14:10 +00:00
feature_led_matrix.md [Bug] Realign and size check EECONFIG structures (#20541) 2023-05-08 10:56:03 -07: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 OLED Driver improvements (#20331) 2023-05-10 14:04:53 -07: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 Make Pointing Device Auto Layer more configurable (#20061) 2023-05-06 06:38:45 -07:00
feature_programmable_button.md Normalise Joystick and Programmable Button keycodes (#18832) 2022-10-24 15:50:33 +01:00
feature_ps2_mouse.md
feature_rawhid.md
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 [Bug] Realign and size check EECONFIG structures (#20541) 2023-05-08 10:56:03 -07:00
feature_rgblight.md Migrate rgblight.pin and RGB_DI_PIN to ws2812.pin (#20303) 2023-04-06 18:00:54 +10:00
feature_secure.md Deprecate SECURE_* keycodes for QK_SECURE_* (#18847) 2022-10-25 22:59:17 +01:00
feature_send_string.md
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 Sync activity timestamps between sides. (#20192) 2023-03-21 10:16:11 +01:00
feature_st7565.md
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 toggle functions (#20381) 2023-04-09 09:37:31 -07: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
feature_velocikey.md Deprecate VLK_TOG for VK_TOGG (#18807) 2022-10-22 21:45:20 +01: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 Add f303 to tinyuf2 bootloader support (#19620) 2023-01-18 22:36:58 +00:00
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md
gpio_control.md Fix functions with empty params (#19647) 2023-01-20 16:21:17 +00:00
hand_wire.md
hardware_drivers.md
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
how_keyboards_work.md
i2c_driver.md
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 [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 2023-05-20 22:35:06 +10: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 [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
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 [Docs] Highlight keymap name entry (#21138) 2023-06-05 23:17:39 -06:00
newbs_flashing.md Update newbs docs with some rp2040 stuff (#21186) 2023-06-10 15:56:43 +01:00
newbs_getting_started.md Add an emphasis on QMK MSYS terminal (#21168) 2023-06-08 10:10:30 +01: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
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 Far better VSCode intellisense support using clangd. (#20382) 2023-05-14 15:32:34 +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
platformdev_proton_c.md
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
porting_your_keyboard_to_qmk.md [Docs] Discuss layout macro (#19803) 2023-03-06 11:24:56 -08:00
power.txt
pr_checklist.md clarify what the heck pristine means for reasons (#20950) 2023-07-07 22:07:02 +10:00
qmk.css
qmk_custom_dark.css
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 [Docs] Fix listed defaults in quantum painter docs (#21429) 2023-07-03 00:08:45 -07: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_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
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
serial_driver.md Fix serial_driver.md list item numbering (#19819) 2023-02-12 17:05:46 +00:00
spi_driver.md
squeezing_avr.md [Docs] Squeeze AVR with simplified magic config functions (#21477) 2023-07-09 20:05:45 +10: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 Remove outdated remarks regarding the default MT behavior (#21077) 2023-05-30 02:08:15 +01:00
translating.md
uart_driver.md
understanding_qmk.md Move pre_process_record_kb() before process_combo() (#20969) 2023-05-20 22:15:55 +10:00
unit_testing.md
usb_nkro.txt
ws2812_driver.md Migrate rgblight.pin and RGB_DI_PIN to ws2812.pin (#20303) 2023-04-06 18:00:54 +10: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.