QMK Bot 77185961dc Merge remote-tracking branch 'origin/master' into develop %!s(int64=5) %!d(string=hai) anos
..
ChangeLog 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
de 501f2fdef1 Normalise include statements in core code (#11153) %!s(int64=5) %!d(string=hai) anos
es 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
fr-fr 501f2fdef1 Normalise include statements in core code (#11153) %!s(int64=5) %!d(string=hai) anos
gitbook 4580d3a730 RGB improvements (#1684) %!s(int64=9) %!d(string=hai) anos
he-il 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
ja 99d6349978 Merge remote-tracking branch 'origin/master' into develop %!s(int64=5) %!d(string=hai) anos
ko-kr cb80b59e93 Adding few Korean translated files (#5895) %!s(int64=5) %!d(string=hai) anos
pt-br e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
ru-ru e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
zh-cn 501f2fdef1 Normalise include statements in core code (#11153) %!s(int64=5) %!d(string=hai) anos
.nojekyll 9e5676650e Use docsfy to replace gitbook %!s(int64=8) %!d(string=hai) anos
CNAME 4d26137e2a Create CNAME %!s(int64=8) %!d(string=hai) anos
README.md b2ab0af905 [Docs] Update links in main README.md (#11284) %!s(int64=5) %!d(string=hai) anos
_langs.md 10e8ed7430 [Docs] add README translation in portuguese (#7016) %!s(int64=6) %!d(string=hai) anos
_summary.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
adc_driver.md 8a4a0c25fd Change analogRead calls to analogReadPin (#9023) %!s(int64=6) %!d(string=hai) anos
api_development_environment.md 99850aabca Add API documentation %!s(int64=6) %!d(string=hai) anos
api_development_overview.md 99850aabca Add API documentation %!s(int64=6) %!d(string=hai) anos
api_docs.md 99850aabca Add API documentation %!s(int64=6) %!d(string=hai) anos
api_overview.md 99850aabca Add API documentation %!s(int64=6) %!d(string=hai) anos
arm_debugging.md 52c18ef026 [Docs] fix docs (#7642) %!s(int64=6) %!d(string=hai) anos
breaking_changes.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
breaking_changes_instructions.md fced377ac0 2020 May 30 Breaking Changes Update (#9215) %!s(int64=6) %!d(string=hai) anos
cli.md fcf150bd82 Streamline the macos install process %!s(int64=6) %!d(string=hai) anos
cli_commands.md 6890090fbb Updated usage of qmk c2json (#11148) %!s(int64=5) %!d(string=hai) anos
cli_configuration.md e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
cli_development.md e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
coding_conventions_c.md f4b67cde8a Update C coding conventions to match .clang-format config for i… (#8717) %!s(int64=6) %!d(string=hai) anos
coding_conventions_python.md 66d94dc22a Move everything to Python 3.6 (#8835) %!s(int64=6) %!d(string=hai) anos
compatible_microcontrollers.md 7aa4cc9603 adds support for the atmega328 (#9043) %!s(int64=6) %!d(string=hai) anos
config_options.md 501f2fdef1 Normalise include statements in core code (#11153) %!s(int64=5) %!d(string=hai) anos
configurator_default_keymaps.md de68d294ec [Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) %!s(int64=5) %!d(string=hai) anos
configurator_step_by_step.md e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
configurator_troubleshooting.md d5f34c4810 Polish Configurator section %!s(int64=6) %!d(string=hai) anos
contributing.md 54c58ea6de Add explicit id tags to externally linked headers %!s(int64=6) %!d(string=hai) anos
custom_matrix.md 6e710426a4 Add docs for 'CUSTOM_MATRIX = lite' (#7906) %!s(int64=6) %!d(string=hai) anos
custom_quantum_functions.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
documentation_best_practices.md 995464cb9c [Docs] fix file path (#9540) %!s(int64=6) %!d(string=hai) anos
documentation_templates.md 54c58ea6de Add explicit id tags to externally linked headers %!s(int64=6) %!d(string=hai) anos
driver_installation_zadig.md 122cf3ad0f Update Zadig docs with list of bootloader device names and IDs (#11337) %!s(int64=5) %!d(string=hai) anos
eeprom_driver.md 70f40339c2 Add i2c 24LC64 eeprom (#11200) %!s(int64=5) %!d(string=hai) anos
faq_build.md 7d5ba88e6f 50-qmk.rules: Move udev rules from documentation into a file (#10664) %!s(int64=5) %!d(string=hai) anos
faq_debug.md 72b1ff5899 Add TMK "FEED" VID to list of deprecated udev rules %!s(int64=6) %!d(string=hai) anos
faq_general.md a701c15d87 Rework the newbs guide around the qmk cli %!s(int64=6) %!d(string=hai) anos
faq_keymap.md 12e43230c6 make custom_keycode_names.md a faq entry instead %!s(int64=6) %!d(string=hai) anos
feature_advanced_keycodes.md 0cb7133e0d Doc followup 9942 (#10473) %!s(int64=6) %!d(string=hai) anos
feature_audio.md d534c72a54 Added keycodes for swapping and unswapping the Control and OS keys (#6110) %!s(int64=7) %!d(string=hai) anos
feature_auto_shift.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_backlight.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_bluetooth.md 0fbb1e550a Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) %!s(int64=6) %!d(string=hai) anos
feature_bootmagic.md 789e199450 Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) %!s(int64=6) %!d(string=hai) anos
feature_combo.md 49abff9071 changed type of process_combo_event argument in tutorial (#10621) %!s(int64=6) %!d(string=hai) anos
feature_command.md a2e91ebec9 Update IS_COMMAND definitions to use MOD_MASK_SHIFT (#6348) %!s(int64=7) %!d(string=hai) anos
feature_debounce_type.md 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
feature_dip_switch.md c2ca57c8f4 add DIP_SWITCH_MATRIX_GRID support (#8772) %!s(int64=6) %!d(string=hai) anos
feature_dynamic_macros.md cdb69da86e Fix typo in docs/feature_dynamic_macros (#10085) %!s(int64=6) %!d(string=hai) anos
feature_encoders.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_grave_esc.md 3510d8dc8d Document an annoyance with Grave Escape and macOS Terminal (#5483) %!s(int64=7) %!d(string=hai) anos
feature_haptic_feedback.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_hd44780.md d846660e00 fixed typo for clear lcd screen function in hd44780 docs (#9086) %!s(int64=6) %!d(string=hai) anos
feature_joystick.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_key_lock.md 54c58ea6de Add explicit id tags to externally linked headers %!s(int64=6) %!d(string=hai) anos
feature_layers.md 61b64bb82a Redefine IS_LAYER_ON/OFF() as aliases for existing layer functions (#6352) %!s(int64=6) %!d(string=hai) anos
feature_layouts.md 40e67a3074 Add a mechanism for force building a particular community layout (#5027) %!s(int64=7) %!d(string=hai) anos
feature_leader_key.md 294cfd8d33 Delete trailing period in documentation (#9416) %!s(int64=6) %!d(string=hai) anos
feature_led_indicators.md 1ff5ee255f Indicator LEDs as config (#10816) %!s(int64=5) %!d(string=hai) anos
feature_led_matrix.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_macros.md 3300164065 Typo fix: Useful function -> Useful Functions (#11342) %!s(int64=5) %!d(string=hai) anos
feature_mouse_keys.md 010271d6ea Implement kinetic mouse movement algorithm (#6739) %!s(int64=5) %!d(string=hai) anos
feature_oled_driver.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
feature_pointing_device.md 573d1fbb92 Include `pointing_device_send` in docs (#9185) %!s(int64=6) %!d(string=hai) anos
feature_ps2_mouse.md b7dc2eb9ab Add movement hook to ps2_mouse (#8805) %!s(int64=6) %!d(string=hai) anos
feature_rawhid.md dee506c096 Updated Raw HID docs to clarify packet/report length (#11211) %!s(int64=5) %!d(string=hai) anos
feature_rgb_matrix.md 498d89f4b3 [Docs] Add clarification on use of custom RGB Matrix effect (#11176) %!s(int64=5) %!d(string=hai) anos
feature_rgblight.md 2ef68a84b6 Added color wheel that have QMK HSV values. (#8997) %!s(int64=5) %!d(string=hai) anos
feature_sequencer.md 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
feature_space_cadet.md d16db69367 Added mod carry over from press to release. (#5866) %!s(int64=7) %!d(string=hai) anos
feature_split_keyboard.md 5e2b53541b Add modifier state to the split keyboard transport (#10400) %!s(int64=5) %!d(string=hai) anos
feature_stenography.md 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
feature_swap_hands.md 805f5cb72b One shot support for swap hands (#8590) %!s(int64=6) %!d(string=hai) anos
feature_tap_dance.md 9d3b26a475 Update features to use Custom Tapping Term when appropriate (#6259) %!s(int64=6) %!d(string=hai) anos
feature_terminal.md b23f6011c3 Remove build option firmware size impacts (#6947) %!s(int64=7) %!d(string=hai) anos
feature_thermal_printer.md 4c675a83ba Format keycode tables %!s(int64=8) %!d(string=hai) anos
feature_unicode.md 02781979d6 [Docs] Improve Unicode documentation (#8676) %!s(int64=6) %!d(string=hai) anos
feature_userspace.md 501f2fdef1 Normalise include statements in core code (#11153) %!s(int64=5) %!d(string=hai) anos
feature_velocikey.md c1c5922aae Velocikey: Match RGB animation speed to typing speed (#3754) %!s(int64=7) %!d(string=hai) anos
feature_wpm.md bfb2f8e0a8 Add Word Per Minute calculation feature (#8054) %!s(int64=6) %!d(string=hai) anos
flashing.md d00ac5dfb6 Add `st-flash` flash target (#9964) %!s(int64=6) %!d(string=hai) anos
flashing_bootloadhid.md 235da6973d Install bootloadHid as part of qmk_install (#7463) %!s(int64=6) %!d(string=hai) anos
fuse.txt 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
getting_started_docker.md 0fbcb41c85 Reintegrate previous docker docs (#9084) %!s(int64=6) %!d(string=hai) anos
getting_started_github.md e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
getting_started_introduction.md 09c7304bd9 [Docs] update git command and directory name of documents (#7619) %!s(int64=6) %!d(string=hai) anos
getting_started_make_guide.md 0f596881b3 Remove support for Adafruit EZ-Key (#10103) %!s(int64=6) %!d(string=hai) anos
getting_started_vagrant.md bc13dcd349 Remove Atmel FLIP from install scripts and documentation (#8822) %!s(int64=6) %!d(string=hai) anos
hand_wire.md 961477c791 make sure all our redirects are in order %!s(int64=6) %!d(string=hai) anos
hardware_avr.md 72d3270547 Remove `DESCRIPTION` (#9732) %!s(int64=6) %!d(string=hai) anos
hardware_drivers.md d13ada1162 Add customisable EEPROM driver selection (#7274) %!s(int64=6) %!d(string=hai) anos
hardware_keyboard_guidelines.md 4d33d72975 New command: qmk lint (#10761) %!s(int64=5) %!d(string=hai) anos
how_a_matrix_works.md a95a314f78 refactor How a Matrix Works doc %!s(int64=6) %!d(string=hai) anos
how_keyboards_work.md d5316e9714 Update URL for `60-keyboard.hwdb` (#7185) %!s(int64=6) %!d(string=hai) anos
i2c_driver.md 346bfb2a05 Update i2c_driver.md (#10131) %!s(int64=6) %!d(string=hai) anos
index.html bbf0f65284 Simplify the visual flow of the getting started page (#11316) %!s(int64=5) %!d(string=hai) anos
internals_defines.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
internals_gpio_control.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
internals_input_callback_reg.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
internals_midi_device.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
internals_midi_device_setup_process.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
internals_midi_util.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
internals_send_functions.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
internals_sysex_tools.md ae7284edb8 rename api docs to internals %!s(int64=8) %!d(string=hai) anos
isp_flashing_guide.md c4d778a302 [Docs] Update ISP Guide (#9748) %!s(int64=6) %!d(string=hai) anos
keycodes.md 962b8d3814 Update keycode docs (#11343) %!s(int64=5) %!d(string=hai) anos
keycodes_basic.md 962b8d3814 Update keycode docs (#11343) %!s(int64=5) %!d(string=hai) anos
keycodes_us_ansi_shifted.md 40de65eac4 Backslash-escape pipe character in keycode lists (#7157) %!s(int64=6) %!d(string=hai) anos
keymap.md 142ebaea46 [Docs] Clarify layer transparency keymap.md (#9081) %!s(int64=6) %!d(string=hai) anos
mod_tap.md 139d28eaae [Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) %!s(int64=5) %!d(string=hai) anos
newbs.md 489bee0ee4 [Docs] redirect from /tutorial to /newbs (#10718) %!s(int64=5) %!d(string=hai) anos
newbs_building_firmware.md 54c58ea6de Add explicit id tags to externally linked headers %!s(int64=6) %!d(string=hai) anos
newbs_building_firmware_configurator.md d5f34c4810 Polish Configurator section %!s(int64=6) %!d(string=hai) anos
newbs_flashing.md 9c8f61dfa0 [Docs] newbs_flashing.md: place bootloader instructions before Toolbox intro (#9077) %!s(int64=6) %!d(string=hai) anos
newbs_getting_started.md bbf0f65284 Simplify the visual flow of the getting started page (#11316) %!s(int64=5) %!d(string=hai) anos
newbs_git_best_practices.md 3152bf572b [Docs] Restructure of Git Best Practices doc (#7231) %!s(int64=6) %!d(string=hai) anos
newbs_git_resolving_merge_conflicts.md 3152bf572b [Docs] Restructure of Git Best Practices doc (#7231) %!s(int64=6) %!d(string=hai) anos
newbs_git_resynchronize_a_branch.md 26a823082b [Docs] Fix minor differences in docs/newbs_git_resynchronize_a_branch.md (#7728) %!s(int64=6) %!d(string=hai) anos
newbs_git_using_your_master_branch.md 54c58ea6de Add explicit id tags to externally linked headers %!s(int64=6) %!d(string=hai) anos
newbs_learn_more_resources.md 45e218ceec overhaul the newbs guide %!s(int64=6) %!d(string=hai) anos
newbs_testing_debugging.md 501f2fdef1 Normalise include statements in core code (#11153) %!s(int64=5) %!d(string=hai) anos
one_shot_keys.md 078586b21a Update one_shot_keys.md (#10917) %!s(int64=5) %!d(string=hai) anos
other_eclipse.md cde5237a88 fix two links on docs/other_eclipse.md (#8417) %!s(int64=6) %!d(string=hai) anos
other_vscode.md a2af0a352b Update other_vscode.md of Japanese document (#10604) %!s(int64=5) %!d(string=hai) anos
platformdev_chibios_earlyinit.md 1b7b72c0e9 Ensure single newline at EOF for core files (#11310) %!s(int64=5) %!d(string=hai) anos
platformdev_selecting_arm_mcu.md 3afd2d81b8 Add documentation for selecting an Arm MCU (#9046) %!s(int64=6) %!d(string=hai) anos
power.txt bb53635f33 Trim trailing whitespace %!s(int64=8) %!d(string=hai) anos
pr_checklist.md 94e94ffb5b Recommend use of LED Indicator config (#10895) %!s(int64=5) %!d(string=hai) anos
proton_c_conversion.md 87291437bd Add board specific to Proton-C, with usual defaults turned on. (#10976) %!s(int64=5) %!d(string=hai) anos
qmk.css ccc87421e7 Some more tweaks to make everything look nice %!s(int64=8) %!d(string=hai) anos
qmk_custom_dark.css bbf0f65284 Simplify the visual flow of the getting started page (#11316) %!s(int64=5) %!d(string=hai) anos
qmk_custom_light.css bbf0f65284 Simplify the visual flow of the getting started page (#11316) %!s(int64=5) %!d(string=hai) anos
quantum_keycodes.md 54c58ea6de Add explicit id tags to externally linked headers %!s(int64=6) %!d(string=hai) anos
redirects.json d569f08771 Configuration system for CLI (#6708) %!s(int64=7) %!d(string=hai) anos
ref_functions.md 2f637e4ea1 [Docs] Clarify functionality of update_tri_layer_state (#10370) %!s(int64=6) %!d(string=hai) anos
reference_configurator_support.md d5f34c4810 Polish Configurator section %!s(int64=6) %!d(string=hai) anos
reference_glossary.md 29ebb99b1f fixed link to Eclipse instructions (#9647) %!s(int64=6) %!d(string=hai) anos
reference_info_json.md 9e9b604234 Mark 'key_count' as optional within info.json docs (#10513) %!s(int64=6) %!d(string=hai) anos
reference_keymap_extras.md 5f9fb01020 [Keymap Extra] Add French AZERTY (AFNOR - NF Z71-300) (#9644) %!s(int64=6) %!d(string=hai) anos
serial_driver.md 990d5189d1 Configurable serial usart timeout (#11057) %!s(int64=5) %!d(string=hai) anos
spi_driver.md 7aa4cc9603 adds support for the atmega328 (#9043) %!s(int64=6) %!d(string=hai) anos
support.md e4823aadec Fix capitalisation of "GitHub" (#9184) %!s(int64=6) %!d(string=hai) anos
sw.js 303f425c6b Fix up info boxes. %!s(int64=8) %!d(string=hai) anos
syllabus.md 9b70e53508 [Docs] Fixed minor typos (#8860) %!s(int64=6) %!d(string=hai) anos
tap_hold.md c66df16644 2020 November 28 Breaking Changes Update (#11053) %!s(int64=5) %!d(string=hai) anos
translating.md 7164e8eeb5 Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) %!s(int64=6) %!d(string=hai) anos
understanding_qmk.md 5117dff6a2 Add Post Processing to process_record (#4892) %!s(int64=6) %!d(string=hai) anos
unit_testing.md e02a3c559d Edit Unit Testing Documentation (#8961) %!s(int64=6) %!d(string=hai) anos
usb_nkro.txt 995c3141a6 convert docs to lowercase and underscores %!s(int64=9) %!d(string=hai) anos
ws2812_driver.md c59f87a5d7 add definition WS2812_BYTE_ORDER to fix RGB LED issues (#10184) %!s(int64=5) %!d(string=hai) anos

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.