qmk_firmware/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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
es Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
fr-fr Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
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 Adding few Korean translated files (#5895) 2020-11-10 06:11:04 +11: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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
_langs.md
_summary.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
.nojekyll
adc_driver.md Change analogRead calls to analogReadPin (#9023) 2020-08-29 14:30:02 -07:00
api_development_environment.md
api_development_overview.md
api_docs.md
api_overview.md
arm_debugging.md
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
breaking_changes.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
cli_commands.md Updated usage of qmk c2json (#11148) 2020-12-18 21:56:23 +01: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
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
CNAME
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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
configurator_default_keymaps.md [Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) 2020-10-18 03:50:32 +11:00
configurator_step_by_step.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
configurator_troubleshooting.md
contributing.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
custom_matrix.md
custom_quantum_functions.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
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 50-qmk.rules: Move udev rules from documentation into a file (#10664) 2020-10-17 20:30:18 +01:00
faq_debug.md Add TMK "FEED" VID to list of deprecated udev rules 2020-09-19 05:21:31 +10:00
faq_general.md
faq_keymap.md
feature_advanced_keycodes.md Doc followup 9942 (#10473) 2020-10-01 22:19:57 +01:00
feature_audio.md
feature_auto_shift.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_backlight.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_bluetooth.md Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) 2020-09-22 22:31:37 +10:00
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 changed type of process_combo_event argument in tutorial (#10621) 2020-10-13 02:14:37 +11:00
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 add DIP_SWITCH_MATRIX_GRID support (#8772) 2020-07-04 23:20:49 +09:00
feature_dynamic_macros.md Fix typo in docs/feature_dynamic_macros (#10085) 2020-08-19 22:59:59 +01:00
feature_encoders.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_grave_esc.md
feature_haptic_feedback.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_hd44780.md fixed typo for clear lcd screen function in hd44780 docs (#9086) 2020-05-13 19:06:41 +01:00
feature_joystick.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_key_lock.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_layers.md Redefine IS_LAYER_ON/OFF() as aliases for existing layer functions (#6352) 2020-07-16 22:27:55 +10:00
feature_layouts.md
feature_leader_key.md Delete trailing period in documentation (#9416) 2020-06-15 02:49:36 +10:00
feature_led_indicators.md Indicator LEDs as config (#10816) 2020-11-08 22:31:16 +00:00
feature_led_matrix.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
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 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08: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 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 One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
feature_tap_dance.md Update features to use Custom Tapping Term when appropriate (#6259) 2020-08-29 14:30:02 -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 Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
feature_velocikey.md
feature_wpm.md Add Word Per Minute calculation feature (#8054) 2020-03-23 00:06:16 +11:00
flashing_bootloadhid.md
flashing.md Add st-flash flash target (#9964) 2020-08-29 14:30:02 -07:00
fuse.txt Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
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 Remove support for Adafruit EZ-Key (#10103) 2020-08-29 14:30:02 -07:00
getting_started_vagrant.md Remove Atmel FLIP from install scripts and documentation (#8822) 2020-04-17 09:50:58 +02:00
hand_wire.md make sure all our redirects are in order 2020-03-05 16:00:10 -08:00
hardware_avr.md Remove DESCRIPTION (#9732) 2020-07-16 15:49:18 +10:00
hardware_drivers.md
hardware_keyboard_guidelines.md New command: qmk lint (#10761) 2020-11-07 09:56:08 -08:00
how_a_matrix_works.md refactor How a Matrix Works doc 2020-03-05 16:00:10 -08:00
how_keyboards_work.md
i2c_driver.md Update i2c_driver.md (#10131) 2020-08-22 14:06:16 +01: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 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08: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 [Docs] Update ISP Guide (#9748) 2020-07-18 21:24:23 +01:00
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 [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md [Docs] Add link to Tap-Hold Configuration Options from Mod-Tap (#10548) 2020-10-15 21:23:24 -07:00
newbs_building_firmware_configurator.md
newbs_building_firmware.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
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 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 Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_learn_more_resources.md
newbs_testing_debugging.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
newbs.md [Docs] redirect from /tutorial to /newbs (#10718) 2020-11-09 20:33:15 -08:00
one_shot_keys.md Update one_shot_keys.md (#10917) 2020-11-18 21:31:21 +00:00
other_eclipse.md fix two links on docs/other_eclipse.md (#8417) 2020-03-14 13:25:21 +00:00
other_vscode.md Update other_vscode.md of Japanese document (#10604) 2020-10-15 03:24:26 +09: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 Recommend use of LED Indicator config (#10895) 2020-11-16 14:16:42 +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 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
qmk.css
quantum_keycodes.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
README.md [Docs] Update links in main README.md (#11284) 2020-12-22 22:37:01 -08:00
redirects.json
ref_functions.md [Docs] Clarify functionality of update_tri_layer_state (#10370) 2020-09-21 11:35:26 -07:00
reference_configurator_support.md
reference_glossary.md fixed link to Eclipse instructions (#9647) 2020-07-05 08:50:01 +10:00
reference_info_json.md Mark 'key_count' as optional within info.json docs (#10513) 2020-10-03 00:42:11 +01:00
reference_keymap_extras.md [Keymap Extra] Add French AZERTY (AFNOR - NF Z71-300) (#9644) 2020-07-08 19:55:02 +01:00
serial_driver.md Configurable serial usart timeout (#11057) 2020-11-30 03:29:35 -08: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 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08: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 add definition WS2812_BYTE_ORDER to fix RGB LED issues (#10184) 2020-12-06 17:15:48 +11:00

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.