summaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2019-04-23Translate docs into Chinese (#5693)ymzcdg2-0/+138
* Docs translate Translate some docs to Standard Chinese for Chinese Developers. * fix translate fix translate
2019-04-22RGB Matrix Animations: Three/six new reactive effects (wide, cross, nexus) ↵M-AS1-21/+33
(#5602) * added 3 new RGB_Matrix effects * made cross effect behavior smoother * removed dead code * added effect descriptions
2019-04-22Fix #3566 use an hardware timer for software PWM stability (#3615)Brice Figureau1-2/+50
With my XD60, I noticed that when typing the backlight was flickering. The XD60 doesn't have the backlight wired to a hardware PWM pin. I assumed it was a timing issue in the matrix scan that made the PWM lit the LED a bit too longer. I verified it because the more keys that were pressed, the more lighting I observed. This patch makes the software PWM be called during CPU interruptions. It works almost like the hardware PWM, except instead of using the CPU waveform generation, the CPU will fire interruption when the LEDs need be turned on or off. Using the same timer system as for hardware PWM, when the counter will reach OCRxx (the current backlight level), an Output Compare match interrupt will be fired and we'll turn the LEDs off. When the counter reaches its maximum value, an overflow interrupt will be triggered in which we turn the LEDs on. This way we replicate the hardware backlight PWM duty cycle. This gives a better time stability of the PWM computation than pure software PWM, leading to a flicker free backlight. Since this is reusing the hardware PWM code, software PWM also supports backlight breathing. Note that if timer1 is used for audio, backlight will use timer3, and if timer3 is used for audio backlight will use timer1. If both timers are used for audio, then this feature is disabled and we revert to the matrix scan based PWM computation. Signed-off-by: Brice Figureau <brice@daysofwonder.com>
2019-04-22Define RGB colors (#5300)Erovia2-1/+63
* Define RGB colors Define RGB colors and pass them to the rgblight functions, instead of defining multiple macros. * Add new color definitions support for RGB Matrix * Add/clarify info about new color definitions in Docs * Add deprecation warning banner to rgblight_list.h
2019-04-21RGB Matrix docs update from mechmerlin discussion (#5667)XScorpion21-5/+5
* RGB Matrix docs update from mechmerlin discussion * alignment * Apply suggestions from code review Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-04-20Fixing readme from feedbackRyan Caltabiano1-6/+16
2019-04-20Reducing size of data send in one frame & update Zen rev2 oled usageRyan Caltabiano1-12/+30
2019-04-20OLED Driver FeatureRyan Caltabiano2-3/+249
2019-04-20Update mouse keys docs (#5653)Markus Weimar1-3/+1
2019-04-20Change split_common to use RGBLIGHT_SPLIT (#5509)Takeshi ISHII1-1/+3
* add I2C_slave_buffer_t to quantum/split_common/transport.c Improvements to ease the maintenance of the I2C slave buffer layout. And this commit does not change the compilation results. * add temporary pdhelix(Patched Helix) code * temporary cherry-pick from #5020 add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h * add post_config.h support to build_keyboard.mk * add quantum/rgblight_post_config.h, quantum/split_common/post_config.h Add quantum/rgblight_post_config.h and quantum/split_common/post_config.h using POST_CONFIG_H variable of build_keyboard.mk. quantum/rgblight_post_config.h additionally defines RGBLIGHT_SPLIT if RGBLED_SPIT is defined. quantum/split_common/post_config.h defines RGBLIGHT_SPLIT additionally when master-slave communication is I2C. * Change split_common's transport.c I2C to use the synchronization feature of rgblight.c * Change split_common's transport.c serial to use the synchronization feature of rgblight.c * test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix * Test End Revert "test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix" This reverts commit 80118a6bbd3d9fc4c7797fef0c34bc67aa73aa98. [x] make RGBLIGHT_TEST=1 handwired/pdhelix/i2c:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/i2c:default (same RGBLIGHT_TEST=3) [x] make RGBLIGHT_TEST=3 handwired/pdhelix/i2c:default [x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2_2oled:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2_2oled:default [x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2_2oled:default * Test End, Revert "temporary cherry-pick from #5020" This reverts commit d35069f68bda0c50370442a5c7aae60c2f4ce5c0. * Test End, Revert "add temporary pdhelix(Patched Helix) code" This reverts commit aebddfc1a879796afae297ef0723a4fe73af3660. * temporarily cherry-pick from #5020 to see if it passes the travis-ci test. add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h * Passed the travis-ci test. Revert "temporarily cherry-pick from #5020 to see if it passes the travis-ci test." This reverts commit 647c0a9755eb6a05f76d09b2d59bce67b85a841f. * update docs/config_options.md * update split_common/transport.c, improves maintainability of serial transaction IDs. No change in build result. * temporary cherry-pick from #5020 * fix build fail keebio/iris/rev3:default * fix build fail lets_split_eh/eh:default * Revert "temporary cherry-pick from #5020" This reverts commit be48ca1b4515366a097af8dd1cd7b28b7ee09947. * temporary cherry-pick from #5020 (0.6.336) * Revert "temporary cherry-pick from #5020 (0.6.336)" This reverts commit 978d26a8b3cf0acc485838a7d76d6128b77c630c. * temporary cherry-pick from #5020 (0.6.336)
2019-04-20Add function to support split-keyboard in rgblight.[ch]. (#5020)Takeshi ISHII1-0/+1
* add temporary file that is rgblight.c call graph * add rgblight_update_hook() * update rgblight-call-graph.dot (temporary file) * add more hook point * add TODO comment * temporary Revert "add TODO comment" This reverts commit df6165aac9b3a31d1d3e31ce52aadc134b84eac2. * temporary Revert "add more hook point" This reverts commit 64592b06f3bcdaac47c59f922018a273bef76776. * temporary Revert "add rgblight_update_hook()" This reverts commit 432b74c912ed4333e6633e20a1bcda10c6a10eaf. * add rgblight_update_hook() * add more hook point * add TODO comment * implement rgblight_update_hook() * remove rgblight_update_hook(), add RGBLIGHT_SPLIT_SET_CHANGE_XXXX rgblight_update_hook() is too large. change to simple flag setting. * shrink rgblight_config_t * implement rgblight_update_sync() Note: The animation synchronization process has not been implemented yet. * update quantum/rgblight-call-graph.dot (temporary file) * rmove quantum/rgblight-call-graph.dot (temporary file) * update rgblight.c * Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c . * fix build break rgblight_update_sync() when all animation off * fix quantum/rgblight.c:rgblight_disable_XX() add RGBLIGHT_SPLIT_SET_CHANGE_MODE * quantum/rgblight.c change code order: move rgblight_update_sync() * add mode_base_table[] to quantum/rgblight.c * quantum/rgblight.c use mode_base_table[] and rgblight_status.base_mode * quantum/rgblkght.c animation timer integration * quantum/rgblkght.c add animation sync for split keyboard * fix mode_base_table[] and snake effect * fix build break keyboards/mxss. keyboards/mxss's local rgblight.c need old version rgblight.h * rgblight.c: fix animation sync * quantum/rgblight.c: fix snake effect sync * quantum/rgblight.c: animation sync interverl 30 sec * quantum/rgblight.c: fix rgblight_effect_rainbow_swirl() and rgblight_effect_knight() * quantum/rgblight.c: add macro RGBLIGHT_SPLIT_ANIMATION * cherry-pick from 'rgblight_modes.h sample implementation' * fix RGBLIGHT_SPLIT_ANIMATION check position * Update temporary code in Helix keyboard 'five_rows' keymap to test rgblight.c * Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled. * Changed to rgblight_sethsv_eeprom_helper() for easier reading. * add fail-safe code to quantum/rgblight.c:rgblight_task(),rgblight_timer_enable() * remove temporary code in Helix keyboard 'five_rows' keymap * quantum/rgblight.c: add split-keyboard master side sync functions add functions: uint8_t rgblight_get_change_flags(void); void rgblight_clear_change_flags(void); void rgblight_get_syncinfo(rgblight_syncinfo_t *syncinfo); change function: void rgblight_update_sync(rgblight_syncinfo_t *syncinfo, bool write_to_eeprom); * Change rgblight_update_sync() to use write_to_eeprom. * remove TODO comment from quantum/rgblight.h * Revert "fix build break keyboards/mxss." This reverts commit 90b9a1aa7d8af226751500e49e3ea0214cc4e024. (Separated this change into the newly opened PR #5461.) * Revert "Reduce the firmware size by 1500 bytes when rgblight_effect_breathing() is enabled." This reverts commit b61004e63e82cf5334cee4def4ba10cffa88885f. * update quantum/rgblight.c: Code size reduction when not using RGBLIGHT_SPLIT. * Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c . * add temporary pdhelix(Patched Helix) code * Add temporary code to split_common/transport.c to test rgblight.c. * Finish testing rgblight.c with helix keyboard. Revert "Add temporary code to Helix keyboard 'five_rows' keymap to test rgblight.c ." This reverts commit 0bf81a4723a977adc0cb09b4272ee5c9b4f2bbbb. * Finish testing rgblight.c with quantum/split_common code. Revert "Add temporary code to split_common/transport.c to test rgblight.c." This reverts commit 71db3e24eef40d4c455fb9fd1664e4487c9d927a. * remove temporary pdhelix(Patched Helix) code This reverts commit 5287e51a394741bcb6028c7cfc0dd0c984645f76. * Added description of RGBLIGHT_SPLIT macro to docs/feature_rgblight.md. * add RGBLIGHT_SPLIT_SET_CHANGE_HSVS to rgblight_init() * Changed to restart animation only when changing mode. When changing hue, sat and val, the animation is not restarted and continues.
2019-04-19Init RGB Matrix EEPROMDrashna Jaelre1-2/+2
I'm not sure how to check if it's the same as RGBLIGHT's EEPROM, but if you don't init it, it **will not** work properly until it is initialized.
2019-04-19Improve mouse keys docs and constant speed modeMarkus Weimar1-77/+84
2019-04-19Update our style guide (#5500)skullydazed1-1/+9
* Update our style guide * Clarify muiltple condition ifs * update the ifdef section
2019-04-15Features/ws2812 matrix driver (#5418)XScorpion21-1/+23
* WS2812 driver implementation for RGB Matrix * Added driver configuration docs
2019-04-14[Docs] Adding Alt↯Tab example macro (#5616)roguepullrequest1-1/+46
2019-04-11Port DIRECT_PINS from split_common/matrix.c to matrix.c (#5091)zvecr3-0/+22
* Port DIRECT_PINS from split_common/matrix.c to matrix.c * Reorder matrix.c to remove foward declaration and match split_common/matrix.c * Refactor nano to use DIRECT_PINS * Reorder matrix.c to remove foward declaration and match split_common/matrix.c * Add DIRECT_PINS documentation * Reorder matrix.c to remove foward declaration and match split_common/matrix.c - fix logic from inherited from split_common * Add DIRECT_PINS documentation - review comments
2019-04-11Remove caveat about combos with shared keys (#5601)Noah Frederick1-1/+0
Combos with shared keys are supported as of https://github.com/qmk/qmk_firmware/pull/2561. Therefore, this caveat no longer applies.
2019-04-10Revert "Update build instructions and docker file to download submodules" ↵Konstantin Đorđević1-3/+3
(#5533) * Revert "Update build instructions and Dockerfile to download submodules" This reverts commit 93210547bd1bfbbb1ffd56801bb81af46af350a5. * Update build tools docs based on feedback * Fix bad link in build tools docs
2019-04-09Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes (#5532)Jack Humbert1-1/+3
* RGB Matrix overhaul Breakout of animations to separate files Integration of optimized int based math lib Overhaul of rgb_matrix.c and animations for performance * Updating effect function api for future extensions * Combined the keypresses || keyreleases define checks into a single define so I stop forgetting it where necessary * Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain * Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes * fix bug in quantum/rgb_matrix_drivers.c Co-Authored-By: jackhumbert <jack.humb@gmail.com> * update command setting to the correct default * correct rgb config * remove commented-out lines * update docs for the 3737 * Update docs/feature_rgb_matrix.md Co-Authored-By: jackhumbert <jack.humb@gmail.com>
2019-04-08[Docs] update feature_rgblight.md: add some figures (#5578)Takeshi ISHII1-3/+29
* Added diagrams to illustrate the RGBLIGHT_LED_MAP macro and the `rgblight_set_clipping_range()` function. * change fig size * change fig size * update figs
2019-04-05Custom Tapping Term per key (#5009)Drashna Jaelre2-0/+31
* Add customizable tapping terms * Add Documentation * Fix function * Fixes * It's not a pointer * Add debugging output * Update documentation to be at least vaguely accurate * Use `get_tapping_term(tapping_key.event)` instead `e` doesn't include column and row information, properly. It registers as 255, regardless of the actual keypress. However `tapping_key.event` actually gives the correct column and row information. It appears be the correct structure to use. In fact, it looks like the issue is that `e` is actually the "TICK" structure, as defined in keyboard.h * Use variable tapping term value rather than define * Silly drashna - tapping_key.event, not event * add get_event_keycode() function * Fix typo Co-Authored-By: drashna <drashna@live.com> * Remove post_process_record_quantum since it's the wrong PR * Update quantum/quantum.c Co-Authored-By: drashna <drashna@live.com> * Better handle ifdef statement for permissive hold Since we can't be sure that tapping term is actually 500 * Update quantum.c comments based on feedback * Clean up get_tapping_term function Clean up function so that users don't need to call the event function, and instead only check the keycode * Add ability to run functionality on and off * Make ifdef's more compact
2019-04-03Eager Per Row Debouncing added (added to Ergodox) (#5498)Alex Ong1-1/+4
* Implemented Eager Per Row debouncing algorithm. Good for when fingers can only press one row at a time (e.g. when keyboard is wired so that "rows" are vertical) * Added documentation for eager_pr * Ported ergodox_ez to eager_pr debouncing. * Removed check for changes in matrix_scan. * Added further clarification in docs. * Accidental merge with ergodox_ez * Small cleanup in eager_pr * Forgot to debounce_init - this would probably cause seg-faults.
2019-04-03RGB Matrix Overhaul (#5372)XScorpion21-125/+153
* RGB Matrix overhaul Breakout of animations to separate files Integration of optimized int based math lib Overhaul of rgb_matrix.c and animations for performance * Updating effect function api for future extensions * Combined the keypresses || keyreleases define checks into a single define so I stop forgetting it where necessary * Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain
2019-04-01Fix typo in keyboard_post_init_user example, remove EPRM from Persistent ↵zvecr1-13/+8
Configuration (EEPROM) (#5528)
2019-03-30Update build instructions and Dockerfile to download submodulesMikhail Goncharov1-0/+2
2019-03-29Fixing dead links (#5503)Brian Choromanski1-0/+2
* Fixed typo of 'confid.h' to 'config.h' * Fixed broken links in docs * Fixed a lot of dead links * Removed all dead links that I could not find a replacement for * Placed knops links back in * Fixed plank keymaps so that they will compile for planck light * Https doesn't work on knops.io * tv44:budi now compiles * s60_x:amnesia0287 now compiles * Fixed allocation of key_combos so that narze keymap for planck can compile correctly * Disabled rgb on ergodone and infinity * Enabled tap dance so it compiles * Added return statement so it compiles * If compiling on light disable extra functionality * Properly redefined variable so it compiles * Remove remaining dead links
2019-03-27[Docs] Add udev rule for Input Club bootloaders (#5494)Rob Rogers1-0/+6
* Add udev rule for Input Club bootloaders * match style with file name above udev rule
2019-03-27Add 3 speed mousekey movement option (#2246)Jon Arintok1-37/+70
This allows for constant, non-accelerated mouse movement, while retaining the original functionality. Configurable by a define.
2019-03-25Document an annoyance with Grave Escape and macOS Terminal (#5483)fauxpark1-1/+1
2019-03-24Add support for RGB LEDs wired directly to each half's controller (#5392)Danny2-6/+14
* Add support for wiring RGB LEDs for both halves directly to their respective controllers RGB LEDs for each half don't need to be chained together across the TRRS cable with this * Add split RGB LED support for serial * Update config/rules for bakingpy layout * Un-nest ifdefs for hand detection * Read RGB config state from memory instead of EEPROM for serial updates * Reuse existing LED pointer instead of creating new one
2019-03-23ISP Flashing Guide - atmega32a info (#4993)wanleg1-0/+5
* update isp flashing page * update isp flashing page
2019-03-21rgblight.c: add remap feature (#5243)Takeshi ISHII1-0/+47
* rgblight.c: add RGBLIGHT_LED_MAP support * add code to keyboards/helix/rev2/keymaps/five_rows/config.h to test rgblight.c:RGBLIGHT_LED_MAP * Test end. Revert "add code to keyboards/helix/rev2/keymaps/five_rows/config.h to test rgblight.c:RGBLIGHT_LED_MAP" This reverts commit e7488d6f7338460b533d7d19a09deccb011000bf. * update docs/feature_rgblight.md * led_map[] move to PROGMEM
2019-03-20Fix link to Caterina bootloader hex files (#5452)fauxpark1-1/+1
2019-03-18[Docs] Recursively clone qmk_firmware repo (#5378)Drashna Jaelre1-2/+4
* Recursively clone qmk_firmware repo Specifically, so that it grabs the submodules, since ARM keyboards are becoming more common, and we are seeing more issues about chibiOS not being downloaded (in the error log, rather than by question) * Wrap in shell
2019-03-18[Docs] Smallish overhaul of the docs (#5281)Drashna Jaelre8-126/+172
* Fix up Common functions doc * Add to extra commands to flashing doc * Rearrange and touch up Macros * Expand Newbs Flashing guide * Update process_record documentation * Add git to best practices name in sidebar * Expand FAQ for build/flashing * Add deprecated info to functions * Update docs/feature_macros.md Co-Authored-By: drashna <drashna@live.com> * Update docs/feature_macros.md Co-Authored-By: drashna <drashna@live.com> * Update docs/flashing.md Co-Authored-By: drashna <drashna@live.com> * Update docs/flashing.md Co-Authored-By: drashna <drashna@live.com> * Update docs/keymap.md Co-Authored-By: drashna <drashna@live.com> * Update docs/newbs_flashing.md Co-Authored-By: drashna <drashna@live.com> * Update docs/newbs_flashing.md Co-Authored-By: drashna <drashna@live.com> * Update docs/custom_quantum_functions.md Co-Authored-By: drashna <drashna@live.com> * Update docs/faq_build.md Co-Authored-By: drashna <drashna@live.com> * Update docs/feature_macros.md Co-Authored-By: drashna <drashna@live.com> * Update docs/keymap.md Co-Authored-By: drashna <drashna@live.com> * Fix up Common functions doc * Make pre-init example accurate * Update docs/custom_quantum_functions.md Co-Authored-By: drashna <drashna@live.com> * Zadig Driver catchall * Spelling Depriciated * Completely remove fn_actions section
2019-03-18[Docs] Add music_map to audio documentation (#5419)Drashna Jaelre1-4/+27
* [Docs] Add music_map to audio documentation * Add link to planck as example
2019-03-17New RGB Matrix effect: Single color reactive (#5330)M-AS1-0/+2
* Adds new RGB Matrix effect: rgb_matrix_config'd reactive LEDs * [Docs] Adds disable for new effect * [Docs] Added new effect to list of effects
2019-03-15[Docs] Add VSCode guide to docs (#5124)Drashna Jaelre3-1/+119
* Add VSCode guide to docs * Fix settings menu enumeration * Update docs/other_vscode.md Co-Authored-By: drashna <drashna@live.com> * Update docs/other_vscode.md Co-Authored-By: drashna <drashna@live.com> * Update docs/other_vscode.md Co-Authored-By: drashna <drashna@live.com> * Update docs/other_vscode.md Co-Authored-By: drashna <drashna@live.com> * Update docs/other_vscode.md Co-Authored-By: drashna <drashna@live.com>
2019-03-15Add avrdude split EE_HANDS flash commands (#5414)Danny1-0/+4
* Add EEPROM avrdude flashing commands for setting handedness * Update docs with info on flashing EEPROM handedness files with commands
2019-03-14Fix ascii art (#5407)Brendan Wrafter1-1/+1
2019-03-12Next set of split_common changes (#4974)James Churchill1-1/+1
* Update split_common to use standard i2c drivers * Eliminate RGB_DIRTY/BACKLIT_DIRTY * Fix avr i2c_master error handling * Fix i2c_slave addressing * Remove unneeded timeout on i2c_stop() * Fix RGB I2C transfers * Remove incorrect comment
2019-03-08getting_started_build_tools: dfu-{util,programmer} now available from arch repoenkore1-3/+1
See https://www.archlinux.org/packages/extra/x86_64/dfu-programmer/
2019-03-08[Docs] Update the KC_MAKE example in Userspace docs (#5337)Drashna Jaelre1-15/+39
This includes a much more feature rich version of the code, as well as updating for changes that have occurred in QMK Firmware
2019-03-07[Docs] Add Tap Dance example to the docs (#5326)Dusty Pomerleau3-1/+98
* add a tapdance example for creating advanced mod-tap and layer-tap keys * add optional curly braces to match QMK conventions * change example to use `register_code16()` and tapdance keycodes more closely matching QMK variants
2019-03-05Add more "decent" text editors (#5308)Mitchel van Eijgen1-1/+1
I'm a web designer and know there are several "decent" code editors out there, but I would figure not everyone into keyboards is, so I found Sublime text a bit of a hard sell for someone who just need to manipulate some text files. VS Code or Atom would b a much better suit for them instead of dropping $80 on a "decent" text editor.
2019-03-05[Docs] Fix function signature (layer_state_set_*) (#5313)lf1-1/+1
`void uint32_t` is not a return type.
2019-03-04Clean up debounce a bit (#5255)James Churchill3-23/+16
2019-03-04Add LED Matrix to Features list for easy reference (#5280)Drashna Jaelre2-0/+2
2019-02-28[Docs] Add note about using Unicode Hex Input (#5248)Graham P Heath1-2/+4
* Add note about using Unicode Hex Input * Update docs * remove extra return, oops