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.
Ryan 06aea834c4
Backlight: add defines for default level and breathing state (#12560)
5 years ago
..
ChangeLog Change `BOOTMAGIC_ENABLE=yes` to use Bootmagic Lite (#12172) 5 years ago
de [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
es [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
fr-fr [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
gitbook/images
he-il [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
ja Make Swap Hands use PROGMEM (#12284) 5 years ago
ko-kr [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
pt-br [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
ru-ru [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
zh-cn [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
.nojekyll
CNAME
README.md Small tweaks to docs to make them more user friendly (#11518) 5 years ago
_langs.md
_summary.md Add support for tab completion (#12411) 5 years ago
adc_driver.md Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403) 5 years ago
api_development_environment.md
api_development_overview.md
api_docs.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
arm_debugging.md
audio_driver.md Audio system overhaul (#11820) 5 years ago
breaking_changes.md Fix Breaking Change date (#12272) 5 years ago
breaking_changes_history.md 2021 February 27 Breaking Changes Changelog (#11975) 5 years ago
breaking_changes_instructions.md
cli.md
cli_commands.md New command: qmk console (#12828) 5 years ago
cli_configuration.md
cli_development.md
cli_tab_complete.md Add support for tab completion (#12411) 5 years ago
coding_conventions_c.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
coding_conventions_python.md
compatible_microcontrollers.md Add STM32L433 and L443 support (#12063) 5 years ago
config_options.md [Docs] Fix typos in audio config in main config page (#12928) 5 years ago
configurator_default_keymaps.md
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
custom_matrix.md
custom_quantum_functions.md
data_driven_config.md Create a system to map between info.json and config.h/rules.mk (#11548) 5 years ago
documentation_best_practices.md
documentation_templates.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
driver_installation_zadig.md
eeprom_driver.md
faq_build.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
faq_debug.md Documentation changes SPLIT_USB_DETECT and hid_listen udev rules (#11665) 5 years ago
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 5 years ago
faq_keymap.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
faq_misc.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
feature_advanced_keycodes.md [Docs] New section to modifier docs: Checking Modifier State (#10550) 5 years ago
feature_audio.md A few small typo fixes in docs (#12524) 5 years ago
feature_auto_shift.md Add Per Key functionality for AutoShift (#11536) 5 years ago
feature_backlight.md Backlight: add defines for default level and breathing state (#12560) 5 years ago
feature_bluetooth.md
feature_bootmagic.md
feature_combo.md
feature_command.md
feature_debounce_type.md
feature_dip_switch.md
feature_dynamic_macros.md
feature_encoders.md Convert Encoder callbacks to be boolean functions (#12805) 5 years ago
feature_grave_esc.md
feature_haptic_feedback.md [Docs] Update feature_haptic_feedback.md (#11859) 5 years ago
feature_hd44780.md
feature_joystick.md
feature_key_lock.md
feature_layers.md Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation (#12306) 5 years ago
feature_layouts.md
feature_leader_key.md feat: infinite timeout for leader key (#6580) 5 years ago
feature_led_indicators.md
feature_led_matrix.md Document LED_MATRIX_FRAMEBUFFER_EFFECTS (#12987) 5 years ago
feature_macros.md [Docs] New section to modifier docs: Checking Modifier State (#10550) 5 years ago
feature_mouse_keys.md Add support for 8 buttons to mouse report (#10807) 5 years ago
feature_oled_driver.md Added OLED fade out support (#12086) 5 years ago
feature_pointing_device.md Merge remote-tracking branch 'origin/master' into develop 5 years ago
feature_ps2_mouse.md fix(feature_ps2_mouse): fix Scroll Button example (#11669) 5 years ago
feature_rawhid.md
feature_rgb_matrix.md Merge remote-tracking branch 'origin/master' into develop 5 years ago
feature_rgblight.md Merge remote-tracking branch 'origin/master' into develop 5 years ago
feature_sequencer.md
feature_space_cadet.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
feature_split_keyboard.md Add EE_HANDS documentation command example (#12730) 5 years ago
feature_stenography.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
feature_swap_hands.md Make Swap Hands use PROGMEM (#12284) 5 years ago
feature_tap_dance.md More Tap Dance docs improvements (#12358) 5 years ago
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md Deprecate `send_unicode_hex_string()` (#12602) 5 years ago
feature_userspace.md
feature_velocikey.md
feature_wpm.md Enhancement of WPM feature (#11727) 5 years ago
flashing.md Add initial support for tinyuf2 bootloader (when hosted on F411 blackpill) (#12600) 5 years ago
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md Add support for using podman to util/docker_build.sh (#10819) 5 years ago
getting_started_github.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
getting_started_introduction.md
getting_started_make_guide.md Documentation update (#12484) 5 years ago
getting_started_vagrant.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
hand_wire.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
hardware_avr.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
hardware_drivers.md
hardware_keyboard_guidelines.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
how_keyboards_work.md
i2c_driver.md Rework I2C driver docs (#11658) 5 years ago
index.html
internals_defines.md
internals_gpio_control.md [Docs] Use HTTPS for images and links where possible (#11695) 5 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.md (#11777) 5 years ago
keycodes.md Add ability to toggle One Shot functionality (#4198) 5 years ago
keycodes_basic.md
keycodes_us_ansi_shifted.md
keymap.md
mod_tap.md Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation (#12306) 5 years ago
newbs.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
newbs_building_firmware.md
newbs_building_firmware_configurator.md Small tweaks to docs to make them more user friendly (#11518) 5 years ago
newbs_flashing.md A few small typo fixes in docs (#12524) 5 years ago
newbs_getting_started.md Update FreeBSD install method (#12815) 5 years ago
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 Small tweaks to docs to make them more user friendly (#11518) 5 years ago
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 5 years ago
one_shot_keys.md Add ability to toggle One Shot functionality (#4198) 5 years ago
other_eclipse.md eclipse: recommend changing the default project make target (#12447) 5 years ago
other_vscode.md
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md Add additional info to PR Checklist (#12630) 5 years ago
proton_c_conversion.md
qmk.css
qmk_custom_dark.css Small tweaks to docs to make them more user friendly (#11518) 5 years ago
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 5 years ago
quantum_keycodes.md
redirects.json
ref_functions.md [Docs] Add EEP_RST keycode to "Wiping the EEPROM" section (#11830) 5 years ago
reference_configurator_support.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
reference_glossary.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
reference_info_json.md Merge remote-tracking branch 'origin/master' into develop 5 years ago
reference_keymap_extras.md
serial_driver.md Add Full-duplex serial driver for ARM boards (#9842) 5 years ago
spi_driver.md Merge remote-tracking branch 'upstream/master' into develop 5 years ago
support.md
sw.js
syllabus.md
tap_hold.md Update IGNORE_MOD_TAP_INTERRUPT (#11452) 5 years ago
translating.md
uart_driver.md UART driver refactor (#11637) 5 years ago
understanding_qmk.md Split transport mirror (#11046) 5 years ago
unit_testing.md [Docs] Use HTTPS for images and links where possible (#11695) 5 years ago
usb_nkro.txt
ws2812_driver.md ARM WS2812 SPI config (baudrate and circular buffer) (#12216) 5 years 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.