qmk_firmware/docs
James Young c66df16644
2020 November 28 Breaking Changes Update (#11053)
* Branch point for 2020 November 28 Breaking Change                                                

* Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)                                           

* Add support for soft serial to ATmega32U2 (#10204)                                               

* Change MIDI velocity implementation to allow direct control of velocity value (#9940)            

* Add ability to build a subset of all keyboards based on platform.                                

* Actually use eeprom_driver_init().                                                               

* Make bootloader_jump weak for ChibiOS. (#10417)                                                  

* Joystick 16-bit support (#10439)                                                                 

* Per-encoder resolutions (#10259)                                                                 

* Share button state from mousekey to pointing_device (#10179)                                     

* Add hotfix for chibios keyboards not wake (#10088)                                               

* Add advanced/efficient RGB Matrix Indicators (#8564)                                             

* Naming change.                                                                                   

* Support for STM32 GPIOF,G,H,I,J,K (#10206)                                                       

* Add milc as a dependency and remove the installed milc (#10563)                                  

* ChibiOS upgrade: early init conversions (#10214)                                                 

* ChibiOS upgrade: configuration file migrator (#9952)                                             

* Haptic and solenoid cleanup (#9700)                                                              

* XD75 cleanup (#10524)                                                                            

* OLED display update interval support (#10388)                                                    

* Add definition based on currently-selected serial driver. (#10716)                               

* New feature: Retro Tapping per key (#10622)                                                      

* Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)             

* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530)

* Rescale both ChibiOS and AVR backlighting.                                                       

* Reduce Helix keyboard build variation (#8669)                                                    

* Minor change to behavior allowing display updates to continue between task ticks (#10750)        

* Some GPIO manipulations in matrix.c change to atomic. (#10491)                                   

* qmk cformat (#10767)                                                                             

* [Keyboard] Update the Speedo firmware for v3.0 (#10657)                                          

* Maartenwut/Maarten namechange to evyd13/Evy (#10274)                                             

* [quantum] combine repeated lines of code (#10837)                                                

* Add step sequencer feature (#9703)                                                               

* aeboards/ext65 refactor (#10820)                                                                 

* Refactor xelus/dawn60 for Rev2 later (#10584)                                                    

* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)                                 

* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)                                    

* update chibios os usb for the otg driver (#8893)                                                 

* Remove HD44780 References, Part 4 (#10735)                                                       

* [Keyboard] Add Valor FRL TKL (+refactor) (#10512)                                                

* Fix cursor position bug in oled_write_raw functions (#10800)                                     

* Fixup version.h writing when using SKIP_VERSION=yes (#10972)                                     

* Allow for certain code in the codebase assuming length of string. (#10974)                       

* Add AT90USB support for serial.c (#10706)                                                        

* Auto shift: support repeats and early registration (#9826)                                       

* Rename ledmatrix.h to match .c file (#7949)                                                      

* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)                                        

* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)                                        

* Merge point for 2020 Nov 28 Breaking Change
2020-11-28 12:02:18 -08:00
..
ChangeLog 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
de Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
es Remove `DESCRIPTION` (#9732) 2020-07-16 15:49:18 +10:00
fr-fr Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
gitbook/images
he-il Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ja 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
ko-kr Adding few Korean translated files (#5895) 2020-11-10 06:11:04 +11:00
pt-br Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ru-ru Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
zh-cn Remove unnecessary break after return from documentation (#9892) 2020-07-31 15:58:55 +01:00
.nojekyll
CNAME
README.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
_langs.md [Docs] add README translation in portuguese (#7016) 2019-12-10 10:19:12 -08:00
_summary.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08: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 Add API documentation 2020-03-05 16:00:10 -08:00
api_overview.md Add API documentation 2020-03-05 16:00:10 -08: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 CI: Add docs build and deploy workflow (#7448) 2020-11-10 07:00:40 -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
coding_conventions_c.md Update C coding conventions to match .clang-format config for i… (#8717) 2020-04-07 14:14:08 +10:00
coding_conventions_python.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
compatible_microcontrollers.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
config_options.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08: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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08: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
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
driver_installation_zadig.md MSYS and WSL installation improvements (#10593) 2020-10-18 02:45:21 +11:00
eeprom_driver.md Add SPI 25xx EEPROM support. (#8780) 2020-05-19 10:34:00 +10:00
faq_build.md 50-qmk.rules: Move udev rules from documentation into a file (#10664) 2020-10-17 20:30:18 +01:00
faq_debug.md Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00
faq_general.md Rework the newbs guide around the qmk cli 2020-03-05 16:00:10 -08:00
faq_keymap.md make custom_keycode_names.md a faq entry instead 2020-03-05 16:00:10 -08:00
feature_advanced_keycodes.md Doc followup 9942 (#10473) 2020-10-01 22:19:57 +01:00
feature_audio.md
feature_auto_shift.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_backlight.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -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
feature_debounce_type.md Fix typo within debounce documentation (#10600) 2020-10-13 01:46:16 +01: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
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
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 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_macros.md [Docs] Improve Unicode documentation (#8676) 2020-06-20 21:58:48 +01:00
feature_mouse_keys.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_oled_driver.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_pointing_device.md Include `pointing_device_send` in docs (#9185) 2020-06-10 23:18:53 +01:00
feature_ps2_mouse.md Add movement hook to ps2_mouse (#8805) 2020-07-02 21:54:15 +01:00
feature_rawhid.md Allow for overriding RAW endpoint usage page and ID. (#8834) 2020-05-21 20:31:42 +10:00
feature_rgb_matrix.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_rgblight.md Added color wheel that have QMK HSV values. (#8997) 2020-11-10 15:57:43 +11:00
feature_sequencer.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_space_cadet.md
feature_split_keyboard.md [Docs] Add VBUS hack for teensys (#10986) 2020-11-27 21:03:31 -08:00
feature_stenography.md fix typo (#9695) 2020-07-11 23:06:33 +10: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
feature_thermal_printer.md
feature_unicode.md [Docs] Improve Unicode documentation (#8676) 2020-06-20 21:58:48 +01:00
feature_userspace.md [Docs] Fixed the hyperlink to `/users/_example/`. (#9326) 2020-06-10 15:27:25 -07:00
feature_velocikey.md
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing.md Add `st-flash` flash target (#9964) 2020-08-29 14:30:02 -07:00
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md Reintegrate previous docker docs (#9084) 2020-05-19 21:54:55 -07:00
getting_started_github.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07: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 Remove support for Adafruit EZ-Key (#10103) 2020-08-29 14:30:02 -07:00
getting_started_vagrant.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
hand_wire.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
hardware_avr.md Remove `DESCRIPTION` (#9732) 2020-07-16 15:49:18 +10:00
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md New command: qmk lint (#10761) 2020-11-07 09:56:08 -08:00
how_a_matrix_works.md refactor How a Matrix Works doc 2020-03-05 16:00:10 -08:00
how_keyboards_work.md
i2c_driver.md Update i2c_driver.md (#10131) 2020-08-22 14:06:16 +01:00
index.html [Docs] redirect from /tutorial to /newbs (#10718) 2020-11-09 20:33:15 -08:00
internals_defines.md
internals_gpio_control.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08: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 [Docs] Update ISP Guide (#9748) 2020-07-18 21:24:23 +01:00
keycodes.md Issue 9942: Add LSA, RSA, RCS, LSA_T, RSA_T, and RCS_T (#9943) 2020-08-17 02:08:15 -07:00
keycodes_basic.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
keycodes_us_ansi_shifted.md
keymap.md [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md [Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) 2020-10-15 21:23:24 -07:00
newbs.md [Docs] redirect from /tutorial to /newbs (#10718) 2020-11-09 20:33:15 -08: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 Polish Configurator section 2020-03-05 16:00:10 -08:00
newbs_flashing.md [Docs] newbs_flashing.md: place bootloader instructions before Toolbox intro (#9077) 2020-05-21 09:24:39 -07:00
newbs_getting_started.md Refactor qmk_install.sh (#10681) 2020-11-26 14:37:54 +00:00
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
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 overhaul the newbs guide 2020-03-05 16:00:10 -08:00
newbs_testing_debugging.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
one_shot_keys.md Update one_shot_keys.md (#10917) 2020-11-18 21:31:21 +00:00
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md Update other_vscode.md of Japanese document (#10604) 2020-10-15 03:24:26 +09:00
platformdev_chibios_earlyinit.md Add dual-bank STM32 bootloader support, given GPIO toggle on BOOT0 to charge RC circuit. (#8778) 2020-08-29 14:30:02 -07: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 Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
qmk.css
qmk_custom_dark.css Fix darkmode (#8393) 2020-03-12 18:17:47 +11:00
qmk_custom_light.css Fix darkmode (#8393) 2020-03-12 18:17:47 +11:00
quantum_keycodes.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
redirects.json
ref_functions.md [Docs] Clarify functionality of update_tri_layer_state (#10370) 2020-09-21 11:35:26 -07:00
reference_configurator_support.md Polish Configurator section 2020-03-05 16:00:10 -08:00
reference_glossary.md fixed link to Eclipse instructions (#9647) 2020-07-05 08:50:01 +10:00
reference_info_json.md Mark 'key_count' as optional within info.json docs (#10513) 2020-10-03 00:42:11 +01:00
reference_keymap_extras.md [Keymap Extra] Add French AZERTY (AFNOR - NF Z71-300) (#9644) 2020-07-08 19:55:02 +01:00
serial_driver.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
spi_driver.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
sw.js
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
understanding_qmk.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
unit_testing.md Edit Unit Testing Documentation (#8961) 2020-04-29 07:39:08 +10:00
usb_nkro.txt
ws2812_driver.md Add support for DMAMUX-capable MCU configuration with WS2812 PWM driver. (#9471) 2020-08-29 14:30:02 -07:00

README.md

Quantum Mechanical Keyboard Firmware

Current Version Build Status Discord Docs Status GitHub contributors GitHub forks

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

Totally new to QMK? There are two ways to get started:

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.