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.
qmk-fw/docs
James Young 906bdce6ce split Hand Wire Preamble to a separate doc 5 years ago
..
ChangeLog 2020 February 29 Breaking Changes Update (#8064) 5 years ago
de Rework the newbs guide around the qmk cli 5 years ago
es overhaul the newbs guide 5 years ago
fr-fr overhaul the newbs guide 5 years ago
gitbook/images
he-il Rework the newbs guide around the qmk cli 5 years ago
ja overhaul the newbs guide 5 years ago
pt-br Rework the newbs guide around the qmk cli 5 years ago
ru-ru Rework the newbs guide around the qmk cli 5 years ago
zh-cn Rework the newbs guide around the qmk cli 5 years ago
.nojekyll
CNAME
README.md Rework the newbs guide around the qmk cli 5 years ago
_langs.md [Docs] add README translation in portuguese (#7016) 5 years ago
_summary.md split Hand Wire Preamble to a separate doc 5 years ago
adc_driver.md Improve support and docs for ADC driver (#7191) 5 years ago
api_development_environment.md Add API documentation 5 years ago
api_development_overview.md Add API documentation 5 years ago
api_docs.md Add API documentation 5 years ago
api_overview.md Add API documentation 5 years ago
arm_debugging.md [Docs] fix docs (#7642) 5 years ago
breaking_changes.md Fix the Breaking Changes doc again 5 years ago
breaking_changes_instructions.md suggestions by skullydazed 5 years ago
cli.md remove some unnecessary external links 5 years ago
cli_dev_configuration.md More sidebar organization 5 years ago
cli_development.md Add flake8 to our test suite and fix all errors (#7379) 6 years ago
coding_conventions_c.md Minor grammar and filename fixes in docs (#7559) 5 years ago
coding_conventions_python.md Add a note explaining how to run tests 5 years ago
compatible_microcontrollers.md [Doc] Tidy up compatible MCUs docs (#7295) 6 years ago
config_options.md New feature: PERMISSIVE_HOLD_PER_KEY (#7994) 5 years ago
configurator_step_by_step.md Polish Configurator section 5 years ago
configurator_troubleshooting.md Polish Configurator section 5 years ago
contributing.md Improve docs "Edit Document" footer 5 years ago
custom_matrix.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 5 years ago
custom_quantum_functions.md Add per-key IGNORE_MOD_TAP_INTERRUPT feature (#7838) 5 years ago
documentation_best_practices.md
documentation_templates.md Doc fix to conform with #7221 (#7392) 6 years ago
driver_installation_zadig.md Add a short explanation to Zadig the troubleshooting section (#7110) 6 years ago
eeprom_driver.md Add customisable EEPROM driver selection (#7274) 5 years ago
faq_build.md [Docs] Update macOS related issues in docs (#7744) 5 years ago
faq_debug.md [Docs] Remove some outdated FAQ items (#7607) 5 years ago
faq_general.md Rework the newbs guide around the qmk cli 5 years ago
faq_keymap.md make custom_keycode_names.md a faq entry instead 5 years ago
feature_advanced_keycodes.md break feature_advanced_keycodes.md up into multiple files 5 years ago
feature_audio.md Added keycodes for swapping and unswapping the Control and OS keys (#6110) 6 years ago
feature_auto_shift.md Smallish overhaul of Auto-Shift feature (#6067) 6 years ago
feature_backlight.md 2020 February 29 Breaking Changes Update (#8064) 5 years ago
feature_bluetooth.md Update feature_bluetooth.md (#7193) 6 years ago
feature_bootmagic.md Add short aliases for Magic keycodes (#7541) 5 years ago
feature_combo.md Change "yu" to "you" in combo docs (#6510) 6 years ago
feature_command.md Update IS_COMMAND definitions to use MOD_MASK_SHIFT (#6348) 6 years ago
feature_debounce_type.md Update debounce docs (#7355) 6 years ago
feature_dip_switch.md Add Dip Switch as a core feature (#6140) 6 years ago
feature_dynamic_macros.md [Core] Convert Dynamic Macro to a Core Feature (#5948) 6 years ago
feature_encoders.md 2020 February 29 Breaking Changes Update (#8064) 5 years ago
feature_grave_esc.md Document an annoyance with Grave Escape and macOS Terminal (#5483) 6 years ago
feature_haptic_feedback.md Minor grammar and filename fixes in docs (#7559) 5 years ago
feature_hd44780.md Remove build option firmware size impacts (#6947) 6 years ago
feature_key_lock.md update one shot keys link (#7020) 6 years ago
feature_layouts.md Add a mechanism for force building a particular community layout (#5027) 6 years ago
feature_leader_key.md Send string keycode tweaks (#7471) 6 years ago
feature_led_matrix.md Add documentation for led matrix 6 years ago
feature_macros.md Add support for delays in send_string. (#8244) 5 years ago
feature_mouse_keys.md Update mouse keys docs (#5653) 6 years ago
feature_oled_driver.md Fix out of bound OLED font access (#8145) 5 years ago
feature_pointing_device.md
feature_ps2_mouse.md [Docs] Removed dead link (#6922) 6 years ago
feature_rgb_matrix.md Configuration values for starting HSV and speed (#7740) 5 years ago
feature_rgblight.md Add shift-to-invert to remaining directional RGB_* keycode pairs (#7484) 5 years ago
feature_space_cadet.md Added mod carry over from press to release. (#5866) 6 years ago
feature_split_keyboard.md Reduce SPLIT_USB_TIMEOUT by 500ms (#7637) 5 years ago
feature_stenography.md
feature_swap_hands.md
feature_tap_dance.md [Docs] Explain Tap Dance interruption (#5520) 6 years ago
feature_terminal.md Remove build option firmware size impacts (#6947) 6 years ago
feature_thermal_printer.md
feature_unicode.md `send_unicode_string()`: Add support for code points > 0xFFFF (#8236) 5 years ago
feature_userspace.md Send string keycode tweaks (#7471) 6 years ago
feature_velocikey.md Velocikey: Match RGB animation speed to typing speed (#3754) 6 years ago
flashing.md update flashing.md 5 years ago
flashing_bootloadhid.md Install bootloadHid as part of qmk_install (#7463) 5 years ago
fuse.txt
getting_started_getting_help.md Rework the newbs guide around the qmk cli 5 years ago
getting_started_introduction.md [Docs] update git command and directory name of documents (#7619) 5 years ago
getting_started_make_guide.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 5 years ago
getting_started_vagrant.md [Docs] Update getting_started_vagrant.md (#7203) 6 years ago
hand_wire.md split Hand Wire Preamble to a separate doc 5 years ago
hardware_avr.md Remove apostrophe from various abbreviations' plural forms (#7050) 6 years ago
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 5 years ago
hardware_keyboard_guidelines.md Fixed typos in documentation (#6871) 6 years ago
how_a_matrix_works.md split Hand Wire Preamble to a separate doc 5 years ago
how_keyboards_work.md Update URL for `60-keyboard.hwdb` (#7185) 6 years ago
i2c_driver.md [Docs] Update i2c_driver.md (#6665) 6 years ago
index.html limit the TOC to H1 and H2 5 years ago
internals_defines.md
internals_gpio_control.md [Docs] Add AVR and ARM examples to GPIO Commands (#6942) 6 years ago
internals_input_callback_reg.md
internals_midi_device.md
internals_midi_device_setup_process.md
internals_midi_util.md
internals_send_functions.md
internals_sysex_tools.md
isp_flashing_guide.md [Docs] Update ISP Flashing guide (#8149) 5 years ago
keycodes.md remove some unnecessary external links 5 years ago
keycodes_basic.md Remove obsolete note about media keys in MacOS (#6631) 6 years ago
keycodes_us_ansi_shifted.md Backslash-escape pipe character in keycode lists (#7157) 6 years ago
keymap.md [Docs] Smallish overhaul of the docs (#5281) 6 years ago
mod_tap.md break feature_advanced_keycodes.md up into multiple files 5 years ago
newbs.md overhaul the newbs guide 5 years ago
newbs_building_firmware.md overhaul the newbs guide 5 years ago
newbs_building_firmware_configurator.md Polish Configurator section 5 years ago
newbs_flashing.md overhaul the newbs guide 5 years ago
newbs_getting_started.md fix numbering 5 years ago
newbs_git_best_practices.md [Docs] Restructure of Git Best Practices doc (#7231) 5 years ago
newbs_git_resolving_merge_conflicts.md [Docs] Restructure of Git Best Practices doc (#7231) 5 years ago
newbs_git_resynchronize_a_branch.md [Docs] Fix minor differences in docs/newbs_git_resynchronize_a_branch.md (#7728) 5 years ago
newbs_git_using_your_master_branch.md [Docs] Restructure of Git Best Practices doc (#7231) 5 years ago
newbs_learn_more_resources.md overhaul the newbs guide 5 years ago
newbs_testing_debugging.md overhaul the newbs guide 5 years ago
one_shot_keys.md break feature_advanced_keycodes.md up into multiple files 5 years ago
other_eclipse.md [Docs] Add VSCode guide to docs (#5124) 6 years ago
other_vscode.md [Docs] Add VSCode guide to docs (#5124) 6 years ago
power.txt
proton_c_conversion.md Update feature support for Proton C (#7596) 5 years ago
qmk.css
quantum_keycodes.md Move Grave Escape, Lock and Leader keycodes into their own sect… (#8093) 5 years ago
redirects.json Configuration system for CLI (#6708) 6 years ago
ref_functions.md Additional changes for Layer State typedef compatibility (#5906) 6 years ago
reference_configurator_support.md Polish Configurator section 5 years ago
reference_glossary.md Remove apostrophe from various abbreviations' plural forms (#7050) 6 years ago
reference_info_json.md Add label to the info.json reference 6 years ago
sidebar.css CSS updates: ul and pre elements 5 years ago
support.md remove some unnecessary external links 5 years ago
sw.js
tap_hold.md break feature_advanced_keycodes.md up into multiple files 5 years ago
translating.md Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) 5 years ago
understanding_qmk.md Remove apostrophe from various abbreviations' plural forms (#7050) 6 years ago
unit_testing.md
usb_nkro.txt
ws2812_driver.md PWM DMA based RGB Underglow for STM32 (#7928) 5 years ago

README.md

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

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

Totally new to QMK? There are two ways to get started:

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.