qmk_firmware/docs
James Young a03aa301de
Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
..
ChangeLog 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
de CLI/Docs: Fix the format commands' name (#13668) 2021-07-23 21:41:33 +01:00
es Port new_keyboard.sh to CLI (#13706) 2021-07-30 21:57:40 +01:00
fr-fr CLI/Docs: Fix the format commands' name (#13668) 2021-07-23 21:41:33 +01:00
gitbook/images
he-il
ja __flash? (#13799) 2021-07-31 14:35:30 +01:00
ko-kr
pt-br
ru-ru
zh-cn [Bug] Develop - Change uint32_t to layer_state_t (#13596) 2021-07-19 09:50:55 -07:00
.nojekyll
_langs.md
_summary.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07: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 Port new_keyboard.sh to CLI (#13706) 2021-07-30 21:57:40 +01:00
cli_configuration.md
cli_development.md CLI/Docs: Fix the format commands' name (#13668) 2021-07-23 21:41:33 +01:00
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 Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10:00
configurator_default_keymaps.md
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
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 Allow output of logging when running unit tests (#13556) 2021-07-25 17:18:09 +01:00
faq_general.md
faq_keymap.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
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 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 Add asym_eager_defer_pk debounce type (#12689) 2021-06-16 14:00:37 +10:00
feature_dip_switch.md [Docs] Fix typo in dip switch example (#13688) 2021-07-24 10:44:31 -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_key_overrides.md [Feature] Key Overrides (#11422) 2021-07-13 10:13:51 -07:00
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 [Docs] Added note about no split support (#12512) 2021-07-20 10:11:49 -07:00
feature_led_matrix.md __flash? (#13799) 2021-07-31 14:35:30 +01: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] Swap buttons on PS2 Mouse/Trackball (#9205) 2021-08-06 09:09:58 +10:00
feature_rawhid.md
feature_rgb_matrix.md __flash? (#13799) 2021-07-31 14:35:30 +01: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 Allow invert of SPLIT_HAND_PIN logic (#13433) 2021-07-05 09:06:40 +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 matrix_scan_x -> x_task (#13748) 2021-07-28 12:01:23 +01: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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
feature_velocikey.md
feature_wpm.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
flashing.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -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 [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 Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md Rework I2C driver docs (#11658) 2021-02-08 07:45:59 +11:00
index.html
internals_defines.md
internals_gpio_control.md
internals_input_callback_reg.md rename api docs to internals 2018-03-26 11:43:37 -07:00
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 Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
keycodes_basic.md
keycodes_magic.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
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 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 eclipse: recommend changing the default project make target (#12447) 2021-04-19 02:20:17 -07:00
other_vscode.md Updated settings.json file to fit VSC's docs (#13829) 2021-08-04 01:22:40 +01:00
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md Explicitly state that VIA should not be enabled in the default keymap. (#13803) 2021-07-31 09:21:45 +10: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
reference_info_json.md Remove references to info.json width and height in CLI (#13728) 2021-07-29 22:37:18 -07:00
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 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 [Feature] Key Overrides (#11422) 2021-07-13 10:13:51 -07:00
unit_testing.md Allow output of logging when running unit tests (#13556) 2021-07-25 17:18:09 +01:00
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.