qmk-firmware/docs
Dasky 7f7364c559
[Core] Split support for pointing devices. (#15304)
* Draft implementation

* formatting

* fix combined buttons

* remove pimoroni throttle

* sync pointing on a throttle loop with checksum

* no longer used

* doh

Co-authored-by: Drashna Jaelre <drashna@live.com>

* switch pimoroni to a cpi equivalent

* add cpi support

* allow user modification of seperate mouse reports

* a little tidy up

* add *_RIGHT defines.

* docs

* doxygen comments

* basic changelog

* clean up pimoroni

* small doc fixes

* Update docs/feature_pointing_device.md

Co-authored-by: Drashna Jaelre <drashna@live.com>

* performance tweak if side has usb

* Don't run init funtions on wrong side

* renamed some variables for consistency

* fix pimoroni typos

* Clamp instead of OR

* Promote combined values to uint16_t

* Update pointing_device.c

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-12-27 12:05:51 +11:00
..
ChangeLog [Core] Split support for pointing devices. (#15304) 2021-12-27 12:05:51 +11:00
de Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
es Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
fr-fr Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
gitbook/images
he-il Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
ja Remove use of __flash due to LTO issues (#15268) 2021-11-24 18:38:49 +11:00
ko-kr [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
pt-br [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
ru-ru Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
zh-cn Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
_langs.md Change "Chinese" to "Simplified Chinese" in langs.md (#15441) 2021-12-09 17:45:24 +11:00
_summary.md Changelog 2021q4 (#15325) 2021-11-28 10:41:48 +11:00
.nojekyll
adc_driver.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
api_development_environment.md
api_development_overview.md
api_docs.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
arm_debugging.md
audio_driver.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
breaking_changes_history.md Changelog 2021q4 (#15325) 2021-11-28 10:41:48 +11:00
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
breaking_changes.md Fix last merge date (#15327) 2021-11-28 12:59:48 +11:00
chibios_upgrade_instructions.md Update to ChibiOS 20.3.4, support builds against trunk (#14208) 2021-11-03 08:26:40 +11:00
cli_commands.md Add test filter to 'qmk pytest' (#15432) 2021-12-09 17:42:11 +11:00
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli_development.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
cli_tab_complete.md Fix Typo in documentation (#14942) 2021-10-24 23:32:42 +01:00
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
CNAME
coding_conventions_c.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
coding_conventions_python.md Refactor new-keyboard to be python3.7 compatible (#14707) 2021-11-05 08:14:43 +11:00
compatible_microcontrollers.md [Docs] Fix Header formatting in compatible mcu doc (#15438) 2021-12-09 14:49:10 +11:00
config_options.md New feature: DYNAMIC_TAPPING_TERM_ENABLE (#11036) 2021-11-26 07:06:50 +11:00
configurator_architecture.md Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_default_keymaps.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
configurator_diagram.drawio Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_diagram.svg Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_step_by_step.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
configurator_troubleshooting.md
contributing.md Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
custom_matrix.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
custom_quantum_functions.md Add support for deferred executors. (#14859) 2021-11-15 18:21:09 +00:00
data_driven_config.md Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
driver_installation_zadig.md [Core] Add support for RISC-V builds and GD32VF103 MCU (#12508) 2021-10-18 16:23:20 +11:00
easy_maker.md [Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321) 2021-08-14 08:42:59 -07:00
eeprom_driver.md eeprom_i2c driver: added EXTERNAL_EEPROM_WP_PIN configuration option. (#12617) 2021-06-21 19:34:28 -07:00
faq_build.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
faq_debug.md doc/faq_debug: qmk cli can also be used to print debug messages (#15528) 2021-12-22 06:27:25 -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 Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
faq_misc.md Remove BOOTMAGIC_ENABLE = lite option (#15002) 2021-11-05 08:18:09 +11:00
feature_advanced_keycodes.md Additional documentation for GUI mod combo (#13266) 2021-06-22 12:41:57 +10:00
feature_audio.md Fixup Audio startup and add to documents (#13606) 2021-08-15 21:51:50 +01:00
feature_auto_shift.md Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping) and Custom Auto Shifts (#11059) 2021-11-25 23:12:14 +11:00
feature_backlight.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_bluetooth.md [Docs] Updated typo on feature_bluetooth.md (#15466) 2021-12-13 20:55:53 -08:00
feature_bootmagic.md Remove BOOTMAGIC_ENABLE = lite option (#15002) 2021-11-05 08:18:09 +11:00
feature_combo.md Merge remote-tracking branch 'origin/master' into develop 2021-11-22 20:02:13 +00:00
feature_command.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
feature_debounce_type.md Remove backwards compatibility of debounce names (#13877) 2021-08-09 19:46:18 +01:00
feature_digitizer.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_dip_switch.md Added right vs left specific pin assignments for dip switch (#13074) 2021-08-19 18:39:15 +01:00
feature_dynamic_macros.md Fix typo in docs/feature_dynamic_macros (#10085) 2020-08-19 22:59:59 +01:00
feature_encoders.md [Bug] Revert Assymmetrical Split Encoder support (#12090) (#15311) 2021-11-27 14:40:09 +11:00
feature_grave_esc.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
feature_haptic_feedback.md Documentation Typo fix (#15538) 2021-12-22 12:47:01 +00:00
feature_hd44780.md
feature_joystick.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_key_lock.md Added cancel_key_lock function (#15321) 2021-11-29 00:17:07 -08:00
feature_key_overrides.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
feature_layers.md Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
feature_layouts.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_leader_key.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_led_indicators.md [Docs] add sync options heading, update led indicators (#14441) 2021-09-15 10:11:25 -07:00
feature_led_matrix.md Remove use of __flash due to LTO issues (#15268) 2021-11-24 18:38:49 +11:00
feature_macros.md Macros in JSON keymaps (#14374) 2021-11-22 11:11:35 -08:00
feature_midi.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01: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 Merge remote-tracking branch 'origin/master' into develop 2021-11-02 06:19:36 +00:00
feature_pointing_device.md [Core] Split support for pointing devices. (#15304) 2021-12-27 12:05:51 +11:00
feature_programmable_button.md Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
feature_ps2_mouse.md Align PS/2 GPIO defines (#14745) 2021-10-20 20:07:40 +01:00
feature_rawhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
feature_rgb_matrix.md [Docs] Fixed keycode reference for swirl effect (#15564) 2021-12-24 17:12:33 -08:00
feature_rgblight.md Retain brightness with lighting layers (#13025) 2021-07-21 23:46:12 -07: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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_split_keyboard.md [Core] Split support for pointing devices. (#15304) 2021-12-27 12:05:51 +11:00
feature_st7565.md ST7565 invert (#13237) 2021-06-19 18:51:35 +10:00
feature_stenography.md Merge remote-tracking branch 'origin/master' into develop 2021-11-17 22:31:15 +00:00
feature_swap_hands.md Document swap-hands tap-toggle feature (#15229) 2021-11-29 00:23:37 -08:00
feature_tap_dance.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
feature_userspace.md Enable CLI flashing via mdloader (#14729) 2021-10-15 22:07:33 +01:00
feature_velocikey.md Remove BOOTMAGIC_ENABLE = lite option (#15002) 2021-11-05 08:18:09 +11:00
feature_wpm.md Fixes potential wpm sampling overflow, along with code comment fixes (#15277) 2021-12-27 11:52:56 +11:00
flashing_bootloadhid.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
flashing.md Fix RESET not working for keyboards with Kiibohd bootloader (#15430) 2021-12-07 20:36:39 -08:00
fuse.txt Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
getting_started_docker.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
getting_started_github.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
getting_started_introduction.md
getting_started_make_guide.md Add support for deferred executors. (#14859) 2021-11-15 18:21:09 +00:00
getting_started_vagrant.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
hand_wire.md [Docs] Added information on soldering diodes in parallel (#13117) 2021-07-29 22:56:27 -07:00
hardware_avr.md Port new_keyboard.sh to CLI (#13706) 2021-07-30 21:57:40 +01:00
hardware_drivers.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
hardware_keyboard_guidelines.md Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
how_keyboards_work.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
i2c_driver.md i2c_master: Add support for reading/writing to 16-bit registers (#14289) 2021-10-07 10:29:35 +11:00
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 Add open-drain GPIO support. (#15282) 2021-12-27 11:52:10 +11:00
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 Rework ISP flashing guide (#14938) 2021-11-05 14:42:08 +11:00
keycodes_basic.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
keycodes_magic.md Implement MAGIC_TOGGLE_CONTROL_CAPSLOCK (#15368) 2021-11-30 17:34:08 -08:00
keycodes_us_ansi_shifted.md
keycodes.md Implement MAGIC_TOGGLE_CONTROL_CAPSLOCK (#15368) 2021-11-30 17:34:08 -08:00
keymap.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
mod_tap.md [Docs] Correct logic of tap hold statement (#14992) 2021-11-12 14:14:28 -08:00
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 A few small typo fixes in docs (#12524) 2021-04-11 12:50:45 +02:00
newbs_getting_started.md [Docs] Add instructions to create keymap before proceeding (#14945) 2021-10-27 08:03:00 -07:00
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md [Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
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 [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
one_shot_keys.md fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754) 2021-07-28 12:00:55 +01:00
other_eclipse.md eclipse: recommend changing the default project make target (#12447) 2021-04-19 02:20:17 -07:00
other_vscode.md [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
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 Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
power.txt
pr_checklist.md Changelog 2021q4 (#15325) 2021-11-28 10:41:48 +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_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 fix typo (#15569) 2021-12-24 20:10:12 +00:00
reference_configurator_support.md Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
reference_glossary.md Fix Space Cadet md link (#14300) 2021-09-04 15:01:56 +01:00
reference_info_json.md [Docs] Clean up reference_info_json.md (#14806) 2021-10-15 12:45:33 +11:00
reference_keymap_extras.md Rework keymap_extras docs (#13949) 2021-08-15 00:18:20 +10:00
serial_driver.md Make solo half of split keyboards (more) usable. (#13523) 2021-08-22 10:51:17 +10:00
spi_driver.md Merge remote-tracking branch 'upstream/master' into develop 2021-02-08 07:57:09 +11:00
squeezing_avr.md [Docs] Squeezing space out of AVR (#15243) 2021-11-23 08:14:00 +11:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
sw.js
syllabus.md [Docs] Squeezing space out of AVR (#15243) 2021-11-23 08:14:00 +11:00
tap_hold.md New feature: DYNAMIC_TAPPING_TERM_ENABLE (#11036) 2021-11-26 07:06:50 +11:00
translating.md
uart_driver.md Update UART driver API (#14839) 2021-11-13 18:23:14 +00:00
understanding_qmk.md [Docs] Reorder functions in Understanding QMK (#15357) 2021-11-30 11:24:21 -08:00
unit_testing.md Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
usb_nkro.txt
ws2812_driver.md Documentation typo fix (#15298) 2021-11-25 20:13:16 +00: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.