qmk_firmware/docs
Stefan Kerkmann e50867d52d
[Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)
* Add support for RISC-V builds and GD32VF103 MCU

* Add toolchain selection in chibios.mk based on the mcu selected in
mcu_selection.mk
* Reorder and added comments to chibios.mk to have a streamlined makefile
* Add GD32VF103 mcu to possible targets for QMK.
* Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent
  then rewriting every driver.
* Add GigaDevice DFU bootloader as flash target, please note that
  dfu-util of at least version 0.10 is needed.
* Add analog driver compatibility
* Add apa102 bitbang driver compatibility
* Add ws2812 bitbang driver compatibility
* Add eeprom in flash emulation compatibility
* Allow faster re-builds with ccache

* Add SiPeed Longan Nano to platform files

* Add SiPeed Longan Nano Onekeys

* Make quine compatible with other bootloaders

* Support builds with picolibc

* Add risc-v toolchain to arch and debian/ubuntu scripts
2021-10-18 16:23:20 +11:00
..
ChangeLog Bootmagic lite docs clarity. (#14204) 2021-08-29 09:47:48 +10:00
de Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
es Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
fr-fr Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
gitbook/images
he-il Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
ja Merge remote-tracking branch 'origin/master' into develop 2021-10-16 08:31:35 +00:00
ko-kr [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
pt-br [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
ru-ru Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
zh-cn Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
.nojekyll
_langs.md [Docs] add README translation in portuguese (#7016) 2019-12-10 10:19:12 -08:00
_summary.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
audio_driver.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
breaking_changes.md 2021Q3 pre-merge develop changelog, keyboard aliases (#14198) 2021-08-29 08:18:18 +10:00
breaking_changes_history.md 2021Q3 pre-merge develop changelog, keyboard aliases (#14198) 2021-08-29 08:18:18 +10:00
breaking_changes_instructions.md
chibios_upgrade_instructions.md
cli.md
cli_commands.md New CLI subcommand to create clang-compatible compilation database (compile_commands.json) (#14370) 2021-09-16 14:59:57 +10:00
cli_configuration.md
cli_development.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
cli_tab_complete.md
CNAME
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508) 2021-10-18 16:23:20 +11:00
config_options.md [Core] Fix "6kro enable" and clarify naming (#14563) 2021-09-29 11:37:11 -07:00
configurator_architecture.md Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_default_keymaps.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
configurator_diagram.drawio Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_diagram.svg Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
custom_matrix.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
custom_quantum_functions.md [Docs] update suspend_*_user examples (#14542) 2021-09-21 16:40:19 -07:00
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508) 2021-10-18 16:23:20 +11:00
easy_maker.md [Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321) 2021-08-14 08:42:59 -07:00
eeprom_driver.md
faq_build.md
faq_debug.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
faq_general.md
faq_keymap.md [Docs] Update path to keycode.h (#14263) 2021-09-01 20:40:12 -07:00
faq_misc.md Remove sysex API (#14723) 2021-10-06 19:34:46 +11:00
feature_advanced_keycodes.md
feature_audio.md Fixup Audio startup and add to documents (#13606) 2021-08-15 21:51:50 +01:00
feature_auto_shift.md
feature_backlight.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_bluetooth.md Improve Adafruit BLE configuration defines (#14749) 2021-10-08 16:15:20 +01:00
feature_bootmagic.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
feature_combo.md Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
feature_command.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
feature_debounce_type.md Remove backwards compatibility of debounce names (#13877) 2021-08-09 19:46:18 +01:00
feature_digitizer.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_dip_switch.md Added right vs left specific pin assignments for dip switch (#13074) 2021-08-19 18:39:15 +01:00
feature_dynamic_macros.md
feature_encoders.md [Docs] Modify encoder_update_user example to return false (#14541) 2021-09-21 07:52:57 -07:00
feature_grave_esc.md
feature_haptic_feedback.md Add LM() keys to the list of keys disabled by NO_HAPTIC_MOD (#14181) 2021-10-03 12:02:05 -07:00
feature_hd44780.md
feature_joystick.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_key_lock.md
feature_key_overrides.md Documentation: Fix links in key overrides (#14228) 2021-08-31 09:13:19 +10:00
feature_layers.md
feature_layouts.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_leader_key.md
feature_led_indicators.md [Docs] add sync options heading, update led indicators (#14441) 2021-09-15 10:11:25 -07:00
feature_led_matrix.md [Docs] fix wrong directory for RGB Matrix animations (#14494) 2021-09-19 11:53:22 -07:00
feature_macros.md
feature_midi.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_mouse_keys.md
feature_oled_driver.md [Docs] fixed incorrect amount of steps for oled usage (#13519) 2021-09-14 21:12:37 -07:00
feature_pointing_device.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_programmable_button.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
feature_ps2_mouse.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rawhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rgb_matrix.md Merge remote-tracking branch 'upstream/master' into develop 2021-09-20 16:58:29 +10:00
feature_rgblight.md Retain brightness with lighting layers (#13025) 2021-07-21 23:46:12 -07:00
feature_sequencer.md
feature_space_cadet.md
feature_split_keyboard.md [Docs] add sync options heading, update led indicators (#14441) 2021-09-15 10:11:25 -07:00
feature_st7565.md
feature_stenography.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_swap_hands.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_tap_dance.md Fix link from feature_tap_dance.md to tapping term settings (#14741) 2021-10-07 21:03:21 +01:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md
feature_userspace.md Enable CLI flashing via mdloader (#14729) 2021-10-15 22:07:33 +01:00
feature_velocikey.md Highlight keycode (#14317) 2021-09-05 20:36:16 +01:00
feature_wpm.md Update feature_wpm.md (#13936) 2021-08-10 10:14:14 +01:00
flashing.md Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
flashing_bootloadhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
fuse.txt
getting_started_docker.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
getting_started_github.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
getting_started_introduction.md
getting_started_make_guide.md Remove sysex API (#14723) 2021-10-06 19:34:46 +11:00
getting_started_vagrant.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
hand_wire.md [Docs] Added information on soldering diodes in parallel (#13117) 2021-07-29 22:56:27 -07:00
hardware_avr.md Port new_keyboard.sh to CLI (#13706) 2021-07-30 21:57:40 +01:00
hardware_drivers.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
hardware_keyboard_guidelines.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
how_a_matrix_works.md
how_keyboards_work.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
i2c_driver.md i2c_master: Add support for reading/writing to 16-bit registers (#14289) 2021-10-07 10:29:35 +11:00
index.html
internals_defines.md
internals_gpio_control.md Update documentation because GPIO functions are no longer in quantum.h (#14826) 2021-10-16 01:43:03 +01: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
keycodes.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
keycodes_basic.md
keycodes_magic.md Add a toggle key for GUI On/Off in Magic feature (#13830) 2021-08-18 08:47:50 +10:00
keycodes_us_ansi_shifted.md
keymap.md
mod_tap.md Document examples on intercepting Mod-Tap (#14502) 2021-10-04 16:21:02 -07:00
newbs.md
newbs_building_firmware.md
newbs_building_firmware_configurator.md
newbs_flashing.md
newbs_getting_started.md
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
newbs_git_using_your_master_branch.md
newbs_learn_more_resources.md
newbs_testing_debugging.md
one_shot_keys.md fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754) 2021-07-28 12:00:55 +01:00
other_eclipse.md
other_vscode.md [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md More PR checklist updates (#14705) 2021-10-06 06:46:36 +11: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 Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
reference_configurator_support.md Remove references to info.json width and height in CLI (#13728) 2021-07-29 22:37:18 -07:00
reference_glossary.md Fix Space Cadet md link (#14300) 2021-09-04 15:01:56 +01:00
reference_info_json.md [Docs] Clean up reference_info_json.md (#14806) 2021-10-15 12:45:33 +11:00
reference_keymap_extras.md Rework keymap_extras docs (#13949) 2021-08-15 00:18:20 +10:00
serial_driver.md Make solo half of split keyboards (more) usable. (#13523) 2021-08-22 10:51:17 +10:00
spi_driver.md
support.md
sw.js
syllabus.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
tap_hold.md Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404) 2021-08-07 09:16:26 +10:00
translating.md
uart_driver.md
understanding_qmk.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
unit_testing.md Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
usb_nkro.txt
ws2812_driver.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.