qmk_firmware/docs
Casey Webster 5e2b53541b
Add modifier state to the split keyboard transport (#10400)
* Add modifier state to the split transport

This adds modifier state to the i2c and serial transport for split
keyboards.  The purpose of this is to allow e.g. displaying modifier
state on the slave side of a split keyboard on an oled.  This adds one
byte to the data transferred between halves.

This also fixes a missing ifdef guard for BLACKLIGHT_ENABLE.

Break modifiers into real/weak/oneshot

Fix incorrect slave serial mod setting

Fix typo in serial weal mod setter

Fix build errors for the I2C code that I introduced

Code cleanup and formatting per project preferences

Correctly get oneshot mods

Fix missing braces

Remove unneeded ifdef guard

Make the added state transport optional

Add documentation for the new define to enable this feature

Fix stray grave mark

* Fix error introduced in conflict resolution
2020-12-17 16:21:26 +11:00
..
ChangeLog 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
de Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
es Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
fr-fr Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
gitbook/images
he-il
ja Merge remote-tracking branch 'origin/master' into develop 2020-12-11 02:46:19 +00:00
ko-kr Adding few Korean translated files (#5895) 2020-11-10 06:11:04 +11:00
pt-br
ru-ru
zh-cn Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
.nojekyll
CNAME
README.md
_langs.md
_summary.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
breaking_changes_instructions.md
cli.md
cli_commands.md CLI-ify rgblight_breathing_table_calc.c (#11174) 2020-12-16 14:24:42 +11:00
cli_configuration.md
cli_development.md
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md
config_options.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11: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
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md MSYS and WSL installation improvements (#10593) 2020-10-18 02:45:21 +11:00
eeprom_driver.md Add i2c 24LC64 eeprom (#11200) 2020-12-14 05:50:50 +11: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
faq_general.md
faq_keymap.md
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
feature_bootmagic.md
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
feature_dynamic_macros.md
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
feature_joystick.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_key_lock.md
feature_layers.md
feature_layouts.md
feature_leader_key.md
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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11: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
feature_ps2_mouse.md
feature_rawhid.md
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 Add modifier state to the split keyboard transport (#10400) 2020-12-17 16:21:26 +11:00
feature_stenography.md
feature_swap_hands.md
feature_tap_dance.md
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md
feature_userspace.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
feature_velocikey.md
feature_wpm.md
flashing.md
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
hardware_avr.md
hardware_drivers.md
hardware_keyboard_guidelines.md New command: qmk lint (#10761) 2020-11-07 09:56:08 -08:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md
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
keycodes.md
keycodes_basic.md
keycodes_us_ansi_shifted.md
keymap.md
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
newbs_building_firmware_configurator.md
newbs_flashing.md
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
newbs_git_using_your_master_branch.md
newbs_learn_more_resources.md
newbs_testing_debugging.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
one_shot_keys.md Update one_shot_keys.md (#10917) 2020-11-18 21:31:21 +00:00
other_eclipse.md
other_vscode.md Update other_vscode.md of Japanese document (#10604) 2020-10-15 03:24:26 +09:00
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md Recommend use of LED Indicator config (#10895) 2020-11-16 14:16:42 +11:00
proton_c_conversion.md Add board specific to Proton-C, with usual defaults turned on. (#10976) 2020-12-03 13:04:28 +11:00
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md
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
serial_driver.md Configurable serial usart timeout (#11057) 2020-11-30 03:29:35 -08:00
spi_driver.md
support.md
sw.js
syllabus.md
tap_hold.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
translating.md
understanding_qmk.md
unit_testing.md
usb_nkro.txt
ws2812_driver.md add definition WS2812_BYTE_ORDER to fix RGB LED issues (#10184) 2020-12-06 17:15:48 +11: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.