qmk_firmware/docs
Zach White d9785ec313
Improve the compile and flash subcommands (#11334)
* add support for --clean to compile and flash

* compile standalone JSON keymaps without polluting the tree

* Add support for passing environment vars to make

* make flake8 happy

* document changes to qmk compile and flash

* add -e support to json export compiling

* Fix python 3.6

* honor $MAKE

* add support for parallel builds
2021-01-16 15:13:04 -08:00
..
ChangeLog Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
de Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
es Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
fr-fr Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
gitbook/images
he-il Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
ja [Docs] Japanese translation of feature_rawhid.md (#10858) 2021-01-06 14:08:21 +09:00
ko-kr Adding few Korean translated files (#5895) 2020-11-10 06:11:04 +11:00
pt-br Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ru-ru Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
zh-cn Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
.nojekyll
_langs.md
_summary.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
adc_driver.md Change analogRead calls to analogReadPin (#9023) 2020-08-29 14:30:02 -07:00
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
cli_commands.md Improve the compile and flash subcommands (#11334) 2021-01-16 15:13:04 -08:00
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli_development.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
CNAME
coding_conventions_c.md Update C coding conventions to match .clang-format config for i… (#8717) 2020-04-07 14:14:08 +10:00
coding_conventions_python.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
compatible_microcontrollers.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
config_options.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
configurator_default_keymaps.md [Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) 2020-10-18 03:50:32 +11:00
configurator_step_by_step.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md
driver_installation_zadig.md Zadig docs: add APM32 device name (#11356) 2020-12-30 16:35:06 +00:00
eeprom_driver.md Add i2c 24LC64 eeprom (#11200) 2020-12-14 05:50:50 +11:00
faq_build.md 50-qmk.rules: Move udev rules from documentation into a file (#10664) 2020-10-17 20:30:18 +01:00
faq_debug.md Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00
faq_general.md
faq_keymap.md
feature_advanced_keycodes.md Doc followup 9942 (#10473) 2020-10-01 22:19:57 +01:00
feature_audio.md
feature_auto_shift.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_backlight.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_bluetooth.md Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) 2020-09-22 22:31:37 +10:00
feature_bootmagic.md
feature_combo.md changed type of process_combo_event argument in tutorial (#10621) 2020-10-13 02:14:37 +11:00
feature_command.md
feature_debounce_type.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_dip_switch.md add DIP_SWITCH_MATRIX_GRID support (#8772) 2020-07-04 23:20:49 +09:00
feature_dynamic_macros.md Fix typo in docs/feature_dynamic_macros (#10085) 2020-08-19 22:59:59 +01:00
feature_encoders.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_grave_esc.md
feature_haptic_feedback.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_hd44780.md fixed typo for clear lcd screen function in hd44780 docs (#9086) 2020-05-13 19:06:41 +01:00
feature_joystick.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_key_lock.md
feature_layers.md Redefine IS_LAYER_ON/OFF() as aliases for existing layer functions (#6352) 2020-07-16 22:27:55 +10:00
feature_layouts.md
feature_leader_key.md Delete trailing period in documentation (#9416) 2020-06-15 02:49:36 +10:00
feature_led_indicators.md Indicator LEDs as config (#10816) 2020-11-08 22:31:16 +00:00
feature_led_matrix.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_macros.md Typo fix: Useful function -> Useful Functions (#11342) 2020-12-30 01:32:30 +09:00
feature_mouse_keys.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_oled_driver.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_pointing_device.md Include pointing_device_send in docs (#9185) 2020-06-10 23:18:53 +01:00
feature_ps2_mouse.md Add movement hook to ps2_mouse (#8805) 2020-07-02 21:54:15 +01:00
feature_rawhid.md Updated Raw HID docs to clarify packet/report length (#11211) 2020-12-23 08:04:55 +11:00
feature_rgb_matrix.md allow customizing decrease delay of rgb heatmap (#11322) 2021-01-14 11:29:00 -08:00
feature_rgblight.md [Docs] Update feature_rgblight.md (#11363) 2021-01-10 23:05:11 -08:00
feature_sequencer.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_space_cadet.md
feature_split_keyboard.md [Docs] Add VBUS hack for teensys (#10986) 2020-11-27 21:03:31 -08:00
feature_stenography.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_swap_hands.md One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
feature_tap_dance.md Update features to use Custom Tapping Term when appropriate (#6259) 2020-08-29 14:30:02 -07:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md Fix documentation so UCIS example compiles. (#11541) 2021-01-14 11:11:59 +11:00
feature_userspace.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
feature_velocikey.md
feature_wpm.md
flashing.md Add st-flash flash target (#9964) 2020-08-29 14:30:02 -07:00
flashing_bootloadhid.md
fuse.txt Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
getting_started_docker.md Reintegrate previous docker docs (#9084) 2020-05-19 21:54:55 -07:00
getting_started_github.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
getting_started_introduction.md
getting_started_make_guide.md Remove support for Adafruit EZ-Key (#10103) 2020-08-29 14:30:02 -07:00
getting_started_vagrant.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
hand_wire.md [Docs] Fix typo in hand_wire.md (#11297) 2021-01-01 17:36:17 -08:00
hardware_avr.md Fix documentation of lsusb behaviour (#10903) 2021-01-10 21:48:29 -08:00
hardware_drivers.md
hardware_keyboard_guidelines.md New command: qmk lint (#10761) 2020-11-07 09:56:08 -08:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md Update i2c_driver.md (#10131) 2020-08-22 14:06:16 +01:00
index.html Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
internals_defines.md
internals_gpio_control.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
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 Guide (#9748) 2020-07-18 21:24:23 +01:00
keycodes.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keycodes_basic.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keycodes_us_ansi_shifted.md
keymap.md [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md [Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) 2020-10-15 21:23:24 -07:00
newbs.md [Docs] redirect from /tutorial to /newbs (#10718) 2020-11-09 20:33:15 -08:00
newbs_building_firmware.md
newbs_building_firmware_configurator.md
newbs_flashing.md [Docs] newbs_flashing.md: place bootloader instructions before Toolbox intro (#9077) 2020-05-21 09:24:39 -07:00
newbs_getting_started.md Fix AUR package name (#11416) 2021-01-09 11:37:42 +11:00
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
newbs_testing_debugging.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
one_shot_keys.md Update one_shot_keys.md (#10917) 2020-11-18 21:31:21 +00:00
other_eclipse.md
other_vscode.md Update other_vscode.md of Japanese document (#10604) 2020-10-15 03:24:26 +09:00
platformdev_chibios_earlyinit.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
power.txt
pr_checklist.md Recommend use of LED Indicator config (#10895) 2020-11-16 14:16:42 +11:00
proton_c_conversion.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
qmk.css
qmk_custom_dark.css Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
qmk_custom_light.css Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
quantum_keycodes.md
README.md [Docs] Update links in main README.md (#11284) 2020-12-22 22:37:01 -08:00
redirects.json
ref_functions.md [Docs] Clarify functionality of update_tri_layer_state (#10370) 2020-09-21 11:35:26 -07:00
reference_configurator_support.md
reference_glossary.md fixed link to Eclipse instructions (#9647) 2020-07-05 08:50:01 +10:00
reference_info_json.md Mark 'key_count' as optional within info.json docs (#10513) 2020-10-03 00:42:11 +01:00
reference_keymap_extras.md Added mac variant of portuguese keymap extras (#11260) 2020-12-29 19:40:58 -08:00
serial_driver.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
spi_driver.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
sw.js
syllabus.md [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
tap_hold.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
translating.md
understanding_qmk.md
unit_testing.md Edit Unit Testing Documentation (#8961) 2020-04-29 07:39:08 +10:00
usb_nkro.txt
ws2812_driver.md Add BGR byte order for WS2812 drivers (#11562) 2021-01-16 08:42:30 +11:00

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.