qmk_firmware/docs
Manna Harbour b7dc2eb9ab
Add movement hook to ps2_mouse (#8805)
Process mouse movement in the keymap before it is sent to the host. Example uses
include filtering noise, adding acceleration, and automatically activating a
layer. To use, define the following function in your keymap:

void ps2_mouse_moved_user(report_mouse_t *mouse_report);
2020-07-02 21:54:15 +01:00
..
ChangeLog 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
de Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
es Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
fr-fr Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
gitbook/images
he-il Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ja [Docs] Japanese translation of docs/compatible_microcontrollers.md (#9518) 2020-06-29 00:30:16 -07: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 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
.nojekyll
CNAME
README.md
_langs.md
_summary.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
adc_driver.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
cli_commands.md [CLI] Add a subcommand for getting information about a keyboard (#8666) 2020-05-26 13:05:41 -07: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
coding_conventions_c.md Update C coding conventions to match .clang-format config for i… (#8717) 2020-04-07 14:14:08 +10:00
coding_conventions_python.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
compatible_microcontrollers.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
config_options.md Option to allow lighting layers when RGB Lighting is off (#9051) 2020-06-01 11:02:28 +02: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 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07: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
eeprom_driver.md Add SPI 25xx EEPROM support. (#8780) 2020-05-19 10:34:00 +10:00
faq_build.md [Docs] Update udev rules to use TAG+="uaccess". (#8750) 2020-06-07 09:06:55 +01:00
faq_debug.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
faq_general.md
faq_keymap.md
feature_advanced_keycodes.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
feature_audio.md
feature_auto_shift.md
feature_backlight.md adds support for the atmega328 (#9043) 2020-06-10 22:23:11 +01:00
feature_bluetooth.md
feature_bootmagic.md Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) 2020-03-21 23:10:39 +00:00
feature_combo.md
feature_command.md
feature_debounce_type.md quantum/debounce: Added sym_pk debounce algorithm (#8587) 2020-04-11 21:29:48 +10:00
feature_dip_switch.md
feature_dynamic_macros.md
feature_encoders.md Adding information to feature_encoders.md (#9486) 2020-06-21 17:10:01 +10:00
feature_grave_esc.md
feature_haptic_feedback.md
feature_hd44780.md fixed typo for clear lcd screen function in hd44780 docs (#9086) 2020-05-13 19:06:41 +01:00
feature_key_lock.md
feature_layers.md fixed the layer limit of LT() (#9492) 2020-06-23 16:24:23 +09:00
feature_layouts.md
feature_leader_key.md Delete trailing period in documentation (#9416) 2020-06-15 02:49:36 +10:00
feature_led_matrix.md
feature_macros.md [Docs] Improve Unicode documentation (#8676) 2020-06-20 21:58:48 +01:00
feature_mouse_keys.md Decouple mouse cursor and mouse wheel in accelerated mode (#6685) 2020-03-13 12:49:44 -04:00
feature_oled_driver.md Adding OLED scroll setup functions (#8386) 2020-03-14 21:04:34 +00: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 Improve keycode handling for RGB (#7677) 2020-06-22 09:38:58 +01:00
feature_rgblight.md Improve keycode handling for RGB (#7677) 2020-06-22 09:38:58 +01:00
feature_space_cadet.md
feature_split_keyboard.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
feature_stenography.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
feature_swap_hands.md One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
feature_tap_dance.md Clean up Tap Dance docs (#9372) 2020-06-17 17:10:35 -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 [Docs] Fixed the hyperlink to `/users/_example/`. (#9326) 2020-06-10 15:27:25 -07:00
feature_velocikey.md
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02: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
getting_started_make_guide.md
getting_started_vagrant.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
hand_wire.md
hardware_avr.md
hardware_drivers.md
hardware_keyboard_guidelines.md [Docs] added the description of the reading order of the rules.mk files. (#8566) 2020-03-29 13:00:47 -07:00
how_a_matrix_works.md
how_keyboards_work.md
i2c_driver.md [Docs] Random Fixes (#8340) 2020-03-15 20:29:11 -07:00
index.html Add redirect for old getting started links (#8987) 2020-05-02 04:29:55 +01:00
internals_defines.md
internals_gpio_control.md add 'togglePin' convenience function (#8734) 2020-04-29 04:04:29 -07: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 Improve stock bootloader list (#9067) 2020-05-13 19:32:43 -07:00
keycodes.md Add OS compatibility matrix for basic keycodes (#8557) 2020-06-09 12:28:36 +01:00
keycodes_basic.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
keycodes_us_ansi_shifted.md
keymap.md [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md Add *OPT aliases for *ALT keycodes and macros (#8714) 2020-04-12 11:37:55 -07:00
newbs.md
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 Update newbs MSYS2 pacman instructions (#9445) 2020-06-21 10:54:53 +01: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
one_shot_keys.md [Docs] Fix link to mod_tap.md in the one_shot_keys.md file (#9380) 2020-06-15 02:55:00 -07:00
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
platformdev_chibios_earlyinit.md Add support for hardware and board initialisation overrides. (#8330) 2020-04-13 09:39:38 +10:00
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
power.txt
proton_c_conversion.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10:00
qmk.css
qmk_custom_dark.css
qmk_custom_light.css
quantum_keycodes.md
redirects.json
ref_functions.md Fix a couple of typos that were causing confusion (#8767) 2020-04-12 16:22:59 +10:00
reference_configurator_support.md
reference_glossary.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
reference_info_json.md
reference_keymap_extras.md feat: add dvorak-fr as extra keymap (#9512) 2020-06-24 22:52:40 -07:00
serial_driver.md Update ARM split keyboard docs (#9160) 2020-05-22 06:20:46 +10: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 [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
tap_hold.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
translating.md
understanding_qmk.md Add Post Processing to process_record (#4892) 2020-03-23 00:29:05 +11:00
unit_testing.md Edit Unit Testing Documentation (#8961) 2020-04-29 07:39:08 +10:00
usb_nkro.txt
ws2812_driver.md Fix incorrect delay when setting WS2812 (and similar) leds (#9302) 2020-06-20 12:59:28 +10: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.