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 Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
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 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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
.nojekyll
_langs.md
_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
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 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
cli.md
cli_commands.md CLI-ify rgblight_breathing_table_calc.c (#11174) 2020-12-16 14:24:42 +11: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
CNAME
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
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 Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
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 [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
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 Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00
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 Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) 2020-09-22 22:31:37 +10:00
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 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
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 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 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 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 Add modifier state to the split keyboard transport (#10400) 2020-12-17 16:21:26 +11:00
feature_stenography.md fix typo (#9695) 2020-07-11 23:06:33 +10:00
feature_swap_hands.md
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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
feature_velocikey.md
feature_wpm.md
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
hand_wire.md
hardware_avr.md Remove DESCRIPTION (#9732) 2020-07-16 15:49:18 +10:00
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 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
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 [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
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 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 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
README.md
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
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 Configurable serial usart timeout (#11057) 2020-11-30 03:29:35 -08: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
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

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.