qmk_firmware/docs
Yanfei Guo 17ae28f0e4
Fix doc for programmable buttons. (#22136)
Co-authored-by: Yanfei Guo <yguo@anl.gov>
2023-09-25 23:17:20 -07:00
..
ChangeLog Breaking changes changelog, 2023q3 version (#21848) 2023-08-29 21:15:21 +10:00
gitbook/images
internals
ja Consolidate `KEYBOARD_OUTPUT`+`KEYMAP_OUTPUT`=>`INTERMEDIATE_OUTPUT` (#21272) 2023-06-21 08:41:49 +10:00
zh-cn [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 2023-05-20 22:35:06 +10:00
.nojekyll
CNAME
README.md
_langs.md
_summary.md Move Digitizer to "Software Features" (#22031) 2023-09-17 08:11:32 +01:00
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
audio_driver.md
breaking_changes.md Breaking changes changelog, 2023q3 version (#21848) 2023-08-29 21:15:21 +10:00
breaking_changes_history.md Breaking changes changelog, 2023q3 version (#21848) 2023-08-29 21:15:21 +10:00
breaking_changes_instructions.md `develop` 2023q2 changelog (#21049) 2023-05-29 06:02:11 +10:00
chibios_upgrade_instructions.md Update branch names to reflect configurator's new deployment. (#19999) 2023-03-03 14:16:06 +11:00
cli.md
cli_commands.md `qmk find`: usability improvements (#20440) 2023-05-20 22:14:43 +10:00
cli_configuration.md
cli_development.md
cli_tab_complete.md
coding_conventions_c.md [Docs] Code markdown amendment (#21323) 2023-06-20 20:58:13 -06:00
coding_conventions_python.md
compatible_microcontrollers.md STM32H723 support (#21352) 2023-06-28 13:07:14 +10:00
config_options.md Bluetooth: driver naming cleanups (#21624) 2023-07-29 15:16:14 +10:00
configurator_architecture.md
configurator_default_keymaps.md Reallocate SAFE_RANGE (#19909) 2023-02-23 09:49:07 +11:00
configurator_diagram.drawio
configurator_diagram.svg
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md Breaking changes changelog, 2023q3 version (#21848) 2023-08-29 21:15:21 +10:00
custom_matrix.md Remove matrix_init_quantum/matrix_scan_quantum (#19806) 2023-02-11 03:47:17 +00:00
custom_quantum_functions.md [Doc] Add example to keyboard housekeeping and some minor fixes (#19968) 2023-03-15 16:55:18 -06:00
data_driven_config.md Consolidate `KEYBOARD_OUTPUT`+`KEYMAP_OUTPUT`=>`INTERMEDIATE_OUTPUT` (#21272) 2023-06-21 08:41:49 +10:00
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md
easy_maker.md
eeprom_driver.md
faq_build.md
faq_debug.md
faq_general.md
faq_keymap.md
faq_misc.md
feature_advanced_keycodes.md Update code example to match description (#20528) 2023-04-23 12:56:45 -06:00
feature_audio.md
feature_auto_shift.md Adds a way to separate tab from AUTO_SHIFT_SPECIAL. (#20996) 2023-07-07 21:52:24 +10:00
feature_autocorrect.md [Enhancement] More info on `apply_autocorrect` (#21056) 2023-07-08 00:13:15 +10:00
feature_backlight.md backlight: split AVR PWM and timer drivers (#21540) 2023-07-21 09:27:55 +10:00
feature_bluetooth.md Bluetooth: driver naming cleanups (#21624) 2023-07-29 15:16:14 +10:00
feature_bootmagic.md
feature_caps_word.md [Core] Caps Word "Invert on shift" option: pressing Shift inverts the shift state. (#20092) 2023-04-04 09:11:26 +10:00
feature_combo.md Keymap introspection for combos. (#19670) 2023-05-15 22:27:37 +10:00
feature_command.md
feature_converters.md Merge remote-tracking branch 'origin/master' into develop 2023-04-07 22:12:38 +00:00
feature_debounce_type.md Add debounce time description (#20333) 2023-04-04 12:15:00 +10:00
feature_digitizer.md
feature_dip_switch.md
feature_dynamic_macros.md Add direction to dynamic_macro_record_start_user (#19689) 2023-04-03 13:01:07 +10:00
feature_eeprom.md
feature_encoders.md Encodermap direction define. (#20454) 2023-04-15 16:18:44 +01:00
feature_grave_esc.md
feature_haptic_feedback.md haptic: further naming cleanups (#21682) 2023-08-04 01:16:16 +01:00
feature_hd44780.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
feature_joystick.md
feature_key_lock.md
feature_key_overrides.md [Feature] Send a dummy keycode to neutralize flashing modifiers in retro tap and key overrides (#20992) 2023-07-08 00:18:02 +10:00
feature_layers.md Changed interverts to inverts (#21270) 2023-07-03 17:01:10 +01:00
feature_layouts.md
feature_leader_key.md Refactor Leader key feature (#19632) 2023-02-13 03:19:02 +11:00
feature_led_indicators.md
feature_led_matrix.md Simplfy RGB/LED matrix effect logic (#21703) 2023-08-23 00:03:01 +01:00
feature_macros.md Corrected duration example, should be number not string (#21839) 2023-08-26 19:43:40 +01:00
feature_midi.md Merge remote-tracking branch 'origin/master' into develop 2023-02-08 02:21:22 +00:00
feature_mouse_keys.md Add MOUSEKEY_WHEEL_DELTA documentation (#21493) 2023-07-10 10:57:08 -07:00
feature_oled_driver.md Fix typo in oled_driver (#22134) 2023-09-25 20:40:27 +01:00
feature_os_detection.md
feature_pointing_device.md Make Pointing Device Auto Layer more configurable (#20061) 2023-05-06 06:38:45 -07:00
feature_programmable_button.md Fix doc for programmable buttons. (#22136) 2023-09-25 23:17:20 -07:00
feature_ps2_mouse.md Document the RP2040-specific PS/2 implementation (#22079) 2023-09-25 13:00:13 +10:00
feature_rawhid.md Raw HID: documentation improvements (#21596) 2023-07-25 09:20:41 +10:00
feature_repeat_key.md [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700) 2023-05-20 22:35:06 +10:00
feature_rgb_matrix.md RGB Matrix: driver naming cleanups (#21594) 2023-08-23 01:00:03 +01:00
feature_rgblight.md Revert "Update feature_rgblight.md" (#22132) 2023-09-25 11:50:35 +10:00
feature_secure.md
feature_send_string.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
feature_sequencer.md Align sequencer keycodes (#19875) 2023-02-18 15:44:36 +00:00
feature_space_cadet.md Use wayback machine for unreachable site (#20987) 2023-05-21 17:44:06 +01:00
feature_split_keyboard.md Sync activity timestamps between sides. (#20192) 2023-03-21 10:16:11 +01:00
feature_st7565.md
feature_stenography.md [Core] Refactor `keyevent_t` for 1ms timing resolution (#15847) 2023-04-03 18:33:45 +10:00
feature_swap_hands.md Add swap hands toggle functions (#20381) 2023-04-09 09:37:31 -07:00
feature_tap_dance.md On-each-release tap dance function (#20255) 2023-07-26 21:04:35 -07:00
feature_tri_layer.md [Core] Tri Layer Keys (#19795) 2023-02-12 10:23:07 +11:00
feature_unicode.md Unicode, Unicodemap and UCIS refactor (#21659) 2023-08-27 13:30:19 +10:00
feature_userspace.md
feature_velocikey.md
feature_wpm.md Fix typo in `feature_wpm.md` title (#20464) 2023-04-16 15:14:08 +01:00
flash_driver.md
flashing.md feat, docs: WB32 flashing (#21217) 2023-07-08 00:48:45 +10:00
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md Unicodemap keycodes rename (#21092) 2023-06-01 17:25:08 +01:00
gpio_control.md Fix functions with empty params (#19647) 2023-01-20 16:21:17 +00:00
hand_wire.md
hardware_drivers.md
hardware_keyboard_guidelines.md
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
index.html
isp_flashing_guide.md Adds Docs option for ArduinoIDE's example `ArduinoISP` (#20486) 2023-04-19 19:23:50 +01:00
keycodes.md Unicodemap keycodes rename (#21092) 2023-06-01 17:25:08 +01:00
keycodes_basic.md Move `KC_MISSION_CONTROL`/`KC_LAUNCHPAD` keycodes to core (#19884) 2023-02-19 18:59:50 +11:00
keycodes_magic.md Align magic keycodes (#19877) 2023-02-23 08:14:29 +11:00
keycodes_us_ansi_shifted.md
keymap.md [Docs] Change defines to enums in examples (#19793) 2023-02-10 02:39:35 -08:00
mod_tap.md Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211) 2023-04-03 15:32:47 +10:00
newbs.md
newbs_building_firmware.md
newbs_building_firmware_configurator.md Update newbs docs with some rp2040 stuff (#21186) 2023-06-10 15:56:43 +01:00
newbs_building_firmware_workflow.md [Docs] Highlight keymap name entry (#21138) 2023-06-05 23:17:39 -06:00
newbs_flashing.md Update newbs docs with some rp2040 stuff (#21186) 2023-06-10 15:56:43 +01:00
newbs_getting_started.md Add an emphasis on QMK MSYS terminal (#21168) 2023-06-08 10:10:30 +01:00
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md [Docs] Resynchronizing Your Branch including submodules (#19268) 2023-02-11 12:07:51 -07: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 Fix VS code live share extension link (#21585) 2023-07-23 09:07:17 +01:00
platformdev_blackpill_f4x1.md
platformdev_chibios_earlyinit.md
platformdev_proton_c.md
platformdev_rp2040.md Add rp2040_ce and add elite-pi and helios as alias (#19830) 2023-02-12 23:02:05 +00:00
platformdev_selecting_arm_mcu.md
porting_your_keyboard_to_qmk.md [Docs] Discuss layout macro (#19803) 2023-03-06 11:24:56 -08:00
power.txt
pr_checklist.md Add reminder about format-json to PR Checklist (#22055) 2023-09-23 01:18:11 -07:00
qmk.css
qmk_custom_dark.css [Docs] Improve contrast for warnings in dark mode (#21928) 2023-09-05 19:00:14 -07:00
qmk_custom_light.css
quantum_keycodes.md [Docs] Add note about `ENABLE_COMPILE_KEYCODE` to docs (#21290) 2023-06-19 19:55:27 -06:00
quantum_painter.md [Docs] Fix listed defaults in quantum painter docs (#21429) 2023-07-03 00:08:45 -07:00
quantum_painter_lvgl.md Fix functions with empty params (#19647) 2023-01-20 16:21:17 +00:00
quantum_painter_qff.md
quantum_painter_qgf.md
quantum_painter_rle.md
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md Breaking changes changelog, 2023q3 version (#21848) 2023-08-29 21:15:21 +10:00
reference_info_json.md Rework info.json reference (#21324) 2023-08-26 21:03:29 +01:00
reference_keymap_extras.md
serial_driver.md Fix serial_driver.md list item numbering (#19819) 2023-02-12 17:05:46 +00:00
spi_driver.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
squeezing_avr.md [Doc] Improve magic keycode section (#21787) 2023-08-22 21:52:52 -07:00
support.md
support_deprecation_policy.md Initial deprecation policy documentation. (#19908) 2023-03-03 14:16:32 +11:00
sw.js
syllabus.md
tap_hold.md [Feature] Send a dummy keycode to neutralize flashing modifiers in retro tap and key overrides (#20992) 2023-07-08 00:18:02 +10:00
translating.md
uart_driver.md Fix anchor IDs for some API references (#21345) 2023-06-24 17:44:50 +10:00
understanding_qmk.md Move `pre_process_record_kb()` before `process_combo()` (#20969) 2023-05-20 22:15:55 +10:00
unit_testing.md
usb_nkro.txt
ws2812_driver.md Migrate `rgblight.pin` and `RGB_DI_PIN` to `ws2812.pin` (#20303) 2023-04-06 18:00:54 +10:00

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.