qmk/docs
Drashna Jaelre 99f3df2893
Add support for 8 buttons to mouse report (#10807)
* Add support for 8 buttons to mouse report

This includes support for 8 buttons in mousekeys.  However, this does move the keys around due to the fact that the last mousekey keycode is already 0xFF, so any past that would not work with register_code and the like, breaking them for tap hold keys, encoders, and other features.

* Update mouse key docs

* Add changes based on feedback

* Fix VUSB report size comment

Because drashna red gud

* Fix typo in action.c

* Fix IS_MOUSE_BUTTON check

* Change start range for mousekeys so that the end is 0xFF properly

* condense mousekeys check
2021-01-28 04:38:34 +11:00
..
ChangeLog Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
de
es Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
fr-fr
gitbook/images
he-il Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
ja Add support for 8 buttons to mouse report (#10807) 2021-01-28 04:38:34 +11:00
ko-kr
pt-br
ru-ru
zh-cn
_langs.md
_summary.md UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
.nojekyll
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes_instructions.md
breaking_changes.md
cli_commands.md Improve the compile and flash subcommands (#11334) 2021-01-16 15:13:04 -08:00
cli_configuration.md
cli_development.md
cli.md
CNAME
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md
config_options.md
configurator_default_keymaps.md
configurator_step_by_step.md
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md
data_driven_config.md Document how to add data driven configurations (#11502) 2021-01-10 20:47:58 -08:00
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md Zadig docs: add APM32 device name (#11356) 2020-12-30 16:35:06 +00:00
eeprom_driver.md
faq_build.md Update docs/getting_started_make_guide.md (#11373) 2021-01-24 15:15:11 +09:00
faq_debug.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
faq_keymap.md
faq_misc.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
feature_advanced_keycodes.md
feature_audio.md
feature_auto_shift.md
feature_backlight.md
feature_bluetooth.md
feature_bootmagic.md
feature_combo.md
feature_command.md
feature_debounce_type.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_dip_switch.md
feature_dynamic_macros.md
feature_encoders.md
feature_grave_esc.md
feature_haptic_feedback.md
feature_hd44780.md
feature_joystick.md
feature_key_lock.md
feature_layers.md
feature_layouts.md
feature_leader_key.md
feature_led_indicators.md
feature_led_matrix.md
feature_macros.md Remove unused action_get_macro() usages in user files (#11165) 2021-01-11 01:25:45 -08:00
feature_mouse_keys.md Add support for 8 buttons to mouse report (#10807) 2021-01-28 04:38:34 +11:00
feature_oled_driver.md
feature_pointing_device.md Add support for 8 buttons to mouse report (#10807) 2021-01-28 04:38:34 +11:00
feature_ps2_mouse.md fix(feature_ps2_mouse): fix Scroll Button example (#11669) 2021-01-24 14:51:25 +00:00
feature_rawhid.md
feature_rgb_matrix.md Merge remote-tracking branch 'upstream/master' into develop 2021-01-15 18:34:12 +11:00
feature_rgblight.md Merge remote-tracking branch 'origin/master' into develop 2021-01-20 02:49:41 +00:00
feature_sequencer.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_space_cadet.md
feature_split_keyboard.md
feature_stenography.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_swap_hands.md
feature_tap_dance.md
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md Fix documentation so UCIS example compiles. (#11541) 2021-01-14 11:11:59 +11:00
feature_userspace.md
feature_velocikey.md
feature_wpm.md
flashing_bootloadhid.md
flashing.md Add stm32-dfu and apm32-dfu to bootloader.mk (#11019) 2021-01-20 14:04:21 +11:00
fuse.txt Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
getting_started_docker.md
getting_started_github.md
getting_started_introduction.md
getting_started_make_guide.md Update docs/getting_started_make_guide.md (#11373) 2021-01-24 15:15:11 +09:00
getting_started_vagrant.md
hand_wire.md [Docs] Fix typo in hand_wire.md (#11297) 2021-01-01 17:36:17 -08:00
hardware_avr.md Fix documentation of lsusb behaviour (#10903) 2021-01-10 21:48:29 -08:00
hardware_drivers.md
hardware_keyboard_guidelines.md
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md
index.html Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
internals_defines.md
internals_gpio_control.md
internals_input_callback_reg.md
internals_midi_device_setup_process.md
internals_midi_device.md
internals_midi_util.md
internals_send_functions.md
internals_sysex_tools.md
isp_flashing_guide.md
keycodes_basic.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keycodes_us_ansi_shifted.md
keycodes.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keymap.md
mod_tap.md
newbs_building_firmware_configurator.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_building_firmware.md
newbs_flashing.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_getting_started.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +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 Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
one_shot_keys.md
other_eclipse.md
other_vscode.md
platformdev_chibios_earlyinit.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md
proton_c_conversion.md
qmk_custom_dark.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
qmk.css
quantum_keycodes.md
README.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md
reference_info_json.md Use the schema to eliminate custom code (#11108) 2021-01-09 13:34:14 -08:00
reference_keymap_extras.md Improved Language Specific Keycodes for US International and Extended Layouts (#11307) 2021-01-02 15:54:48 +11:00
serial_driver.md
spi_driver.md
support.md
sw.js
syllabus.md
tap_hold.md
translating.md
uart_driver.md UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
understanding_qmk.md
unit_testing.md
usb_nkro.txt
ws2812_driver.md Add BGR byte order for WS2812 drivers (#11562) 2021-01-16 08:42:30 +11: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.