qmk_firmware/docs
Nick Brassel 8946aace5b
Add instructions for debugging ARM with VSCode+BMP. (#11217)
2024-03-08 22:24:11 +11:00
..
ChangeLog 2024q1 `develop` changelog. (#23150) 2024-02-28 21:39:19 +11:00
gitbook/images
internals
ja Removal of bootmagic lite terminology (#22979) 2024-02-17 12:27:34 +00:00
zh-cn Move velocikey to within rgblight (#22123) 2023-09-25 17:48:10 +01:00
.nojekyll
CNAME
README.md
_langs.md
_summary.md 2024q1 `develop` changelog. (#23150) 2024-02-28 21:39:19 +11:00
adc_driver.md Generalise ADC driver source inclusion (#22448) 2023-11-12 22:30:27 +00:00
apa102_driver.md Update WS2812 docs and add APA102 docs (#22106) 2023-09-25 14:18:40 +10:00
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
audio_driver.md [Audio] Enable Complementary output for PWM Hardware driver (#22726) 2023-12-21 19:38:59 -08:00
breaking_changes.md 2024q1 `develop` changelog. (#23150) 2024-02-28 21:39:19 +11:00
breaking_changes_history.md 2024q1 `develop` changelog. (#23150) 2024-02-28 21:39:19 +11:00
breaking_changes_instructions.md `develop` 2023q2 changelog (#21049) 2023-05-29 06:02:11 +10:00
chibios_upgrade_instructions.md
cli.md Give definition of 'CLI' for new users (#22647) 2023-12-13 02:25:55 +00:00
cli_commands.md [documentation] QMK migrate docs patch (#22646) 2023-12-12 09:46:00 -07:00
cli_configuration.md
cli_development.md Fix minimum python version references (#22191) 2023-10-04 01:19:04 +01:00
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 Fix minimum python version references (#22191) 2023-10-04 01:19:04 +01:00
compatible_microcontrollers.md STM32H723 support (#21352) 2023-06-28 13:07:14 +10:00
config_options.md Align `SPLIT_HAND_MATRIX_GRID` left/right logic with `SPLIT_HAND_PIN` (#22775) 2024-01-09 22:24:53 +11:00
configurator_architecture.md
configurator_default_keymaps.md
configurator_diagram.drawio
configurator_diagram.svg
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md Documentation regarding user code removal/acceptance (#22507) 2023-12-04 00:57:42 +00:00
custom_matrix.md
custom_quantum_functions.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11: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 Update Atmel DFU driver assignments for dfu-programmer 1.x (#23165) 2024-02-28 21:03:43 +11:00
easy_maker.md
eeprom_driver.md Consolidate some EEPROM Driver configuration (#22321) 2023-10-23 00:37:27 +01:00
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 Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) 2023-09-25 12:45:49 +10:00
feature_autocorrect.md [Enhancement] More info on `apply_autocorrect` (#21056) 2023-07-08 00:13:15 +10:00
feature_backlight.md Move BACKLIGHT_PWM_PERIOD to correct docs section (#22480) 2023-11-22 11:41:19 +11:00
feature_bluetooth.md Bluetooth: driver naming cleanups (#21624) 2023-07-29 15:16:14 +10:00
feature_bootmagic.md Removal of bootmagic lite terminology (#22979) 2024-02-17 12:27:34 +00:00
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 Fix double code indenting (#23117) 2024-02-20 00:45:25 +00:00
feature_command.md
feature_converters.md Add Imera converter (#22419) 2023-11-28 17:53:47 +11: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 Keymap introspection for Dip Switches (#22543) 2023-12-11 23:06:18 +00:00
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 [Doc] Use number indexes for encoder code example (#22980) 2024-01-29 19:28:23 +00: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 Fix joystick initialization (#22953) 2024-02-17 01:14:46 +11:00
feature_key_lock.md
feature_key_overrides.md Fix typos: key-modifer→key-modifier and interacton→interaction (#22464) 2023-11-13 20:55:45 +00:00
feature_layers.md Changed interverts to inverts (#21270) 2023-07-03 17:01:10 +01:00
feature_layouts.md
feature_leader_key.md
feature_led_indicators.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
feature_led_matrix.md LED drivers: update PWM register defines for `g_<driver>_leds` (#23052) 2024-02-12 02:19:45 +00:00
feature_macros.md Add latam spanish headers (#22542) 2023-12-04 00:13:27 +00:00
feature_midi.md
feature_mouse_keys.md Add MOUSEKEY_WHEEL_DELTA documentation (#21493) 2023-07-10 10:57:08 -07:00
feature_oled_driver.md [Doc]: Correct Markdown syntax errors. (#22511) 2023-11-29 02:48:47 +00:00
feature_os_detection.md [Core] Add OS detection callbacks (#21777) 2024-02-17 01:19:02 +11:00
feature_pointing_device.md Cirque reachable calibration aide (#22803) 2024-01-13 00:28:09 -08: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 add pywinusb lib to list of example libs for HID (#22747) 2024-01-09 22:13:51 +11: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 LED drivers: update PWM register defines for `g_<driver>_leds` (#23052) 2024-02-12 02:19:45 +00:00
feature_rgblight.md Rename `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` (#22570) 2023-12-12 15:30:08 +11: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
feature_space_cadet.md Use wayback machine for unreachable site (#20987) 2023-05-21 17:44:06 +01:00
feature_split_keyboard.md Align `SPLIT_HAND_MATRIX_GRID` left/right logic with `SPLIT_HAND_PIN` (#22775) 2024-01-09 22:24:53 +11:00
feature_st7565.md
feature_stenography.md Remove requirement for `keymap_steno.h` include in keymaps (#22423) 2023-11-12 18:25:46 +11:00
feature_swap_hands.md Add swap hands toggle functions (#20381) 2023-04-09 09:37:31 -07:00
feature_tap_dance.md Align location of tap dance keycode (#22742) 2023-12-24 06:52:41 +00:00
feature_tri_layer.md Fix typo in `docs/feature_tri_layer.md` (#22232) 2023-10-09 09:37:21 +01:00
feature_unicode.md Fix old usage of UNICODE_MODE_MAC (#22238) 2023-10-09 23:16:54 +01:00
feature_userspace.md Documentation regarding user code removal/acceptance (#22507) 2023-12-04 00:57:42 +00:00
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 Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11:00
hand_wire.md
hardware_drivers.md
hardware_keyboard_guidelines.md Rename `RGBLED_NUM` -> `RGBLIGHT_LED_COUNT` (#22570) 2023-12-12 15:30:08 +11:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md Update naming convention for GPIO control macros (#23085) 2024-02-17 00:18:26 +11: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
keycodes_magic.md
keycodes_us_ansi_shifted.md
keymap.md Update keymap.md (#22834) 2024-01-06 12:06:14 +11: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 [Doc]: Correct Markdown syntax errors. (#22511) 2023-11-29 02:48:47 +00:00
newbs_external_userspace.md QMK Userspace (#22222) 2023-11-28 07:53:43 +11:00
newbs_flashing.md Update newbs docs with some rp2040 stuff (#21186) 2023-06-10 15:56:43 +01:00
newbs_getting_started.md Remove rosetta instructions for Apple Silicon (#22174) 2023-09-30 22:33:57 -07: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
one_shot_keys.md
other_eclipse.md
other_vscode.md Add instructions for debugging ARM with VSCode+BMP. (#11217) 2024-03-08 22:24:11 +11:00
platformdev_blackpill_f4x1.md
platformdev_chibios_earlyinit.md
platformdev_proton_c.md
platformdev_rp2040.md [Core] Allow ChibiOS `SIO` driver for `UART` driver (#22839) 2024-02-20 11:34:24 +01:00
platformdev_selecting_arm_mcu.md
porting_your_keyboard_to_qmk.md
power.txt
pr_checklist.md [docs] - reword PR checklist for vendor keymaps/userspace changes (#22725) 2023-12-21 12:30:55 +00: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 [Driver] ILI9486 on Quantum Painter (#18521) 2024-02-17 18:36:05 +11:00
quantum_painter_lvgl.md Lvgl rate control (#22049) 2023-09-17 14:25:14 +10: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 Add RGB matrix & LED Matrix support for IS31FL3729 (#21944) 2024-02-17 01:41:35 +11:00
reference_keymap_extras.md Add Canadian French input locale (#21456) 2024-01-09 22:11:59 +11:00
serial_driver.md Clarify PIO define is optional in docs. (#22339) 2023-10-26 22:34:17 +01:00
spi_driver.md Dedupe I2C, SPI, UART driver inclusions (#22253) 2023-10-13 17:25:32 +11:00
squeezing_avr.md Add Imera converter (#22419) 2023-11-28 17:53:47 +11:00
support.md
support_deprecation_policy.md
sw.js
syllabus.md
tap_hold.md Fixed non-executable codes in the documentation (#22600) 2023-12-05 11:06:06 -08:00
translating.md
uart_driver.md [Core] Allow ChibiOS `SIO` driver for `UART` driver (#22839) 2024-02-20 11:34:24 +01:00
understanding_qmk.md Move `pre_process_record_kb()` before `process_combo()` (#20969) 2023-05-20 22:15:55 +10:00
unit_testing.md Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases (#15889) 2023-09-25 12:45:49 +10:00
usb_nkro.txt
ws2812_driver.md Clarify PIO define is optional in docs. (#22339) 2023-10-26 22:34:17 +01: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.