qmk_firmware/docs
Joshua Diamond 9a4618b05b
Address wake from sleep instability (#11450)
* resolve race condition between suspend and wake in LUFA

* avoid multiple calls to suspend_power_down() / suspend_wakeup_init()

* Remove duplicate suspend_power_down_kb() call

* pause on wakeup to wait for USB state to settle

* need the repeated suspend_power_down() (that's where the sleep is)

* more efficient implementation

* fine tune the pause after sending wakeup

* speculative chibios version of pause-after-wake

* make wakeup delay configurable, and adjust value

* better location for wakeup delay
2021-02-02 11:12:41 +11:00
..
ChangeLog Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
de [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
es [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
fr-fr [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
gitbook/images
he-il [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
ja Merge remote-tracking branch 'origin/master' into develop 2021-02-01 03:52:18 +00:00
ko-kr [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
pt-br [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
ru-ru [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
zh-cn [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
.nojekyll Use docsfy to replace gitbook 2018-05-07 22:46:26 -07:00
_langs.md [Docs] add README translation in portuguese (#7016) 2019-12-10 10:19:12 -08:00
_summary.md UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
adc_driver.md Change analogRead calls to analogReadPin (#9023) 2020-08-29 14:30:02 -07: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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
arm_debugging.md [Docs] fix docs (#7642) 2019-12-21 11:00:22 +00:00
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 Create CNAME 2018-05-21 16:29:37 -04:00
coding_conventions_c.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
coding_conventions_python.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
compatible_microcontrollers.md Merge remote-tracking branch 'origin/master' into develop 2021-01-30 11:01:46 +00:00
config_options.md Address wake from sleep instability (#11450) 2021-02-02 11:12:41 +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 Polish Configurator section 2020-03-05 16:00:10 -08:00
contributing.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
custom_matrix.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 2020-01-18 12:56:33 +11:00
custom_quantum_functions.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
data_driven_config.md Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
faq_debug.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
faq_keymap.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
faq_misc.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_advanced_keycodes.md Doc followup 9942 (#10473) 2020-10-01 22:19:57 +01: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 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_backlight.md Adds AT90USB162 support (#11570) 2021-01-29 19:53:56 -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 Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) 2020-03-21 23:10:39 +00:00
feature_combo.md changed type of process_combo_event argument in tutorial (#10621) 2020-10-13 02:14:37 +11: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 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 Document an annoyance with Grave Escape and macOS Terminal (#5483) 2019-03-24 17:11:26 -07:00
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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
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 Add a mechanism for force building a particular community layout (#5027) 2019-02-14 20:14:26 -08:00
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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_macros.md Remove unused action_get_macro() usages in user files (#11165) 2021-01-11 01:25:45 -08:00
feature_mouse_keys.md Add support for 8 buttons to mouse report (#10807) 2021-01-28 04:38:34 +11:00
feature_oled_driver.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_pointing_device.md Add support for 8 buttons to mouse report (#10807) 2021-01-28 04:38:34 +11:00
feature_ps2_mouse.md fix(feature_ps2_mouse): fix Scroll Button example (#11669) 2021-01-24 14:51:25 +00: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 Merge remote-tracking branch 'origin/master' into develop 2021-01-30 11:01:46 +00:00
feature_rgblight.md Merge remote-tracking branch 'upstream/master' into develop 2021-01-28 10:52:59 +11: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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_split_keyboard.md Add modifier state to the split keyboard transport (#10400) 2020-12-17 16:21:26 +11:00
feature_stenography.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +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 Remove build option firmware size impacts (#6947) 2019-10-18 18:14:49 -07:00
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 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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
flashing_bootloadhid.md Install bootloadHid as part of qmk_install (#7463) 2019-11-28 15:29:11 +00:00
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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11: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 Update docs/getting_started_make_guide.md (#11373) 2021-01-24 15:15:11 +09:00
getting_started_vagrant.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
hand_wire.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
hardware_avr.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
how_keyboards_work.md Update URL for 60-keyboard.hwdb (#7185) 2019-10-28 02:41:22 +00:00
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 rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_gpio_control.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
internals_input_callback_reg.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_midi_device.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_midi_device_setup_process.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_midi_util.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_send_functions.md rename api docs to internals 2018-03-26 11:43:37 -07:00
internals_sysex_tools.md rename api docs to internals 2018-03-26 11:43:37 -07:00
isp_flashing_guide.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
keycodes.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
keycodes_basic.md Update keycode docs (#11343) 2020-12-30 07:51:36 +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 [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
newbs.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11: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 Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_flashing.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_getting_started.md [Docs] add qmk setup home parameter (#11451) 2021-01-28 04:39:58 +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 Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
one_shot_keys.md Update one_shot_keys.md (#10917) 2020-11-18 21:31:21 +00:00
other_eclipse.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
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 Add board specific to Proton-C, with usual defaults turned on. (#10976) 2020-12-03 13:04:28 +11:00
qmk.css Some more tweaks to make everything look nice 2018-05-07 23:42:41 -07:00
qmk_custom_dark.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
quantum_keycodes.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
README.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
redirects.json Configuration system for CLI (#6708) 2019-09-22 13:25:33 -07:00
ref_functions.md [Docs] Clarify functionality of update_tri_layer_state (#10370) 2020-09-21 11:35:26 -07:00
reference_configurator_support.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
reference_glossary.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
reference_info_json.md Merge remote-tracking branch 'origin/master' into develop 2021-01-30 11:01:46 +00:00
reference_keymap_extras.md Improved Language Specific Keycodes for US International and Extended Layouts (#11307) 2021-01-02 15:54:48 +11:00
serial_driver.md Configurable serial usart timeout (#11057) 2020-11-30 03:29:35 -08:00
spi_driver.md Adds AT90USB162 support (#11570) 2021-01-29 19:53:56 -08:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
sw.js Fix up info boxes. 2018-05-07 22:46:26 -07:00
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 Add yet another dictionary for the QMK Firmware docs sidebar heading (#7504) 2019-11-28 22:14:04 +00:00
uart_driver.md UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
understanding_qmk.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
unit_testing.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11: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

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.