qmk_firmware/docs
Drashna Jaelre 5117dff6a2
Add Post Processing to process_record (#4892)
* Improve process_record system

Code based on @colinta's

* Rename and better handle functions

* Fix incorrect function call to process_record_user

* Add documentation for post_process_record

* Add both get_event_keycode and get_record_keycode functions

And add some comments about these functions

* Update code format

* Cleanup merge artifacts
2020-03-23 00:29:05 +11:00
..
ChangeLog 2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
de Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
es Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
fr-fr Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
gitbook/images
he-il Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
ja [Docs] Trivial documentation fix (#8509) 2020-03-22 13:53:58 +11:00
pt-br Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
ru-ru Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
zh-cn Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
.nojekyll
_langs.md [Docs] add README translation in portuguese (#7016) 2019-12-10 10:19:12 -08:00
_summary.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11: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 Add API documentation 2020-03-05 16:00:10 -08:00
api_docs.md Add API documentation 2020-03-05 16:00:10 -08:00
api_overview.md Add API documentation 2020-03-05 16:00:10 -08:00
arm_debugging.md [Docs] fix docs (#7642) 2019-12-21 11:00:22 +00:00
breaking_changes.md Fix the Breaking Changes doc again 2020-02-29 20:46:48 -08:00
breaking_changes_instructions.md suggestions by skullydazed 2020-01-25 18:15:07 -08:00
cli.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
cli_commands.md Document 'make all:<name>' (#8439) 2020-03-16 14:27:19 +00:00
cli_configuration.md Fix some broken links in the docs (#8394) 2020-03-15 07:48:44 -07:00
cli_development.md Add flake8 to our test suite and fix all errors (#7379) 2019-11-20 14:54:18 -08:00
CNAME
coding_conventions_c.md Minor grammar and filename fixes in docs (#7559) 2019-12-07 23:19:18 +11:00
coding_conventions_python.md Add a note explaining how to run tests 2020-01-14 07:52:14 -08:00
compatible_microcontrollers.md [Doc] Tidy up compatible MCUs docs (#7295) 2019-11-08 18:34:25 -08:00
config_options.md Feature: RGBLight layers (#7768) 2020-03-10 12:50:01 -07:00
configurator_step_by_step.md Polish Configurator section 2020-03-05 16:00:10 -08:00
configurator_troubleshooting.md Polish Configurator section 2020-03-05 16:00:10 -08:00
contributing.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
custom_matrix.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 2020-01-18 12:56:33 +11:00
custom_quantum_functions.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
documentation_best_practices.md
documentation_templates.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
driver_installation_zadig.md Add a short explanation to Zadig the troubleshooting section (#7110) 2019-10-22 14:05:33 +11:00
eeprom_driver.md Add support for STM32L0/L1 onboard EEPROM. (#8002) 2020-03-12 12:59:55 +11:00
faq_build.md [Docs] Update macOS related issues in docs (#7744) 2019-12-31 14:33:54 +00:00
faq_debug.md [Docs] Remove some outdated FAQ items (#7607) 2019-12-11 11:33:09 -08:00
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 [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_audio.md Added keycodes for swapping and unswapping the Control and OS keys (#6110) 2019-08-21 17:07:08 -07:00
feature_auto_shift.md Smallish overhaul of Auto-Shift feature (#6067) 2019-11-03 09:52:01 -08:00
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 Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) 2020-03-21 23:10:39 +00:00
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 Update debounce docs (#7355) 2019-11-14 18:54:34 +00:00
feature_dip_switch.md Add Dip Switch as a core feature (#6140) 2019-09-03 08:34:31 -07:00
feature_dynamic_macros.md [Core] Convert Dynamic Macro to a Core Feature (#5948) 2019-11-04 22:59:13 -08:00
feature_encoders.md 2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
feature_grave_esc.md Document an annoyance with Grave Escape and macOS Terminal (#5483) 2019-03-24 17:11:26 -07:00
feature_haptic_feedback.md Minor grammar and filename fixes in docs (#7559) 2019-12-07 23:19:18 +11:00
feature_hd44780.md Remove build option firmware size impacts (#6947) 2019-10-18 18:14:49 -07:00
feature_key_lock.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_layers.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_layouts.md
feature_leader_key.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_led_matrix.md
feature_macros.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
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 [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_ps2_mouse.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_rgb_matrix.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_rgblight.md [Docs] Fixes for feature_rgblight.md (#8514) 2020-03-21 20:11:06 +00:00
feature_space_cadet.md Added mod carry over from press to release. (#5866) 2019-07-06 21:00:05 -07:00
feature_split_keyboard.md Reduce SPLIT_USB_TIMEOUT by 500ms (#7637) 2020-02-04 19:37:04 -08:00
feature_stenography.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
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 Remove build option firmware size impacts (#6947) 2019-10-18 18:14:49 -07:00
feature_thermal_printer.md
feature_unicode.md send_unicode_string(): Add support for code points > 0xFFFF (#8236) 2020-02-25 12:54:51 +11:00
feature_userspace.md Document 'make all:<name>' (#8439) 2020-03-16 14:27:19 +00:00
feature_velocikey.md Velocikey: Match RGB animation speed to typing speed (#3754) 2019-02-21 07:22:46 -08:00
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing.md update flashing.md 2020-03-05 16:00:10 -08:00
flashing_bootloadhid.md Install bootloadHid as part of qmk_install (#7463) 2019-11-28 15:29:11 +00:00
fuse.txt
getting_started_github.md Restore getting_started_github.md doc 2020-03-12 17:24:07 -07:00
getting_started_introduction.md [Docs] update git command and directory name of documents (#7619) 2019-12-12 20:59:00 -08:00
getting_started_make_guide.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 2020-01-18 12:56:33 +11:00
getting_started_vagrant.md [Docs] Update getting_started_vagrant.md (#7203) 2019-10-30 11:53:48 -07:00
hand_wire.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
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 Fixed typos in documentation (#6871) 2019-10-02 16:41:32 -04:00
how_a_matrix_works.md refactor How a Matrix Works doc 2020-03-05 16:00:10 -08:00
how_keyboards_work.md Update URL for 60-keyboard.hwdb (#7185) 2019-10-28 02:41:22 +00:00
i2c_driver.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
index.html Fix some broken links in the docs (#8394) 2020-03-15 07:48:44 -07:00
internals_defines.md
internals_gpio_control.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -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
internals_sysex_tools.md
isp_flashing_guide.md [Docs] Update ISP Flashing guide (#8149) 2020-03-01 22:29:26 -08:00
keycodes.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
keycodes_basic.md Remove obsolete note about media keys in MacOS (#6631) 2019-10-30 10:39:38 +11:00
keycodes_us_ansi_shifted.md Backslash-escape pipe character in keycode lists (#7157) 2019-10-26 06:10:03 +01:00
keymap.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
mod_tap.md break feature_advanced_keycodes.md up into multiple files 2020-03-05 16:00:10 -08:00
newbs.md overhaul the newbs guide 2020-03-05 16:00:10 -08:00
newbs_building_firmware.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_building_firmware_configurator.md Polish Configurator section 2020-03-05 16:00:10 -08:00
newbs_flashing.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_getting_started.md Update newbs installation procedure for MSYS2 (#8423) 2020-03-21 19:00:44 +11:00
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 [Docs] Restructure of Git Best Practices doc (#7231) 2019-12-02 18:47:02 -08:00
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 break feature_advanced_keycodes.md up into multiple files 2020-03-05 16:00:10 -08:00
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md [Docs] Add VSCode guide to docs (#5124) 2019-03-15 14:34:58 -07:00
power.txt
proton_c_conversion.md Update feature support for Proton C (#7596) 2019-12-10 18:31:39 -05:00
qmk.css
qmk_custom_dark.css Fix darkmode (#8393) 2020-03-12 18:17:47 +11:00
qmk_custom_light.css Fix darkmode (#8393) 2020-03-12 18:17:47 +11:00
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 Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
ref_functions.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
reference_configurator_support.md Polish Configurator section 2020-03-05 16:00:10 -08:00
reference_glossary.md Remove apostrophe from various abbreviations' plural forms (#7050) 2019-10-22 13:47:43 +01:00
reference_info_json.md
support.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
sw.js
tap_hold.md Correct typo in tap_hold.md (#8326) 2020-03-07 05:42:08 +11:00
translating.md Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) 2019-11-28 22:14:04 +00:00
understanding_qmk.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
unit_testing.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08: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.