qmk/docs
a-chol 75b49aff56
Digitizer HID interface : absolute coordinates for mouse cursor (#12851)
* Add digitizer HID interface for setting the mouse cursor position at
absolute screen coordinates. Tested on Pro Micro, Proton C and
Blackpill.

* Update docs/feature_digitizer.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update tmk_core/protocol/usb_descriptor.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Add missing copyrights
Add V-USB support

* Add support for digitizer dedicated endpoint for lufa and chibios.
Fix formatting issues
Move digitizer_task definition to the feature's base implementation file

* Run cformat on modified files

* Change digitizer report usage to Digitizer instead of Pen to avoid
pointer disappearing on Windows.

* Update tmk_core/protocol/vusb/vusb.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Run cformat from docker image

* Remove send_digitizer from host_driver_t and instead rely on the
declaration being the interface to the implementation in each
HW-specific usb implementation.

* Fix build : send_digitizer shouldn't be static in vusb and add
weak-linkage implementation for tests without usb implementation

* Change digitizer user interface to match pointing device's

* Update documentation with new API

Co-authored-by: a-chol <nothing@none.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-18 04:52:44 +10:00
..
ChangeLog Update 20210529.md (#13170) 2021-08-13 06:14:57 +10:00
de
es Port new_keyboard.sh to CLI (#13706) 2021-07-30 21:57:40 +01:00
fr-fr
gitbook/images
he-il
ja Merge remote-tracking branch 'origin/master' into develop 2021-08-17 16:14:10 +00:00
ko-kr
pt-br
ru-ru
zh-cn
_langs.md
_summary.md Digitizer HID interface : absolute coordinates for mouse cursor (#12851) 2021-08-18 04:52:44 +10:00
.nojekyll
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
audio_driver.md
breaking_changes_history.md
breaking_changes_instructions.md
breaking_changes.md
chibios_upgrade_instructions.md
cli_commands.md Port new_keyboard.sh to CLI (#13706) 2021-07-30 21:57:40 +01:00
cli_configuration.md
cli_development.md
cli_tab_complete.md
cli.md
CNAME
coding_conventions_c.md
coding_conventions_python.md
compatible_microcontrollers.md Add support for STM32F407x MCUs. (#13718) 2021-08-09 06:52:13 +10:00
config_options.md Enable sync of OLED/ST7565 display on/off state on Splits (#13542) 2021-08-15 15:39:08 +10:00
configurator_architecture.md Architecture documentation for Configurator and API (#13935) 2021-08-10 07:47:53 -07:00
configurator_default_keymaps.md
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
configurator_troubleshooting.md
contributing.md
custom_matrix.md
custom_quantum_functions.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
data_driven_config.md
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07: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
faq_build.md
faq_debug.md Allow output of logging when running unit tests (#13556) 2021-07-25 17:18:09 +01:00
faq_general.md
faq_keymap.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
faq_misc.md
feature_advanced_keycodes.md
feature_audio.md Fixup Audio startup and add to documents (#13606) 2021-08-15 21:51:50 +01:00
feature_auto_shift.md
feature_backlight.md
feature_bluetooth.md
feature_bootmagic.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
feature_combo.md Process combos earlier & overlapping combos (#8591) 2021-08-06 09:44:57 +10: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 Digitizer HID interface : absolute coordinates for mouse cursor (#12851) 2021-08-18 04:52:44 +10: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_key_overrides.md
feature_layers.md
feature_layouts.md
feature_leader_key.md
feature_led_indicators.md
feature_led_matrix.md Rgb matrix/enable modes explicitly (#13758) 2021-08-18 04:19:00 +10:00
feature_macros.md
feature_midi.md
feature_mouse_keys.md
feature_oled_driver.md
feature_pointing_device.md
feature_ps2_mouse.md [Feature] Swap buttons on PS2 Mouse/Trackball (#9205) 2021-08-06 09:09:58 +10:00
feature_rawhid.md
feature_rgb_matrix.md Rgb matrix/enable modes explicitly (#13758) 2021-08-18 04:19:00 +10:00
feature_rgblight.md
feature_sequencer.md
feature_space_cadet.md
feature_split_keyboard.md Enable sync of OLED/ST7565 display on/off state on Splits (#13542) 2021-08-15 15:39:08 +10:00
feature_st7565.md
feature_stenography.md Steno combinedkeys (#12538) 2021-08-18 04:48:00 +10:00
feature_swap_hands.md
feature_tap_dance.md matrix_scan_x -> x_task (#13748) 2021-07-28 12:01:23 +01:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md
feature_userspace.md
feature_velocikey.md
feature_wpm.md Update feature_wpm.md (#13936) 2021-08-10 10:14:14 +01:00
flashing_bootloadhid.md
flashing.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
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 [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
hardware_keyboard_guidelines.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md
index.html
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
keycodes_magic.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
keycodes_us_ansi_shifted.md
keycodes.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
keymap.md
mod_tap.md
newbs_building_firmware_configurator.md
newbs_building_firmware.md
newbs_flashing.md
newbs_getting_started.md
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
newbs.md
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
other_vscode.md Updated settings.json file to fit VSC's docs (#13829) 2021-08-04 01:22:40 +01:00
platformdev_chibios_earlyinit.md
platformdev_selecting_arm_mcu.md
power.txt
pr_checklist.md Explicitly state that VIA should not be enabled in the default keymap. (#13803) 2021-07-31 09:21:45 +10:00
proton_c_conversion.md
qmk_custom_dark.css
qmk_custom_light.css
qmk.css
quantum_keycodes.md
README.md
redirects.json
ref_functions.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
reference_configurator_support.md Remove references to info.json width and height in CLI (#13728) 2021-07-29 22:37:18 -07:00
reference_glossary.md
reference_info_json.md Remove references to info.json width and height in CLI (#13728) 2021-07-29 22:37:18 -07:00
reference_keymap_extras.md Rework keymap_extras docs (#13949) 2021-08-15 00:18:20 +10:00
serial_driver.md
spi_driver.md
support.md
sw.js
syllabus.md Remove Full Bootmagic (#13846) 2021-08-06 23:59:56 -07:00
tap_hold.md Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404) 2021-08-07 09:16:26 +10:00
translating.md
uart_driver.md
understanding_qmk.md
unit_testing.md Allow output of logging when running unit tests (#13556) 2021-07-25 17:18:09 +01:00
usb_nkro.txt
ws2812_driver.md

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.