qmk_firmware/docs
Stefan Kerkmann 117bff17ba
[Core] Unite half-duplex and full-duplex serial drivers (#13081)
* Unite half-duplex and full-duplex serial driver.

* Add full duplex operation mode to the interrupt based driver
* Delete DMA UART based full duplex driver
* The new driver targets #11930

* Fix freezes with failing transactions in half-duplex

* Increase default serial TX/RX buffer size to 128 bytes

* Correctly use bool instead of size_t

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-07-02 08:24:08 +10:00
..
ChangeLog 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
de
es
fr-fr Cleanup junk characters, part 1 (#13282) 2021-06-21 11:29:15 +01:00
gitbook/images
he-il
ja Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
ko-kr
pt-br
ru-ru
zh-cn
.nojekyll
_langs.md
_summary.md Add ST7565 LCD driver (#13089) 2021-06-10 17:16:09 +10:00
adc_driver.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
audio_driver.md
breaking_changes.md Merge remote-tracking branch 'upstream/master' into develop 2021-06-20 12:10:59 +10:00
breaking_changes_history.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
breaking_changes_instructions.md
chibios_upgrade_instructions.md Update ChibiOS, ChibiOS-Contrib. (#13056) 2021-06-01 08:11:50 +10:00
cli.md
cli_commands.md Move RGBLight code into its own folder (#13312) 2021-06-28 15:15:24 +10:00
cli_configuration.md
cli_development.md
cli_tab_complete.md Add support for tab completion (#12411) 2021-04-14 19:00:22 -07:00
CNAME
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md Adds support for STM32L412xB, STM32L422xB. (#13383) 2021-06-30 10:07:40 +10:00
config_options.md Extensible split data sync (#11930) 2021-06-18 09:10:06 +10:00
configurator_default_keymaps.md
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md Use single memcmp to determine if matrix changed. (#13064) 2021-06-09 17:19:42 +10:00
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md
eeprom_driver.md eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. (#12617) 2021-06-21 19:34:28 -07:00
faq_build.md
faq_debug.md
faq_general.md
faq_keymap.md
faq_misc.md
feature_advanced_keycodes.md Additional documentation for GUI mod combo (#13266) 2021-06-22 12:41:57 +10:00
feature_audio.md Document user song list file (#13101) 2021-06-15 22:31:06 -07:00
feature_auto_shift.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_backlight.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_bluetooth.md
feature_bootmagic.md
feature_combo.md
feature_command.md
feature_debounce_type.md Add asym_eager_defer_pk debounce type (#12689) 2021-06-16 14:00:37 +10:00
feature_dip_switch.md Convert Dip Switch callbacks to boolean functions (#13399) 2021-07-01 08:22:21 -07:00
feature_dynamic_macros.md
feature_encoders.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_grave_esc.md
feature_haptic_feedback.md Add Per Key exclusions for Haptic Feedback (#12386) 2021-06-19 19:28:54 -07:00
feature_hd44780.md
feature_joystick.md
feature_key_lock.md
feature_layers.md Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation (#12306) 2021-03-25 22:44:28 +11:00
feature_layouts.md
feature_leader_key.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_led_indicators.md
feature_led_matrix.md Top level heading for common config (LED Matrix) (#13153) 2021-06-15 22:07:24 -07:00
feature_macros.md
feature_midi.md [Docs] added basic midi documention of common features (#13113) 2021-06-06 23:53:20 -07:00
feature_mouse_keys.md
feature_oled_driver.md Add oled_invert (#13172) 2021-06-19 01:08:22 +10:00
feature_pointing_device.md
feature_ps2_mouse.md
feature_rawhid.md
feature_rgb_matrix.md Relocate RGB/HSV color defs to a more fitting place (#13377) 2021-06-29 19:15:58 +01:00
feature_rgblight.md Relocate RGB/HSV color defs to a more fitting place (#13377) 2021-06-29 19:15:58 +01:00
feature_sequencer.md
feature_space_cadet.md
feature_split_keyboard.md Extensible split data sync (#11930) 2021-06-18 09:10:06 +10:00
feature_st7565.md ST7565 invert (#13237) 2021-06-19 18:51:35 +10:00
feature_stenography.md
feature_swap_hands.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_tap_dance.md More Tap Dance docs improvements (#12358) 2021-03-24 19:46:22 +00:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_userspace.md
feature_velocikey.md
feature_wpm.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
flashing.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md Documentation update (#12484) 2021-04-11 12:49:12 +02:00
getting_started_vagrant.md
hand_wire.md
hardware_avr.md
hardware_drivers.md
hardware_keyboard_guidelines.md
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md
index.html
internals_defines.md
internals_gpio_control.md
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
keycodes.md Add Mac centric Shift and Alt + GUI Macros (#13107) 2021-06-19 19:14:19 -07:00
keycodes_basic.md
keycodes_us_ansi_shifted.md
keymap.md
mod_tap.md Add Mac centric Shift and Alt + GUI Macros (#13107) 2021-06-19 19:14:19 -07:00
newbs.md
newbs_building_firmware.md
newbs_building_firmware_configurator.md
newbs_flashing.md A few small typo fixes in docs (#12524) 2021-04-11 12:50:45 +02:00
newbs_getting_started.md Update FreeBSD install method (#12815) 2021-05-07 19:22:05 +02: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 [Docs] Update one_shot_keys.md (#12291) 2021-06-15 20:35:31 -07:00
other_eclipse.md eclipse: recommend changing the default project make target (#12447) 2021-04-19 02:20:17 -07:00
other_vscode.md
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md [Docs] pr_checklist: fix capitalization of Vial (#13301) 2021-06-22 17:45:13 -07:00
proton_c_conversion.md
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md
README.md
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md
reference_info_json.md
reference_keymap_extras.md
serial_driver.md [Core] Unite half-duplex and full-duplex serial drivers (#13081) 2021-07-02 08:24:08 +10:00
spi_driver.md
support.md
sw.js
syllabus.md
tap_hold.md
translating.md
uart_driver.md
understanding_qmk.md
unit_testing.md
usb_nkro.txt
ws2812_driver.md Fix up WS2812 SPI driver on F072. (#13022) 2021-06-03 09:48:16 +10: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.