You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Nick Brassel 691668340c
Add `qmk mass-compile`, which intends to supercede `qmk multibuild` whilst providing support for filtering as per data-driven definitions. (#18971)
3 years ago
..
ChangeLog 2022 Nov 26 changelog. (#19164) 3 years ago
gitbook/images
internals
ja [Docs] Remove broken link (#19321) 3 years ago
zh-cn
.nojekyll
CNAME
README.md
_langs.md
_summary.md Stub next develop dates 3 years ago
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md 2022 Nov 26 changelog. (#19164) 3 years ago
api_overview.md
arm_debugging.md
audio_driver.md
breaking_changes.md Update breaking changes year... (#19409) 3 years ago
breaking_changes_history.md Stub next develop dates 3 years ago
breaking_changes_instructions.md
chibios_upgrade_instructions.md Add `qmk mass-compile`, which intends to supercede `qmk multibuild` whilst providing support for filtering as per data-driven definitions. (#18971) 3 years ago
cli.md
cli_commands.md
cli_configuration.md
cli_development.md
cli_tab_complete.md
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md
config_options.md
configurator_architecture.md
configurator_default_keymaps.md
configurator_diagram.drawio
configurator_diagram.svg
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md
easy_maker.md
eeprom_driver.md
faq_build.md
faq_debug.md
faq_general.md
faq_keymap.md
faq_misc.md
feature_advanced_keycodes.md
feature_audio.md
feature_auto_shift.md
feature_autocorrect.md
feature_backlight.md
feature_bluetooth.md
feature_bootmagic.md
feature_caps_word.md
feature_combo.md
feature_command.md
feature_converters.md
feature_debounce_type.md
feature_digitizer.md
feature_dip_switch.md
feature_dynamic_macros.md
feature_eeprom.md
feature_encoders.md docs: add a note about reflashing both halves for encoder resolution (#19162) 3 years ago
feature_grave_esc.md
feature_haptic_feedback.md
feature_hd44780.md
feature_joystick.md [Docs] Update feature_joystick.md (#19347) 3 years ago
feature_key_lock.md
feature_key_overrides.md
feature_layers.md
feature_layouts.md
feature_leader_key.md
feature_led_indicators.md
feature_led_matrix.md Change `LED_MATRIX_STARTUP_*` defines to `LED_MATRIX_DEFAULT_*` (#19080) 3 years ago
feature_macros.md
feature_midi.md
feature_mouse_keys.md
feature_oled_driver.md Update OLED doc (#19213) 3 years ago
feature_pointing_device.md
feature_programmable_button.md
feature_ps2_mouse.md
feature_rawhid.md
feature_rgb_matrix.md Change `RGB_MATRIX_STARTUP_*` defines to `RGB_MATRIX_DEFAULT_*` (#19079) 3 years ago
feature_rgblight.md Fix description for selectively disabling animations (#19374) 3 years ago
feature_secure.md
feature_send_string.md
feature_sequencer.md
feature_space_cadet.md
feature_split_keyboard.md
feature_st7565.md
feature_stenography.md
feature_swap_hands.md
feature_tap_dance.md [Docs] Remove broken link (#19321) 3 years ago
feature_unicode.md Fixes unicode_map declaration example (#19450) 3 years ago
feature_userspace.md
feature_velocikey.md
feature_wpm.md
flash_driver.md
flashing.md
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md
getting_started_vagrant.md
gpio_control.md
hand_wire.md
hardware_drivers.md
hardware_keyboard_guidelines.md Add docs to cover recent LAYOUT_all lint checks (#19393) 3 years ago
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md
index.html
isp_flashing_guide.md
keycodes.md Fix RWIN typo within keycode list (#19155) 3 years ago
keycodes_basic.md
keycodes_magic.md
keycodes_us_ansi_shifted.md
keymap.md
mod_tap.md
newbs.md
newbs_building_firmware.md
newbs_building_firmware_configurator.md
newbs_building_firmware_workflow.md
newbs_flashing.md
newbs_getting_started.md
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md
newbs_git_using_your_master_branch.md
newbs_learn_more_resources.md
newbs_testing_debugging.md
one_shot_keys.md fix typo (#19189) 3 years ago
other_eclipse.md
other_vscode.md
platformdev_blackpill_f4x1.md
platformdev_chibios_earlyinit.md
platformdev_proton_c.md
platformdev_rp2040.md
platformdev_selecting_arm_mcu.md
porting_your_keyboard_to_qmk.md
power.txt
pr_checklist.md Add docs to cover recent LAYOUT_all lint checks (#19393) 3 years ago
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md
quantum_painter.md
quantum_painter_qff.md
quantum_painter_qgf.md
quantum_painter_rle.md
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md
reference_info_json.md Fix headers in info.json reference (#19202) 3 years ago
reference_keymap_extras.md
serial_driver.md
spi_driver.md
squeezing_avr.md
support.md
sw.js
syllabus.md
tap_hold.md
translating.md
uart_driver.md
understanding_qmk.md
unit_testing.md
usb_nkro.txt
ws2812_driver.md

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.