You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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
4 years ago
..
ChangeLog 2021 May 29 Breaking Changes Update (#13034) 5 years ago
de CLI/Docs: Fix the format commands' name (#13668) 4 years ago
es Port new_keyboard.sh to CLI (#13706) 4 years ago
fr-fr CLI/Docs: Fix the format commands' name (#13668) 4 years ago
gitbook/images
he-il
ja __flash? (#13799) 4 years ago
ko-kr
pt-br
ru-ru
zh-cn [Bug] Develop - Change uint32_t to layer_state_t (#13596) 4 years ago
.nojekyll
CNAME
README.md
_langs.md
_summary.md Remove Full Bootmagic (#13846) 4 years ago
adc_driver.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
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 5 years ago
breaking_changes_history.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
breaking_changes_instructions.md
chibios_upgrade_instructions.md Update ChibiOS, ChibiOS-Contrib. (#13056) 5 years ago
cli.md
cli_commands.md Port new_keyboard.sh to CLI (#13706) 4 years ago
cli_configuration.md
cli_development.md CLI/Docs: Fix the format commands' name (#13668) 4 years ago
cli_tab_complete.md
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md Adds support for STM32L412xB, STM32L422xB. (#13383) 5 years ago
config_options.md Process combos earlier & overlapping combos (#8591) 4 years ago
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) 4 years ago
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md Remove Full Bootmagic (#13846) 4 years ago
eeprom_driver.md eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. (#12617) 5 years ago
faq_build.md
faq_debug.md Allow output of logging when running unit tests (#13556) 4 years ago
faq_general.md
faq_keymap.md Remove Full Bootmagic (#13846) 4 years ago
faq_misc.md
feature_advanced_keycodes.md Additional documentation for GUI mod combo (#13266) 5 years ago
feature_audio.md Document user song list file (#13101) 5 years ago
feature_auto_shift.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
feature_backlight.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
feature_bluetooth.md
feature_bootmagic.md Remove Full Bootmagic (#13846) 4 years ago
feature_combo.md Process combos earlier & overlapping combos (#8591) 4 years ago
feature_command.md Remove Full Bootmagic (#13846) 4 years ago
feature_debounce_type.md Add asym_eager_defer_pk debounce type (#12689) 5 years ago
feature_dip_switch.md [Docs] Fix typo in dip switch example (#13688) 4 years ago
feature_dynamic_macros.md
feature_encoders.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
feature_grave_esc.md
feature_haptic_feedback.md Add Per Key exclusions for Haptic Feedback (#12386) 5 years ago
feature_hd44780.md
feature_joystick.md
feature_key_lock.md
feature_key_overrides.md [Feature] Key Overrides (#11422) 4 years ago
feature_layers.md
feature_layouts.md
feature_leader_key.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
feature_led_indicators.md [Docs] Added note about no split support (#12512) 4 years ago
feature_led_matrix.md __flash? (#13799) 4 years ago
feature_macros.md
feature_midi.md [Docs] added basic midi documention of common features (#13113) 5 years ago
feature_mouse_keys.md
feature_oled_driver.md Add oled_invert (#13172) 5 years ago
feature_pointing_device.md
feature_ps2_mouse.md [Feature] Swap buttons on PS2 Mouse/Trackball (#9205) 4 years ago
feature_rawhid.md
feature_rgb_matrix.md __flash? (#13799) 4 years ago
feature_rgblight.md Retain brightness with lighting layers (#13025) 4 years ago
feature_sequencer.md
feature_space_cadet.md
feature_split_keyboard.md Allow invert of SPLIT_HAND_PIN logic (#13433) 4 years ago
feature_st7565.md ST7565 invert (#13237) 5 years ago
feature_stenography.md
feature_swap_hands.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
feature_tap_dance.md matrix_scan_x -> x_task (#13748) 4 years ago
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
feature_userspace.md
feature_velocikey.md
feature_wpm.md 2021 May 29 Breaking Changes Update (#13034) 5 years ago
flashing.md Remove Full Bootmagic (#13846) 4 years ago
flashing_bootloadhid.md
fuse.txt
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md
getting_started_vagrant.md
hand_wire.md [Docs] Added information on soldering diodes in parallel (#13117) 4 years ago
hardware_avr.md Port new_keyboard.sh to CLI (#13706) 4 years ago
hardware_drivers.md
hardware_keyboard_guidelines.md Remove Full Bootmagic (#13846) 4 years ago
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 Remove Full Bootmagic (#13846) 4 years ago
keycodes_basic.md
keycodes_magic.md Remove Full Bootmagic (#13846) 4 years ago
keycodes_us_ansi_shifted.md
keymap.md
mod_tap.md Add Mac centric Shift and Alt + GUI Macros (#13107) 5 years ago
newbs.md
newbs_building_firmware.md
newbs_building_firmware_configurator.md
newbs_flashing.md
newbs_getting_started.md Update FreeBSD install method (#12815) 5 years ago
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) 4 years ago
other_eclipse.md
other_vscode.md Updated settings.json file to fit VSC's docs (#13829) 4 years ago
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) 4 years ago
proton_c_conversion.md
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md
redirects.json
ref_functions.md Remove Full Bootmagic (#13846) 4 years ago
reference_configurator_support.md Remove references to info.json `width` and `height` in CLI (#13728) 4 years ago
reference_glossary.md
reference_info_json.md Remove references to info.json `width` and `height` in CLI (#13728) 4 years ago
reference_keymap_extras.md
serial_driver.md [Core] Unite half-duplex and full-duplex serial drivers (#13081) 5 years ago
spi_driver.md
support.md
sw.js
syllabus.md Remove Full Bootmagic (#13846) 4 years ago
tap_hold.md Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404) 4 years ago
translating.md
uart_driver.md
understanding_qmk.md [Feature] Key Overrides (#11422) 4 years ago
unit_testing.md Allow output of logging when running unit tests (#13556) 4 years ago
usb_nkro.txt
ws2812_driver.md Fix up WS2812 SPI driver on F072. (#13022) 5 years ago

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.