qmk_firmare/docs
Aldehir Rojas 4f2f21dc05
Rewrite APA102 support (#10894)
* Rewrite APA102 support

The APA102 source was broken by commit 16a15c1cfc as it did not include the
quantum header. This commit addresses that, as well as other issues with
transferring bytes over the SPI interface, i.e. it was not setting the
clock pin back to low after sending a bit.

The deviation when sending the end frame is kept, but updated to the
latest from the referenced project.

Finally, these changes expose the global LED brightness parameter
of the APA102. Brightness values are configurable through
`APA102_DEFAULT_BRIGHTNESS` and `APA102_MAX_BRIGHTNESS`.

* Fix typo in led brightness extern

* Move driver out of AVR directory and add delay for ARM

* Experimental APA102 support on AVR and ARM

Co-authored-by: Alde Rojas <hello@alde.io>

* Refactor apa102_send_byte() calls to a loop

* Implement io_wait function for ARM

* Move APA102 drivers to own directory, fix copyright notice

* Add APA102 keymap to handwired/onekey

* Simplify RGBLIGHT_ENABLE/DRIVER option handling

Co-authored-by: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>
2020-12-30 00:28:49 +00: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 Merge remote-tracking branch 'origin/master' into develop 2020-12-27 17:37:04 +00:00
ko-kr
pt-br
ru-ru
zh-cn
.nojekyll
CNAME
README.md [Docs] Update links in main README.md (#11284) 2020-12-22 22:37:01 -08:00
_langs.md
_summary.md
adc_driver.md
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes.md
breaking_changes_instructions.md
cli.md
cli_commands.md Updated usage of qmk c2json (#11148) 2020-12-18 21:56:23 +01:00
cli_configuration.md
cli_development.md
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
documentation_best_practices.md
documentation_templates.md
driver_installation_zadig.md Update Zadig docs with list of bootloader device names and IDs (#11337) 2020-12-29 19:46:15 +00:00
eeprom_driver.md Add i2c 24LC64 eeprom (#11200) 2020-12-14 05:50:50 +11:00
faq_build.md
faq_debug.md
faq_general.md
faq_keymap.md
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 Typo fix: Useful function -> Useful Functions (#11342) 2020-12-30 01:32:30 +09:00
feature_mouse_keys.md Implement kinetic mouse movement algorithm (#6739) 2020-12-24 14:12:19 -08:00
feature_oled_driver.md
feature_pointing_device.md
feature_ps2_mouse.md
feature_rawhid.md Updated Raw HID docs to clarify packet/report length (#11211) 2020-12-23 08:04:55 +11:00
feature_rgb_matrix.md Rewrite APA102 support (#10894) 2020-12-30 00:28:49 +00:00
feature_rgblight.md Rewrite APA102 support (#10894) 2020-12-30 00:28:49 +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 Add modifier state to the split keyboard transport (#10400) 2020-12-17 16:21:26 +11:00
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
feature_userspace.md
feature_velocikey.md
feature_wpm.md
flashing.md
flashing_bootloadhid.md
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
getting_started_vagrant.md
hand_wire.md
hardware_avr.md
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.md
internals_midi_device_setup_process.md
internals_midi_util.md
internals_send_functions.md
internals_sysex_tools.md
isp_flashing_guide.md
keycodes.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keycodes_basic.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keycodes_us_ansi_shifted.md
keymap.md
mod_tap.md
newbs.md
newbs_building_firmware.md
newbs_building_firmware_configurator.md
newbs_flashing.md
newbs_getting_started.md Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +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
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.css
qmk_custom_dark.css Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
qmk_custom_light.css Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
quantum_keycodes.md
redirects.json
ref_functions.md
reference_configurator_support.md
reference_glossary.md
reference_info_json.md
reference_keymap_extras.md
serial_driver.md
spi_driver.md
support.md
sw.js
syllabus.md
tap_hold.md
translating.md
understanding_qmk.md
unit_testing.md
usb_nkro.txt
ws2812_driver.md

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.