qmk_firmware/docs
Konstantin Đorđević be2f5816b6
Fix compile issues related to NO_ACTION_MACRO/FUNCTION and LTO_ENABLE (#8663)
* Define NO_ACTION_MACRO/FUNCTION in header instead of makefile when LTO is enabled

Currently, boards and keymaps that define NO_ACTION_MACRO/FUNCTION unconditionally
will not compile with LTO_ENABLE (#8604). This fixes the issue by moving the
definitions from common.mk to action.h, which enables us to check for previous
definitions of those macros (this cannot be done in a makefile).

* Remove LTO checks in templates

Since now NO_ACTION_MACRO/FUNCTION are defined as needed in action.h (which is
included by quantum.h), checking for LTO in keyboard and user code is no
longer required.

* Update LTO_ENABLE docs
2020-04-09 00:18:30 +01:00
..
ChangeLog 2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
de spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
es spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
fr-fr spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
gitbook/images
he-il spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
ja spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
pt-br spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
ru-ru spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
zh-cn spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
.nojekyll
_langs.md
_summary.md spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
adc_driver.md ARM - ADC cleanup (#8385) 2020-03-17 00:29:52 +00: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 Fix the Breaking Changes doc again 2020-02-29 20:46:48 -08:00
breaking_changes_instructions.md suggestions by skullydazed 2020-01-25 18:15:07 -08:00
cli.md Rebase on master, hide some other subcommands 2020-04-08 09:31:14 -07:00
cli_commands.md Make dedicated sections for user/dev commands in docs 2020-04-08 09:31:14 -07:00
cli_configuration.md Fix some broken links in the docs (#8394) 2020-03-15 07:48:44 -07:00
cli_development.md Rebase on master, hide some other subcommands 2020-04-08 09:31:14 -07:00
CNAME
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 Add a note explaining how to run tests 2020-01-14 07:52:14 -08:00
compatible_microcontrollers.md
config_options.md Fix compile issues related to NO_ACTION_MACRO/FUNCTION and LTO_ENABLE (#8663) 2020-04-09 00:18:30 +01:00
configurator_step_by_step.md Polish Configurator section 2020-03-05 16:00:10 -08: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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
documentation_best_practices.md
documentation_templates.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
driver_installation_zadig.md
eeprom_driver.md Add support for STM32L0/L1 onboard EEPROM. (#8002) 2020-03-12 12:59:55 +11:00
faq_build.md [Docs] Update macOS related issues in docs (#7744) 2019-12-31 14:33:54 +00:00
faq_debug.md
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 [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_audio.md
feature_auto_shift.md
feature_backlight.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_bluetooth.md
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
feature_command.md
feature_debounce_type.md
feature_dip_switch.md
feature_dynamic_macros.md
feature_encoders.md 2020 February 29 Breaking Changes Update (#8064) 2020-02-29 11:59:30 -08:00
feature_grave_esc.md
feature_haptic_feedback.md
feature_hd44780.md
feature_key_lock.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_layers.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_layouts.md
feature_leader_key.md [Docs] Update layer documentation (#8371) 2020-03-21 10:17:02 -07:00
feature_led_matrix.md
feature_macros.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
feature_mouse_keys.md Decouple mouse cursor and mouse wheel in accelerated mode (#6685) 2020-03-13 12:49:44 -04:00
feature_oled_driver.md Adding OLED scroll setup functions (#8386) 2020-03-14 21:04:34 +00:00
feature_pointing_device.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_ps2_mouse.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_rgb_matrix.md [Docs] Update RGB Matrix docs with function refs (#8367) 2020-03-24 18:54:38 -07:00
feature_rgblight.md [Docs] Fixes for feature_rgblight.md (#8514) 2020-03-21 20:11:06 +00:00
feature_space_cadet.md
feature_split_keyboard.md Reduce SPLIT_USB_TIMEOUT by 500ms (#7637) 2020-02-04 19:37:04 -08:00
feature_stenography.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_swap_hands.md
feature_tap_dance.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md Rename UC_OSX (and related constants) to UC_MAC (#8589) 2020-03-31 18:28:43 +02:00
feature_userspace.md Document 'make all:<name>' (#8439) 2020-03-16 14:27:19 +00:00
feature_velocikey.md
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing.md update flashing.md 2020-03-05 16:00:10 -08:00
flashing_bootloadhid.md
fuse.txt
getting_started_github.md Restore getting_started_github.md doc 2020-03-12 17:24:07 -07:00
getting_started_introduction.md
getting_started_make_guide.md Add docs for 'CUSTOM_MATRIX = lite' (#7906) 2020-01-18 12:56:33 +11:00
getting_started_vagrant.md
hand_wire.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
hardware_avr.md
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md [Docs] added the description of the reading order of the rules.mk files. (#8566) 2020-03-29 13:00:47 -07: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 [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
index.html Fix some broken links in the docs (#8394) 2020-03-15 07:48:44 -07:00
internals_defines.md
internals_gpio_control.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07: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 Flashing guide (#8149) 2020-03-01 22:29:26 -08:00
keycodes.md Rename UC_OSX (and related constants) to UC_MAC (#8589) 2020-03-31 18:28:43 +02:00
keycodes_basic.md
keycodes_us_ansi_shifted.md
keymap.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
mod_tap.md break feature_advanced_keycodes.md up into multiple files 2020-03-05 16:00:10 -08:00
newbs.md overhaul the newbs guide 2020-03-05 16:00:10 -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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_getting_started.md Update newbs_getting_started.md 2020-03-31 14:26:19 -07: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 break feature_advanced_keycodes.md up into multiple files 2020-03-05 16:00:10 -08:00
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md
power.txt
proton_c_conversion.md
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
README.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
redirects.json
ref_functions.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
reference_configurator_support.md Polish Configurator section 2020-03-05 16:00:10 -08:00
reference_glossary.md
reference_info_json.md
spi_driver.md spi_master for AVR (#8299) 2020-04-08 11:04:31 +10:00
support.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
sw.js
tap_hold.md Correct typo in tap_hold.md (#8326) 2020-03-07 05:42:08 +11:00
translating.md
understanding_qmk.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
unit_testing.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
usb_nkro.txt
ws2812_driver.md PWM DMA based RGB Underglow for STM32 (#7928) 2020-03-01 13:05:56 +11:00

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.