qmk_firmware/docs
Bao 590b405468
New CLI subcommand to create clang-compatible compilation database (`compile_commands.json`) (#14370)
* pulled source from dev branch

* missed a file from origin

* formatting

* revised argument names. relaxed matching rules to work for avr too

* add docstrings

* added docs. tightened up regex

* remove unused imports

* cleaning up command file. use existing qmk dir constant

* rename parser library file

* move lib functions into command file. there are only 2 and they aren't large

* currently debugging...

* more robustly find config

* updated docs

* remove unused imports

* reuse make executable from the main make command

* pulled source from dev branch

* missed a file from origin

* formatting

* revised argument names. relaxed matching rules to work for avr too

* add docstrings

* added docs. tightened up regex

* remove unused imports

* cleaning up command file. use existing qmk dir constant

* rename parser library file

* move lib functions into command file. there are only 2 and they aren't large

* currently debugging...

* more robustly find config

* updated docs

* remove unused imports

* reuse make executable from the main make command

* remove MAKEFLAGS from environment for better control over process management

* Update .gitignore

Co-authored-by: Michael Forster <forster@google.com>

* add a usage line to docs

* doc change as suggested

Co-authored-by: Nick Brassel <nick@tzarc.org>

* rename command

* remove debug print statements

* generate-compilation-database: fix arg handling

* generate-comilation-db: improve error handling

* use cli.run() instead of Popen()

Co-authored-by: Xton <cdewan@apple.com>
Co-authored-by: Christon DeWan <cmdpix@mac.com>
Co-authored-by: Michael Forster <forster@google.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-09-16 14:59:57 +10:00
..
ChangeLog
de Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
es
fr-fr Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
gitbook/images
he-il
ja Align ChibiOS I2C defs with other drivers (#14399) 2021-09-12 15:41:33 +01:00
ko-kr
pt-br
ru-ru
zh-cn
.nojekyll
CNAME
README.md
_langs.md
_summary.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
audio_driver.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
breaking_changes.md
breaking_changes_history.md
breaking_changes_instructions.md
chibios_upgrade_instructions.md
cli.md
cli_commands.md New CLI subcommand to create clang-compatible compilation database (`compile_commands.json`) (#14370) 2021-09-16 14:59:57 +10:00
cli_configuration.md
cli_development.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
cli_tab_complete.md
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md
config_options.md Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
configurator_architecture.md
configurator_default_keymaps.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
configurator_diagram.drawio
configurator_diagram.svg
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
custom_matrix.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
custom_quantum_functions.md
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
easy_maker.md
eeprom_driver.md
faq_build.md
faq_debug.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
faq_general.md
faq_keymap.md [Docs] Update path to keycode.h (#14263) 2021-09-01 20:40:12 -07:00
faq_misc.md
feature_advanced_keycodes.md
feature_audio.md
feature_auto_shift.md
feature_backlight.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_bluetooth.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_bootmagic.md
feature_combo.md
feature_command.md
feature_debounce_type.md
feature_digitizer.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_dip_switch.md
feature_dynamic_macros.md
feature_encoders.md
feature_grave_esc.md
feature_haptic_feedback.md
feature_hd44780.md
feature_joystick.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_key_lock.md
feature_key_overrides.md Documentation: Fix links in key overrides (#14228) 2021-08-31 09:13:19 +10:00
feature_layers.md
feature_layouts.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_leader_key.md
feature_led_indicators.md [Docs] add sync options heading, update led indicators (#14441) 2021-09-15 10:11:25 -07:00
feature_led_matrix.md Align rgb/led matrix docs with current behaviour (#14367) 2021-09-10 03:57:36 +01:00
feature_macros.md
feature_midi.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_mouse_keys.md
feature_oled_driver.md [Docs] fixed incorrect amount of steps for oled usage (#13519) 2021-09-14 21:12:37 -07:00
feature_pointing_device.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_programmable_button.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
feature_ps2_mouse.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rawhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rgb_matrix.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rgblight.md
feature_sequencer.md
feature_space_cadet.md
feature_split_keyboard.md [Docs] add sync options heading, update led indicators (#14441) 2021-09-15 10:11:25 -07:00
feature_st7565.md
feature_stenography.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_swap_hands.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_tap_dance.md
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md
feature_userspace.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_velocikey.md Highlight keycode (#14317) 2021-09-05 20:36:16 +01:00
feature_wpm.md
flashing.md Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
flashing_bootloadhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
fuse.txt
getting_started_docker.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
getting_started_vagrant.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
hand_wire.md
hardware_avr.md
hardware_drivers.md
hardware_keyboard_guidelines.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
how_a_matrix_works.md
how_keyboards_work.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
i2c_driver.md Align ChibiOS I2C defs with other drivers (#14399) 2021-09-12 15:41:33 +01:00
index.html
internals_defines.md
internals_gpio_control.md
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
keycodes.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
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_flashing.md
newbs_getting_started.md
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
newbs_git_using_your_master_branch.md
newbs_learn_more_resources.md
newbs_testing_debugging.md
one_shot_keys.md
other_eclipse.md
other_vscode.md
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md
proton_c_conversion.md
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md Fix Space Cadet md link (#14300) 2021-09-04 15:01:56 +01:00
reference_info_json.md Remove width, height and key_count from info.json (#14274) 2021-09-12 14:04:56 +10:00
reference_keymap_extras.md
serial_driver.md
spi_driver.md
support.md
sw.js
syllabus.md
tap_hold.md
translating.md
uart_driver.md
understanding_qmk.md
unit_testing.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
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.