You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Ryan 9e92d8a905
Make note of upper limit for `UC()` (#15870)
5 months ago
..
ChangeLog Changelog 2021q4 (#15325) 7 months ago
gitbook/images RGB improvements (#1684) 5 years ago
ja Remove use of __flash due to LTO issues (#15268) 7 months ago
zh-cn Move tmk_core/common/<plat> (#13918) 7 months ago
.nojekyll Use docsfy to replace gitbook 4 years ago
CNAME Create CNAME 4 years ago
README.md Small tweaks to docs to make them more user friendly (#11518) 1 year ago
_langs.md Remove stale docs translations (#15737) 6 months ago
_summary.md Changelog 2021q4 (#15325) 7 months ago
adc_driver.md Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403) 1 year ago
api_development_environment.md Add API documentation 2 years ago
api_development_overview.md Add API documentation 2 years ago
api_docs.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
arm_debugging.md [Docs] fix docs (#7642) 3 years ago
audio_driver.md [Docs] Clean up some code block languages (#14434) 10 months ago
breaking_changes.md Fix last merge date (#15327) 7 months ago
breaking_changes_history.md Changelog 2021q4 (#15325) 7 months ago
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2 years ago
chibios_upgrade_instructions.md Update to ChibiOS 20.3.4, support builds against trunk (#14208) 8 months ago
cli.md Streamline the macos install process 2 years ago
cli_commands.md Add test filter to 'qmk pytest' (#15432) 7 months ago
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 2 years ago
cli_development.md [Docs] Clean up some code block languages (#14434) 10 months ago
cli_tab_complete.md Fix Typo in documentation (#14942) 8 months ago
coding_conventions_c.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
coding_conventions_python.md Refactor new-keyboard to be python3.7 compatible (#14707) 8 months ago
compatible_microcontrollers.md [Docs] Fix Header formatting in compatible mcu doc (#15438) 7 months ago
config_options.md New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036) 7 months ago
configurator_architecture.md Architecture documentation for Configurator and API (#13935) 11 months ago
configurator_default_keymaps.md Basic keycode overhaul (#14726) 8 months ago
configurator_diagram.drawio Architecture documentation for Configurator and API (#13935) 11 months ago
configurator_diagram.svg Architecture documentation for Configurator and API (#13935) 11 months ago
configurator_step_by_step.md Fix capitalisation of "GitHub" (#9184) 2 years ago
configurator_troubleshooting.md Polish Configurator section 2 years ago
contributing.md Remove bin/qmk (#14231) 10 months ago
custom_matrix.md [Docs] Clean up some code block languages (#14434) 10 months ago
custom_quantum_functions.md Add support for deferred executors. (#14859) 7 months ago
data_driven_config.md Create a system to map between info.json and config.h/rules.mk (#11548) 1 year ago
documentation_best_practices.md [Docs] fix file path (#9540) 2 years ago
documentation_templates.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
driver_installation_zadig.md [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508) 8 months ago
easy_maker.md [Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321) 11 months ago
eeprom_driver.md eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. (#12617) 1 year ago
faq_build.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
faq_debug.md doc/faq_debug: qmk cli can also be used to print debug messages (#15528) 6 months ago
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 1 year ago
faq_keymap.md Basic keycode overhaul (#14726) 8 months ago
faq_misc.md Remove `BOOTMAGIC_ENABLE = lite` option (#15002) 8 months ago
feature_advanced_keycodes.md Additional documentation for GUI mod combo (#13266) 1 year ago
feature_audio.md Fixup Audio startup and add to documents (#13606) 11 months ago
feature_auto_shift.md Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping) and Custom Auto Shifts (#11059) 7 months ago
feature_backlight.md [Docs] Clean up some code block languages (#14434) 10 months ago
feature_bluetooth.md [Docs] Updated typo on feature_bluetooth.md (#15466) 6 months ago
feature_bootmagic.md Remove `BOOTMAGIC_ENABLE = lite` option (#15002) 8 months ago
feature_combo.md Link Macro example for COMBO_ACTION documentation (#15164) 6 months ago
feature_command.md Remove Full Bootmagic (#13846) 11 months ago
feature_debounce_type.md Remove backwards compatibility of debounce names (#13877) 11 months ago
feature_digitizer.md [Docs] Clean up some code block languages (#14434) 10 months ago
feature_dip_switch.md Added right vs left specific pin assignments for dip switch (#13074) 10 months ago
feature_dynamic_macros.md Fix typo in docs/feature_dynamic_macros (#10085) 2 years ago
feature_encoders.md Volume as default encoder documentation example (#15678) 6 months ago
feature_grave_esc.md Basic keycode overhaul (#14726) 8 months ago
feature_haptic_feedback.md Basic keycode overhaul (#14726) 8 months ago
feature_hd44780.md fixed typo for clear lcd screen function in hd44780 docs (#9086) 2 years ago
feature_joystick.md [Docs] Clean up some code block languages (#14434) 10 months ago
feature_key_lock.md Add explicit id tags to externally linked headers 2 years ago
feature_key_overrides.md Basic keycode overhaul (#14726) 8 months ago
feature_layers.md Move tmk_core/common/<plat> (#13918) 7 months ago
feature_layouts.md [Docs] Clean up some code block languages (#14434) 10 months ago
feature_leader_key.md feat: infinite timeout for leader key (#6580) 1 year ago
feature_led_indicators.md [Docs] add sync options heading, update led indicators (#14441) 9 months ago
feature_led_matrix.md Remove use of __flash due to LTO issues (#15268) 7 months ago
feature_macros.md Fix keymap.json macro example (#15567) 5 months ago
feature_midi.md [Docs] Clean up some code block languages (#14434) 10 months ago
feature_mouse_keys.md Add support for 8 buttons to mouse report (#10807) 1 year ago
feature_oled_driver.md Merge remote-tracking branch 'origin/master' into develop 8 months ago
feature_pointing_device.md [Docs] Add drag scrolling example to Pointing device docs page (#15715) 6 months ago
feature_programmable_button.md Add Support for USB programmable buttons (#12950) 9 months ago
feature_ps2_mouse.md Align PS/2 GPIO defines (#14745) 8 months ago
feature_rawhid.md [Docs] Clean up some code block languages (#14434) 10 months ago
feature_rgb_matrix.md [Docs] Recommend the use of RGB matrix functions for code (#15744) 6 months ago
feature_rgblight.md [Docs] Recommend the use of RGB light functions for code (#15745) 6 months ago
feature_sequencer.md Ensure single newline at EOF for core files (#11310) 2 years ago
feature_space_cadet.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
feature_split_keyboard.md [Docs] Improve Handedness by EEPROM documentation (#15615) 6 months ago
feature_st7565.md ST7565 invert (#13237) 1 year ago
feature_stenography.md Merge remote-tracking branch 'origin/master' into develop 7 months ago
feature_swap_hands.md Document swap-hands tap-toggle feature (#15229) 7 months ago
feature_tap_dance.md [Docs] Update feature_tap_dance.md (#14931) 6 months ago
feature_terminal.md Remove build option firmware size impacts (#6947) 3 years ago
feature_thermal_printer.md Format keycode tables 5 years ago
feature_unicode.md Deprecate `send_unicode_hex_string()` (#12602) 1 year ago
feature_userspace.md Enable CLI flashing via mdloader (#14729) 8 months ago
feature_velocikey.md Remove `BOOTMAGIC_ENABLE = lite` option (#15002) 8 months ago
feature_wpm.md Reimplements WPM feature to be smaller & precise (#13902) 7 months ago
flashing.md Fix RESET not working for keyboards with Kiibohd bootloader (#15430) 7 months ago
flashing_bootloadhid.md [Docs] Clean up some code block languages (#14434) 10 months ago
fuse.txt Ensure single newline at EOF for core files (#11310) 2 years ago
getting_started_docker.md [Docs] Clean up some code block languages (#14434) 10 months ago
getting_started_github.md Purge uGFX. (#14720) 9 months ago
getting_started_introduction.md [Docs] update git command and directory name of documents (#7619) 3 years ago
getting_started_make_guide.md Add support for deferred executors. (#14859) 7 months ago
getting_started_vagrant.md [Docs] Clean up some code block languages (#14434) 10 months ago
hand_wire.md [Docs] Added information on soldering diodes in parallel (#13117) 11 months ago
hardware_avr.md Port new_keyboard.sh to CLI (#13706) 11 months ago
hardware_drivers.md Purge uGFX. (#14720) 9 months ago
hardware_keyboard_guidelines.md Purge uGFX. (#14720) 9 months ago
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
how_keyboards_work.md [Docs] Clean up some code block languages (#14434) 10 months ago
i2c_driver.md i2c_master: Add support for reading/writing to 16-bit registers (#14289) 9 months ago
index.html Remove stale docs translations (#15737) 6 months ago
internals_defines.md rename api docs to internals 4 years ago
internals_gpio_control.md Move tmk_core/common/<plat> (#13918) 7 months ago
internals_input_callback_reg.md rename api docs to internals 4 years ago
internals_midi_device.md rename api docs to internals 4 years ago
internals_midi_device_setup_process.md rename api docs to internals 4 years ago
internals_midi_util.md rename api docs to internals 4 years ago
internals_send_functions.md rename api docs to internals 4 years ago
internals_sysex_tools.md rename api docs to internals 4 years ago
isp_flashing_guide.md Rework ISP flashing guide (#14938) 8 months ago
keycodes.md Make note of upper limit for `UC()` (#15870) 5 months ago
keycodes_basic.md Basic keycode overhaul (#14726) 8 months ago
keycodes_magic.md Add a toggle key for GUI On/Off in Magic feature (#13830) 10 months ago
keycodes_us_ansi_shifted.md Backslash-escape pipe character in keycode lists (#7157) 3 years ago
keymap.md Basic keycode overhaul (#14726) 8 months ago
mod_tap.md [Docs] Correct logic of tap hold statement (#14992) 8 months ago
newbs.md [Docs] Use HTTPS for images and links where possible (#11695) 1 year ago
newbs_building_firmware.md [Docs] Move QMK newbs build environment guide to next section (#15386) 6 months ago
newbs_building_firmware_configurator.md Small tweaks to docs to make them more user friendly (#11518) 1 year ago
newbs_flashing.md [Docs] newbs_flashing.md: add link to build environment section (#15654) 6 months ago
newbs_getting_started.md [Docs] Move QMK newbs build environment guide to next section (#15386) 6 months ago
newbs_git_best_practices.md [Docs] Restructure of Git Best Practices doc (#7231) 3 years ago
newbs_git_resolving_merge_conflicts.md [Docs] Restructure of Git Best Practices doc (#7231) 3 years ago
newbs_git_resynchronize_a_branch.md [Docs] Clean up some code block languages (#14434) 10 months ago
newbs_git_using_your_master_branch.md Add explicit id tags to externally linked headers 2 years ago
newbs_learn_more_resources.md Small tweaks to docs to make them more user friendly (#11518) 1 year ago
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 1 year ago
one_shot_keys.md fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754) 11 months ago
other_eclipse.md eclipse: recommend changing the default project make target (#12447) 1 year ago
other_vscode.md [Core] [Docs] Remove travis-ci references (#13916) 10 months ago
platformdev_chibios_earlyinit.md Ensure single newline at EOF for core files (#11310) 2 years ago
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 2 years ago
power.txt Trim trailing whitespace 5 years ago
pr_checklist.md Changelog 2021q4 (#15325) 7 months ago
proton_c_conversion.md Add board specific to Proton-C, with usual defaults turned on. (#10976) 2 years ago
qmk.css Some more tweaks to make everything look nice 4 years ago
qmk_custom_dark.css Small tweaks to docs to make them more user friendly (#11518) 1 year ago
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 1 year ago
quantum_keycodes.md Add explicit id tags to externally linked headers 2 years ago
redirects.json Configuration system for CLI (#6708) 3 years ago
ref_functions.md fix typo (#15569) 6 months ago
reference_configurator_support.md Basic keycode overhaul (#14726) 8 months ago
reference_glossary.md Fix Space Cadet md link (#14300) 10 months ago
reference_info_json.md [Docs] Clean up reference_info_json.md (#14806) 9 months ago
reference_keymap_extras.md Rework keymap_extras docs (#13949) 11 months ago
serial_driver.md Make solo half of split keyboards (more) usable. (#13523) 10 months ago
spi_driver.md Merge remote-tracking branch 'upstream/master' into develop 1 year ago
squeezing_avr.md [Docs] fix typo and remove trailing whitespace (#15842) 6 months ago
support.md Fix capitalisation of "GitHub" (#9184) 2 years ago
sw.js Fix up info boxes. 4 years ago
syllabus.md [Docs] Squeezing space out of AVR (#15243) 7 months ago
tap_hold.md New feature: `DYNAMIC_TAPPING_TERM_ENABLE` (#11036) 7 months ago
translating.md Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) 3 years ago
uart_driver.md Update UART driver API (#14839) 8 months ago
understanding_qmk.md [Docs] Reorder functions in Understanding QMK (#15357) 7 months ago
unit_testing.md Remove SERIAL_LINK feature (#14727) 9 months ago
usb_nkro.txt convert docs to lowercase and underscores 5 years ago
ws2812_driver.md Documentation typo fix (#15298) 7 months ago

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.