qmk_firmware/docs
James Young fced377ac0
2020 May 30 Breaking Changes Update (#9215)
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)

* Convert V-USB usbdrv to a submodule (#8321)

* Unify Tap Hold functions and documentation (#8348)

* Changing board names to prevent confusion (#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)

* Move spaceman keyboards (#8830)

* Migrate miscellaneous `fn_actions` entries (#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)

* Refactor Lily58 to use split_common (#6260)

* Refactor zinc to use split_common (#7114)

* Add a message if bin/qmk doesn't work (#9000)

* Fix conflicting types for 'tfp_printf' (#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)

* Refactor and updates to TKC1800 code (#8472)

* Switch to qmk forks for everything (#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)

* Audio enable corrections (2/3) (#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)

* Audio enable corrections (Part 4) (#8974)

* Fix typo from PR7114 (#9171)

* Augment future branch Changelogs (#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
2020-05-30 13:14:59 -07:00
..
ChangeLog
de Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
es
fr-fr Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
gitbook/images
he-il
ja
pt-br
ru-ru
zh-cn 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.nojekyll
_langs.md
_summary.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
adc_driver.md ARM - ADC cleanup (#8385) 2020-03-17 00:29:52 +00:00
api_development_environment.md Add API documentation 2020-03-05 16:00:10 -08:00
api_development_overview.md
api_docs.md
api_overview.md Add API documentation 2020-03-05 16:00:10 -08:00
arm_debugging.md
breaking_changes.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07: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 [CLI] Add a subcommand for getting information about a keyboard (#8666) 2020-05-26 13:05:41 -07: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
config_options.md Allow expanding from 8 to 32 RGB Lighting Layers (#8941) 2020-05-13 21:39:05 +01:00
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md
custom_matrix.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 2020-01-18 12:56:33 +11:00
custom_quantum_functions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
documentation_best_practices.md Fix up info boxes. 2018-05-07 22:46:26 -07:00
documentation_templates.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
driver_installation_zadig.md
eeprom_driver.md
faq_build.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
faq_debug.md
faq_general.md Rework the newbs guide around the qmk cli 2020-03-05 16:00:10 -08:00
faq_keymap.md make custom_keycode_names.md a faq entry instead 2020-03-05 16:00:10 -08:00
feature_advanced_keycodes.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
feature_audio.md
feature_auto_shift.md
feature_backlight.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_bluetooth.md Update feature_bluetooth.md (#7193) 2019-10-30 09:43:01 +11:00
feature_bootmagic.md
feature_combo.md Change "yu" to "you" in combo docs (#6510) 2019-08-08 18:10:16 +01:00
feature_command.md Update IS_COMMAND definitions to use MOD_MASK_SHIFT (#6348) 2019-07-20 13:21:40 -07:00
feature_debounce_type.md
feature_dip_switch.md Add Dip Switch as a core feature (#6140) 2019-09-03 08:34:31 -07:00
feature_dynamic_macros.md
feature_encoders.md
feature_grave_esc.md
feature_haptic_feedback.md Minor grammar and filename fixes in docs (#7559) 2019-12-07 23:19:18 +11:00
feature_hd44780.md
feature_key_lock.md
feature_layers.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_layouts.md Add a mechanism for force building a particular community layout (#5027) 2019-02-14 20:14:26 -08:00
feature_leader_key.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_led_matrix.md
feature_macros.md
feature_mouse_keys.md Decouple mouse cursor and mouse wheel in accelerated mode (#6685) 2020-03-13 12:49:44 -04:00
feature_oled_driver.md Adding OLED scroll setup functions (#8386) 2020-03-14 21:04:34 +00:00
feature_pointing_device.md
feature_ps2_mouse.md Add PS2_MOUSE_ROTATE to compensate for device orientation (#8650) 2020-04-09 01:29:27 -07:00
feature_rawhid.md Allow for overriding RAW endpoint usage page and ID. (#8834) 2020-05-21 20:31:42 +10:00
feature_rgb_matrix.md
feature_rgblight.md
feature_space_cadet.md
feature_split_keyboard.md
feature_stenography.md
feature_swap_hands.md
feature_tap_dance.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_terminal.md
feature_thermal_printer.md Format keycode tables 2017-12-09 10:46:11 -05:00
feature_unicode.md
feature_userspace.md
feature_velocikey.md
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md Reintegrate previous docker docs (#9084) 2020-05-19 21:54:55 -07:00
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 2020-01-18 12:56:33 +11: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
hardware_avr.md Remove apostrophe from various abbreviations' plural forms (#7050) 2019-10-22 13:47:43 +01:00
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md [Docs] added the description of the reading order of the rules.mk files. (#8566) 2020-03-29 13:00:47 -07:00
how_a_matrix_works.md refactor How a Matrix Works doc 2020-03-05 16:00:10 -08:00
how_keyboards_work.md
i2c_driver.md
index.html
internals_defines.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_gpio_control.md add 'togglePin' convenience function (#8734) 2020-04-29 04:04:29 -07:00
internals_input_callback_reg.md
internals_midi_device.md
internals_midi_device_setup_process.md
internals_midi_util.md
internals_send_functions.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_sysex_tools.md
isp_flashing_guide.md Improve stock bootloader list (#9067) 2020-05-13 19:32:43 -07:00
keycodes.md
keycodes_basic.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 [Docs] Restructure of Git Best Practices doc (#7231) 2019-12-02 18:47:02 -08:00
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md [Docs] Fix minor differences in docs/newbs_git_resynchronize_a_branch.md (#7728) 2019-12-27 14:31:23 -08:00
newbs_git_using_your_master_branch.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_learn_more_resources.md overhaul the newbs guide 2020-03-05 16:00:10 -08:00
newbs_testing_debugging.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
one_shot_keys.md
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
platformdev_chibios_earlyinit.md Add support for hardware and board initialisation overrides. (#8330) 2020-04-13 09:39:38 +10:00
power.txt
proton_c_conversion.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
README.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
redirects.json
ref_functions.md Fix a couple of typos that were causing confusion (#8767) 2020-04-12 16:22:59 +10:00
reference_configurator_support.md Polish Configurator section 2020-03-05 16:00:10 -08:00
reference_glossary.md
reference_info_json.md
reference_keymap_extras.md
serial_driver.md
spi_driver.md Add SPI master for ChibiOS/ARM. (#8779) 2020-04-29 14:01:20 +10:00
support.md
sw.js
syllabus.md
tap_hold.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07: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 PWM DMA based RGB Underglow for STM32 (#7928) 2020-03-01 13:05:56 +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.