Commit Graph

767 Commits

Author SHA1 Message Date
Takeshi ISHII dfab177f88 Add function to support split-keyboard in rgblight.[ch]. (#5020)
* 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-19 15:05:51 -07:00
Drashna Jaelre dd64a4e738 Init RGB Matrix EEPROM
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-19 14:58:08 -07:00
Markus Weimar e3a940026e Improve mouse keys docs and constant speed mode 2019-04-18 23:31:17 -07:00
skullydazed 068571b9fe
Update our style guide (#5500)
* Update our style guide

* Clarify muiltple condition ifs

* update the ifdef section
2019-04-18 15:59:51 -07:00
XScorpion2 5fcd744ddb Features/ws2812 matrix driver (#5418)
* WS2812 driver implementation for RGB Matrix

* Added driver configuration docs
2019-04-14 17:50:35 -07:00
roguepullrequest e7e13ebdd7 [Docs] Adding Alt↯Tab example macro (#5616) 2019-04-14 11:32:11 -07:00
zvecr 0137b02319 Port DIRECT_PINS from split_common/matrix.c to matrix.c (#5091)
* 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-11 11:51:55 -07:00
Noah Frederick 606b1fe82f Remove caveat about combos with shared keys (#5601)
Combos with shared keys are supported as of https://github.com/qmk/qmk_firmware/pull/2561. Therefore, this caveat no longer applies.
2019-04-10 18:36:05 -07:00
Konstantin Đorđević 4882f7f16d Revert "Update build instructions and docker file to download submodules" (#5533)
* Revert "Update build instructions and Dockerfile to download submodules"

This reverts commit 93210547bd.

* Update build tools docs based on feedback

* Fix bad link in build tools docs
2019-04-10 14:15:51 -07:00
Jack Humbert fa4052c26e Adds the Planck EZ, 3737 RGB, fixes out-of-tune notes (#5532)
* 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 16:57:43 -07:00
Takeshi ISHII 0456bd668d [Docs] update feature_rgblight.md: add some figures (#5578)
* 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-08 10:55:00 -07:00
Drashna Jaelre 5701b75e3c Custom Tapping Term per key (#5009)
* 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-05 15:47:25 -04:00
Alex Ong 17e7762de7 Eager Per Row Debouncing added (added to Ergodox) (#5498)
* 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-03 14:45:55 -07:00
XScorpion2 c98247e3dd RGB Matrix Overhaul (#5372)
* 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-02 17:24:14 -07:00
zvecr 40c6269f9f Fix typo in keyboard_post_init_user example, remove EPRM from Persistent Configuration (EEPROM) (#5528) 2019-04-01 11:32:39 -07:00
Mikhail Goncharov 93210547bd Update build instructions and Dockerfile to download submodules 2019-03-30 10:48:09 -07:00
Brian Choromanski 3f4d706c98 Fixing dead links (#5503)
* 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-29 06:20:25 -07:00
Rob Rogers 2519de92b5 [Docs] Add udev rule for Input Club bootloaders (#5494)
* Add udev rule for Input Club bootloaders

* match style with file name above udev rule
2019-03-27 08:42:03 -07:00
Jon Arintok 346cbd8816 Add 3 speed mousekey movement option (#2246)
This allows for constant, non-accelerated mouse movement, while retaining the original functionality. Configurable by a define.
2019-03-26 19:34:33 -07:00
fauxpark 3510d8dc8d Document an annoyance with Grave Escape and macOS Terminal (#5483) 2019-03-24 17:11:26 -07:00
Danny f077204fae Add support for RGB LEDs wired directly to each half's controller (#5392)
* 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-23 17:20:14 -07:00
wanleg 1dda671e4a ISP Flashing Guide - atmega32a info (#4993)
* update isp flashing page

* update isp flashing page
2019-03-22 18:26:21 -07:00
Takeshi ISHII f7fd7f67bd rgblight.c: add remap feature (#5243)
* 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-20 16:55:24 -07:00
fauxpark ab29481391 Fix link to Caterina bootloader hex files (#5452) 2019-03-20 07:43:20 -07:00
Drashna Jaelre 161d469f2c [Docs] Recursively clone qmk_firmware repo (#5378)
* 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 14:22:33 -07:00
Drashna Jaelre c534a4c775 [Docs] Smallish overhaul of the docs (#5281)
* 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 14:22:02 -07:00
Drashna Jaelre 4f0dc945c3 [Docs] Add music_map to audio documentation (#5419)
* [Docs] Add music_map to audio documentation

* Add link to planck as example
2019-03-18 14:20:30 -07:00
M-AS 221ac2eabb New RGB Matrix effect: Single color reactive (#5330)
* 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-17 10:38:51 -07:00
Drashna Jaelre e9ace14878 [Docs] Add VSCode guide to docs (#5124)
* 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-15 14:34:58 -07:00
Danny 3c257c1c6e Add avrdude split EE_HANDS flash commands (#5414)
* Add EEPROM avrdude flashing commands for setting handedness

* Update docs with info on flashing EEPROM handedness files with commands
2019-03-15 14:05:50 -07:00
Brendan Wrafter c02c7b7517 Fix ascii art (#5407) 2019-03-14 14:18:11 -07:00
James Churchill 37932c293c Next set of split_common changes (#4974)
* 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-12 10:23:28 -07:00
enkore fef206f661 getting_started_build_tools: dfu-{util,programmer} now available from arch repo
See https://www.archlinux.org/packages/extra/x86_64/dfu-programmer/
2019-03-08 10:18:21 -08:00
Drashna Jaelre 3d446c6050 [Docs] Update the KC_MAKE example in Userspace docs (#5337)
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-08 07:56:08 -08:00
Dusty Pomerleau 6d4f6f3f49 [Docs] Add Tap Dance example to the docs (#5326)
* 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-07 12:30:02 -08:00
Mitchel van Eijgen 8c2a23dee1 Add more "decent" text editors (#5308)
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 07:31:54 -08:00
lf 4c62c7bd6e [Docs] Fix function signature (layer_state_set_*) (#5313)
`void uint32_t` is not a return type.
2019-03-04 22:08:09 -08:00
James Churchill c7c4937eef Clean up debounce a bit (#5255) 2019-03-04 07:44:46 -08:00
Drashna Jaelre 3305df8e79 Add LED Matrix to Features list for easy reference (#5280) 2019-03-03 15:29:29 -08:00
Graham P Heath 9b82a9295f [Docs] Add note about using Unicode Hex Input (#5248)
* Add note about using Unicode Hex Input

* Update docs

* remove extra return, oops
2019-02-28 12:15:38 -08:00
fauxpark 0d936b2fe6 Ask for your name when generating a new keyboard (#5214)
* Ask for your name when generating a new keyboard

* Update docs

* Apply suggestions from code review

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-02-26 07:59:34 -08:00
noroadsleft 384fef72d3 Replace instances of KEYMAP with LAYOUT
Many instances in the QMK Docs referenced KEYMAP macros, which is outdated terminology.

Replaced most instances of KEYMAP with LAYOUT, to reflect the desired usage.
2019-02-21 23:19:26 -08:00
noroadsleft 9c73a4a5c6 Grammar cleanup of Flashing Your Keyboard Newbs Guide (#5201)
Fixed references to a "built" (sic) command, and an incorrect word.
2019-02-21 09:24:59 -08:00
Chris Lewis c1c5922aae Velocikey: Match RGB animation speed to typing speed (#3754)
* Draft commit of typing speed RGB control

* More information in the readme

* Support all RGB animation modes (Fixes #1)

* Added support for all RGB light modes to use typing speed

Except christmas lights because that is seizure-inducing at high speeds!

* Introduced a value range specific to each RGB mode

Because some modes are a little too much when running at full speed!

* Update readme.md

* Update readme.md

* Re-arrange typing_speed definitions (Fixes #5) (#6)

* Re-arrange variable definitions to avoid including quantum.h from rgblight.c

* Fix a compilation error when trying to run make test:all

* Tweaks to the typing speed decay rate

* Renamed to momentum; moved implementation into dedicated files

* Groundwork for toggling momentum on/off (currently always on)

* Add EEPROM toggle for momentum-matching

* Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic

* Move momentum decay task out of rgblight_task()

* Fix missing momentum.h in lufa.c

* Experimental LED support (untested)

* Draft commit of typing speed RGB control

* More information in the readme

* Support all RGB animation modes (Fixes #1)

* Added support for all RGB light modes to use typing speed

Except christmas lights because that is seizure-inducing at high speeds!

* Introduced a value range specific to each RGB mode

Because some modes are a little too much when running at full speed!

* Update readme.md

* Update readme.md

* Re-arrange typing_speed definitions (Fixes #5) (#6)

* Re-arrange variable definitions to avoid including quantum.h from rgblight.c

* Fix a compilation error when trying to run make test:all

* Tweaks to the typing speed decay rate

* Renamed to momentum; moved implementation into dedicated files

* Groundwork for toggling momentum on/off (currently always on)

* Add EEPROM toggle for momentum-matching

* Moved momentum out of RGBLIGHT_ENABLE toggles so it's more generic

* Move momentum decay task out of rgblight_task()

* Fix missing momentum.h in lufa.c

* Added documentation

* Renamed feature to velocikey

* Reverted readme to original state

* Correct the readme title

* Updated feature name in the docs

* Update EECONFIG name

* Add compile-time toggles for velocikey

* Update feature documentation

* Revert "Merge branch 'led-support' into master"

This reverts commit e123ff5febf61639b9a9020748e1c2e2313460ff, reversing
changes made to df111a55b9d4929182e16108b1c0ead15b16df97.

* Move velocikey EECONFIG definition to depend on VELOCIKEY_ENABLE

* Rename decay_task function to decelerate

* Apply suggestions from code review

Co-Authored-By: chrislewisdev <chris@chrislewisdev.com>

* Re-order eeconfig definitions

* Apply coding conventions

* Apply #ifdef check in lufa.c

* Refactored interval time checks into one functionc

* Small rename

* Fix unused function error for layouts not using all rgb effects

* Only update EEPROM if Velocikey is enabled

* Incorporate code review feedback

* Small adjustment to top-end decay rate

* Add Velocikey documentation to table of contents

* Bring tetris:default keymap size down by disabling audio
2019-02-21 07:22:46 -08:00
Johannes Jansson 9f1d781fcb Updated hand wiring docs (#5198)
* renamed KEYMAP to LAYOUT in hand wiring docs

* added two additional guides for hand wiring
2019-02-20 17:27:27 -08:00
noroadsleft eb7a821c5b Markdown cleanup on Config Options doc
Descriptions for B5_AUDIO, B6_AUDIO, and B7_AUDIO under Hardware Options were partially italicized when parsed by Docsify, though rendered as intended by GitHub.
2019-02-20 12:06:15 -08:00
Ben 8ae83b490e [Docs] Fix typo in RGB Matrix Driver configuration (#5182)
* Fix #3797 firmware not compiling

If DRIVER_COUNT 1 firmware will not compile.

* Fix typo
2019-02-19 20:49:22 -08:00
Yan-Fa Li efef54032b [Docs] Add section about EEPROM on ARM (#5070)
* [Docs] Add section about EEPROM on ARM

* Add Preonic firmware

* Update docs/faq_build.md

add hyperlink

Co-Authored-By: yanfali <yanfali@gmail.com>
2019-02-18 08:50:22 -08:00
zvecr fc06986989 Remove CUSTOM_MATRIX option from diode direction (#5090)
* Remove CUSTOM_MATRIX refs from DIODE_DIRECTION

* Remove '#define DIODE_DIRECTION CUSTOM_MATRIX'

* Remove CUSTOM_MATRIX refs from DIODE_DIRECTION documentation
2019-02-18 08:49:51 -08:00
Konstantin Đorđević 5cb713148d Change Command keycode defaults to match corresponding Bootmagic codes (#5078)
* Change Command keycode defaults to match corresponding Bootmagic codes

* Make alternate magic key keycodes consistent

* Reflect changes from previous commit in tmk_core/common/command.c

* Remove unnecessary MAGIC_KEY_* definitions from keymaps compatible with these changes

* Swap E and BSPACE for MAGIC_KEY_EEPROM

* Add MAGIC_KEY_EEPROM_CLEAR instead of MAGIC_KEY_EEPROM_ALT

* Remove BOOTMAGIC_ENABLE checks around EECONFIG stuff

* Update Command descriptions
2019-02-17 22:23:32 -08:00
James Churchill dc5933aff7 Add clang-format section to contributing.md 2019-02-17 08:59:19 -08:00
zvecr 338ca3569a Add docs on using keyboard_post_init_user to enable debug modes 2019-02-16 21:20:18 -08:00
ishtob 2cee371bf1 Haptic feedback generalized - DRV2605 and solenoids (#4939)
* initial work to add eeprom to haptic feedback and decouple the feedback process from keyboards

* Haptic feedback enhancements: on/off toggle working, feedback order working
todo:
-work on modes switching
-get modes switching to save to eeprom

* haptic enhancement - eeprom and modes added

* Added set and get functions for haptic feedback

* initial implementation of solenoids under haptic feedback

* changed eeprom to 32 bits to reserve blocks for future features

* start documentation of haptic feedback

* change keycode per comment from reviewers

* typo fixes

* added eeprom for solenoid configs

* added solenoid and docs

* Add/fix default parameters configs, improve docs

* more doc cleanup

* add in solenoid buzz toggle, clean up doc

* some fixes for error in compiling solenoid

* fix a chibios specific i2c read function and added one for AVR controllers in DRV2605L.c

* fixes for avr side issues

* update keymap

* fix keymap compile error

* fix bugs found during solenoid testing

* set pin that is not powered during bootloader

* added warning about certain pins on the MCU may trip solenoid during DFU/bootloader
2019-02-16 18:39:30 -08:00
Jayesh Vora 222380c636 Fix documentation about one shot tap toggle
Based on conversation with Drashna on Discord, we know that if ONE_SHOT_TAP_TOGGLE is 5, then tapping a one shot mod key 5 times holds the one shot key permanently, but to come out of this, you need to press the same key only once.
2019-02-15 09:02:06 -08:00
Erovia 642f6cf14f Add support for using ranges for RGB (#4981)
* Add support for using ranges for RGB

This patch adds support for controlling continuous ranges of RGB LEDs.
Helper functions for split boards are also available.

* RGB Range: Use hardware-platform agnostic wait
2019-02-15 06:52:04 -08:00
Yan-Fa Li f3bdd436a3 Update KC_GESC documentation (#5053)
* Update KC_GESC documentation

 - document caveats on OSX and expected behavior with KC_GESC and GUI
 - clarify documentation slightly
 - give examples of expected output in actual use

* Update OSX -> macOS

* Captilization

* remove simply
2019-02-15 06:50:28 -08:00
Konstantin Đorđević cd369b7107 docker_build.sh: Run container in interactive mode (#5088)
* docker_build.sh: Run container in interactive mode

* Add message about QMK Toolbox

* Update Docker docs
2019-02-15 06:46:42 -08:00
Ben 1e1b55fbdf Improve Encoder documentation (#5130) 2019-02-14 21:00:57 -08:00
Drashna Jaelre c22f3ba3a2
Debounce refactor / API (#3720)
* Added xeal60 via clone of lets split

* Delete removed other keymaps

* Basic keymap (no FN). Compiles.

* Removed NP_STAR and NP_SLSH.

* Removed "debounce_algo = manual" in all keyboards with CUSTOM_MATRIX = yes.

* Changed order of rules in TMK. Documented feature.

* Fixed missing whitespace in debounce documentation

Table wasn't working due to missing newline.

* Added bold in a few areas.

* DO NOT USE - Removed debounce from TMK.

* Remove accidental xeal60 commit

* DO NOT USE - debounce successfully compiled.

* DO NOT USE Revert back to original API to support split_keyboards.

* Working eager_pk

* Whitespace cleanup.

* Restored debounce.h since there wasnt any real change.

* Moved debouncing_time variable  to inside #if debounce

* Removed check for custom_matrix. We can safely include the debounce file for compilation when custom_matrix is used.

* Removed #include "matrix.h" from debounce.h

* Bug fix - was using MATRIX_ROWS instead of num_rows

* Fixed compilation error with debounce_sym_g

* Renamed DEBOUNCE_ALGO to DEBOUNCE_TYPE

* Malloc array in debounce_eager_pk, since split keyboards only use MATRIX_ROWS/2.

* Fix compile error in debounce_eager_pk

* Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk
2019-02-14 20:36:20 -08:00
Drashna Jaelre cc5c6b449a Add kb and user level keyboard initialization functions (#3113)
* Add suspend functions

* Disable RGB code if it's disabled

* Add keyboard_init functions

* Change where references so it will compile

* Wrong command chained in wake up kb function

* Fix non-feature file changes

* Add documentation

* Re-add matrix init docs

* add rgblight code to example

* Remove suspend code

* Clean up docs

* Fix docs

* Fix suspend code

* more doc fixes

* change function to startup_* rather than keyboard_init_

* fix spelling error

* fix up docs to finish removing keyboard_init

* Use Pre and Post init functions

* Update Documenation

* Remove changes to my keymap and userspace code

* Cleanup

* Revert changes to extra files

* Forgot a semicolon

* Make sure all protocols call keyboard_setup

* Cleanup functions

* Unset startup_user

* Remove changes from division keyboard

* Readd startup_user function

* Remove all to startup_user

* Update docs/custom_quantum_functions.md

Co-Authored-By: drashna <drashna@live.com>

* Update docs/custom_quantum_functions.md

Co-Authored-By: drashna <drashna@live.com>

* Add suggestion line

* Rebase fixes

* Update documentation to be more useful/accurate

* Cleanup of documentation

* Fix spacing inconsistency

* Revert unexpected change to keymap
2019-02-14 20:18:54 -08:00
zvecr 40e67a3074 Add a mechanism for force building a particular community layout (#5027)
* Add a mechanism for force building a particular community layout

* Add docs for FORCE_LAYOUT argument

* Update output name when FORCE_LAYOUT is enabled
2019-02-14 20:14:26 -08:00
skullY 24df54b807 Add documentation for led matrix 2019-02-10 15:37:12 -08:00
skullY fd698c43d7 The beginning of a simple led matrix driver for is31fl3731 2019-02-10 15:37:12 -08:00
Joshua Bragge e251850cd8 added missing ; on example (#5089) 2019-02-09 09:18:08 -08:00
skullY bcb1815420 Add label to the info.json reference 2019-02-08 15:13:20 -08:00
skullY 83f74dd94c fix the case for some elements 2019-02-08 15:13:20 -08:00
noroadsleft c6183ab4fc Update docs/reference_info_json.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
skullY aeee735f35 Clarify LAYOUT vs LAYOUT_all 2019-02-08 15:13:20 -08:00
skullY 330e2e6af5 Address comments in #4832. Move info.json reference to its own file. 2019-02-08 15:13:20 -08:00
Konstantin Đorđević 24b7d058e2 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević a45b625b62 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević a5f1581316 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević 5fdb398e0a Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević bd9be8af4a Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević 59bf9127f2 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević b577b3b461 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević a47860e7e3 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević 096b480e3d Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević 9f2f9b5333 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
Konstantin Đorđević 7e44618325 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
fauxpark 81a5e4d718 Update docs/hardware_keyboard_guidelines.md
Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>
2019-02-08 15:13:20 -08:00
skullY 154e1d99c3 tweak the keyboard guidelines 2019-02-08 15:13:20 -08:00
skullY c3e0ef4d8a Update the keyboard guidelines 2019-02-08 15:13:20 -08:00
Erez Zukerman c789577675 Adds a period to the docs.
Yes, really. Revolutionary, I know!
2019-02-07 13:30:17 -08:00
Yan-Fa Li 3a513fc3a3 [Docs] Bootmagic Lite Caveat (#5069)
Document that using bootmagic lite resets the eeprom every time.
2019-02-06 16:43:47 -08:00
Robin Hallabro-Kokko 4397b17ca0 faq_build.md: Add section about serial devices on Linux 2019-02-06 14:56:40 -08:00
Anthony 5c7a31eae2 Improvements to Space Cadet Shift (#3856)
* Improvement of Space Cadet Shift by preventing to automatically apply a modifier on the key and allow to override the default modifier. Closes qmk/qmk_firmware#3815

* Improve the use of the DISABLE_SPACE_CADET_MODIFIER flag to avoid unregistering KC_LSFT when equals to LSPO_MOD

* change #if to if statement
2019-02-05 10:36:26 -08:00
Thomas Baart 47051f506f Add One Shot Key callbacks (#4697)
* Added callbacks to one shot modifier changes

* Altered signature of callback functions

* Reordered the callback methods, shortened brief documentation

* Added One Shot Modifier callback documentation

* First attempt at unit tests

* Revert "First attempt at unit tests"

This reverts commit 5ec21a782202c0d74cf21cb852bd319f0c8b4842.

* Simplified oneshot function implementations

* Made clear_oneshot_locked_mods to be conform action_util.h, adhering to the (void) signature

* Made used datatypes for oneshot mods consistently unsigned integers

* Corrected callback to call clear callback when clear_oneshot_locked_mods is invoked

* Simplified oneshot equals statements

* Corrected return type and signature of get and set oneshot locked mods

* Consolidated one shot callbacks, added initial layer callback version

* Fixed non-updating one shot layer variable after timeout or other clear, added code comments

* Added better one shot key docs
2019-02-05 10:19:56 -08:00
MechMerlin efe360464d Contribute the MechMerlin QMK Configurator docs (#4986)
* first pass at configurator docs

* edit existing docs to make reference to QMK Configurator

* contribute my own newb guide to QMK officially from https://github.com/mechmerlin/qmk_setup/blob/master/qmk_configurator.md

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Big red box!

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Big red box

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>

* Update docs/newbs_building_firmware_configurator.md

Co-Authored-By: mechmerlin <30334081+mechmerlin@users.noreply.github.com>
2019-01-28 17:31:33 -08:00
Rockman18 df251d7a13 Backlight - New option : BACKLIGHT_CAPS_LOCK (#4769)
* [BACKLIGHT_CAPS_LOCK_INDICATOR] Use backlight toggling as Caps Lock LED

I've implemented this feature because S65-X doesn't have LED indicators
and the existing led_set_kb(usb_led) function try to use backlight as
indicator but that creates an inconsistency with backlight_config state.

- define `BACKLIGHT_CAPS_LOCK_INDICATOR` to enable Caps Lock indicator
  using backlight (for keyboards without dedicated LED)

- Don't turn off LED indicators when suspend because backlight is
  already turned off. Else led_set(0) will turn back on backlight.

- Documentation has been updated

* [BACKLIGHT_CAPS_LOCK_INDICATOR] Turn off all LED indicators except Caps Lock if BACKLIGHT_CAPS_LOCK_INDICATOR

* [BACKLIGHT_CAPS_LOCK] Rename BACKLIGHT_CAPS_LOCK_INDICATOR

* [BACKLIGHT_CAPS_LOCK] Use new IS_LED_ON method
2019-01-28 16:57:56 -08:00
Konstantin Đorđević 4d9b11af14 Fix Command feature: use get_mods() instead of keyboard_report->mods (#4955)
* Remove unnecessary IS_COMMAND definition in clueboard/66/rev4

* Replace keyboard_report->mods with get_mods() in IS_COMMAND definitions

* Update docs to use get_mods() instead of keyboard_report->mods

* Replace keyboard_report->mods with get_mods() in tmk_core/protocol/usb_hid/test

For some reason, this occurrence used KB_LSHIFT and KB_RSHIFT, which don't exist

* Replace keyboard_report->mods with get_mods() in Massdrop keyboards (as per @patrickmt)
2019-01-27 00:28:40 -08:00
alex-ong 7d8c629939 Stricter, leaner DEBOUNCE_TYPE section in common_features.mk. Cleanup debounce_type.mk 2019-01-27 07:23:15 +11:00
alex-ong cce8dfab39 Removed check for custom_matrix. We can safely include the debounce file for compilation when custom_matrix is used. 2019-01-26 20:37:47 +11:00
alex-ong 574fc6444b Whitespace cleanup. 2019-01-26 17:38:52 +11:00
Alex Ong c9ba618654 DO NOT USE Merge branch 'master' into debounce_refactor
Merged, however now there are two debounce.h and debounce.c to mess around with and coalesce.
# Conflicts:
#	quantum/matrix.c
2019-01-26 12:13:19 +11:00
fauxpark 79b58937f4 Add C(), A() and G() to match already existing S() (#4673) 2019-01-25 13:12:48 -08:00
Dave Brown b4ae07cbb1 Adding documentation for the LM layer modifier. (#3617)
* Adding documentation for the LM layer modifier.

This will hopefully clear up some of the confusion around adding this layer modifier.  I struggled with this a bit as well at first.

* Removing duplicate table.

* Changed section title to `Changing Layers`

* Retain name
2019-01-25 12:00:04 -08:00
Balz Guenat 5dcb1114d7 Fix a typo in link to the Pro Micro ISP firmware 2019-01-24 16:13:18 -08:00
Konstantin Đorđević 0f8431a57f Tidy up IS_{,HOST_}LED_{ON,OFF} macros (#4894)
* Tidy up IS_{,HOST_}LED_{ON,OFF} macros

* Tweak LED control docs
2019-01-20 20:16:36 -08:00
Drashna Jaelre 52f1206712 Fix Encoder documentation (#4861) 2019-01-18 07:33:43 -08:00
noroadsleft 3c26f07f5a Grammatical fixes for GPIO Control doc (#4869)
* Grammatical fixes for GPIO Control doc

I found the Advanced Settings section to be poorly written.

* Commit suggestions from fauxpark

* Change first instance of "microcontroller" to match suggestion
2019-01-17 22:13:09 -08:00
fauxpark ba05f9667b Add new brightness aliases to keycodes_basic.md 2019-01-17 18:35:45 -08:00
DidierLoiseau 94ba2e5a9f Defined IS_(HOST_)LED_ON/OFF() and improved LED documentation (#4853)
* Defined IS_(HOST_)LED_ON/OFF() and improved LED documentation

* Update docs/custom_quantum_functions.md

Co-Authored-By: DidierLoiseau <didierloiseau+github@gmail.com>

* Update docs/custom_quantum_functions.md

Co-Authored-By: DidierLoiseau <didierloiseau+github@gmail.com>

* Integrated @drashna and @fauxpark's PR comments

- changed all plurals of "LED" to "LEDs" in the file
- rewording of the note about host_keyboard_leds() vs. led_set_user()

* Update docs/custom_quantum_functions.md

Co-Authored-By: DidierLoiseau <didierloiseau+github@gmail.com>
2019-01-17 17:28:33 -08:00
Jeremy Bernhardt 77399bfe51 MacOS Brightness Alias (#4836)
* Added aliases for OSX brightness

* Updated docs for alises

* Moved aliases, added docs to Brightness section

* Update docs/keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update docs/keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>

* Update keycode.h

* Update keycode.h

* Update keycodes.md

* Update docs/keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>
2019-01-17 17:23:01 -08:00
James Churchill 28929ad017 Simplify split_common Code significantly (#4772)
* Eliminate separate slave loop

Both master and slave run the standard keyboard_task main loop now.

* Refactor i2c/serial specific code

Simplify some of the preprocessor mess by using common function names.

* Fix missing #endif

* Move direct pin mapping support from miniaxe to split_common

For boards with more pins than sense--sorry, switches.

* Reordering and reformatting only

* Don't run matrix_scan_quantum on slave side

* Clean up the offset/slaveOffset calculations

* Cut undebounced matrix size in half

* Refactor debouncing

* Minor fixups

* Split split_common transport and debounce code into their own files

Can now be replaced with custom versions per keyboard using
CUSTOM_TRANSPORT = yes and CUSTOM_DEBOUNCE = yes

* Refactor debounce for non-split keyboards too

* Update handwired/xealous to build using new split_common

* Fix debounce breaking basic test

* Dodgy method to allow a split kb to only include one of i2c/serial

SPLIT_TRANSPORT = serial or SPLIT_TRANSPORT = i2c will include only
that driver code in the binary.

SPLIT_TRANSPORT = custom (or anything else) will include neither, the
keyboard must supply it's own code

if SPLIT_TRANSPORT is not defined then the original behaviour (include
both avr i2c and serial code) is maintained.

This could be better but it would require explicitly updating all the
existing split keyboards.

* Enable LTO to get lets_split/sockets under the line

* Add docs for SPLIT_TRANSPORT, CUSTOM_MATRIX, CUSTOM_DEBOUNCE

* Remove avr-specific sei() from split matrix_setup

Not needed now that slave doesn't have a separate main loop.
Both sides (on avr) call sei() in lufa's main() after exiting
keyboard_setup().

* Fix QUANTUM_LIB_SRC references and simplify SPLIT_TRANSPORT.

* Add comments and fix formatting.
2019-01-17 10:08:14 -08:00
Jeremy Bernhardt 5287b94e6f Pointed LM Docs at expected keycodes (#4835)
* Pointed LM Docs at expected keycodes

* Update docs/feature_advanced_keycodes.md

Co-Authored-By: germ <jeremythegeek@gmail.com>
2019-01-14 09:10:57 -08:00
orbitingorca 3ac6989cc1 Documentation clarification (#3611)
* Documentation fix

* Further clarification
2019-01-10 08:30:30 -08:00
Guilherme Lima aad4319b40 docs: Add Manjaro/Arch dependencies on getting started page (#2701)
* Update getting_started_build_tools.md

* Update getting_started_build_tools.md
2019-01-10 08:28:52 -08:00
Jack Humbert 3cf179be61 Adds Proton C Conversion (#4661)
* adds proton c base

* fixes custom matrix include

* adds readme.md

* initial proton coversion, no pin mapping

* start of mcu selection

* add pin mapping and sweet16 test

* add at90 to list

* disable backlight, fix d7

* update flag names

* doc updates

* proton c update for mcu selection
2019-01-10 08:22:57 -08:00
fauxpark 3bd30085d8 Tidy up Mod-Tap shortcuts (#4806) 2019-01-08 16:22:09 -08:00
Konstantin Đorđević cd9262d7b2 Improve consistency in UNICODEMAP code and docs, update docs/understanding_qmk (#4774)
* Remove unused UNICODE(n) macro, update docs

* Add note about max length of unicode_map to docs

* QK_UNICODE_MAP → QK_UNICODEMAP

* Refactor process_unicode_map

* process_unicode_map → process_unicodemap

This is done for consistency: UNICODEMAP is the method (hence UNICODEMAP_ENABLE, process_unicodemap), whereas unicode_map is the mapping table itself.

* Update references and ordering in docs/understanding_qmk

* Add additional note to docs/understanding_qmk

* &unicode_map[index] → unicode_map + index

This avoids the issue of the compiler sometimes complaining about the array index being out of range

* Update docs/getting_started_make_guide

* Update method sections in docs/feature_unicode
2019-01-07 12:56:57 -08:00
Alex Ong 2bb2977c13 Merge branch 'master' into debounce_refactor
# Conflicts:
#	tmk_core/common/keyboard.c
2019-01-04 19:43:45 +11:00
Danny c0859ac096 Update split keyboard docs (#4735)
* Remove unused I2C_MASTER_RIGHT setting

* Update documentation about split keyboard options
2018-12-28 13:02:53 -08:00
Kyle Brown fbcbf44926 Update feature_advanced_keycodes.md (#3672)
* Update feature_advanced_keycodes.md

Probably a better way to word it, but I've solved this issue on reddit several times, had to solve this for friends, ect. It's something worth being in the docs as it's a common issue, and not always intuitive. I have offered this change as I was told by several people "It was never mentioned in the docs".

* Update feature_advanced_keycodes.md

Clear up what was meant to be said.
2018-12-28 10:31:15 -08:00
Gergely Peidl ca35647535 Feature Unicode example code fixed. 2018-12-21 07:21:41 -08:00
Drashna Jaelre afd5cda4a0 Fix up process_leader to be a bit more optimized (#4662)
* Fix up process_leader to be a bit more optimized

* Process dual function keys better

* Make leader start a callable function

* Fix per key timer call location

* Add escape if already leading

* Return false for KC_LEAD

* Add documentation
2018-12-20 16:54:06 -08:00
Drashna Jaelre 6395853148 Docs: Add additional clarification to Leader Key documention (#4660)
* Add clarification for Leader Timeout

* Add additional documentatin to config_options.md

* Add leader_start() and leader_end() documentation

* Add Examples

* Clarify timout

* Remove customization

* Improve docs based on feedback

* Better clarification of features

* Fix example

* Spelling/grammar issue

* Spelling and clarification
2018-12-20 08:58:12 -08:00
Drashna Jaelre fdeec29636 Overhaul Unicode Common functionality (#4325)
* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* remove merge artifacts

* Unicode common cleanup (#17)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Remove trailing whitespace

* Improve Cycling documentation

* Add Unicode Input method Cycling support (#19)

* Standardize the Unicode EEPROM code

* Remove unicode init from process_record_* functions

* Add unicode init to where it belongs: matrix_init_quantum

* Move Unicode proccessing to unicode common

* Add audio feedback to input mode keys to drive konstantin up a wall

* Tap_code cleanup

* Update keycodes

* Update unicode documentation

* Update unicode keycodes for consistency/easier merge

* Add Audio Feedback section

* Remove Functions from feature page

And link to the file instead.  Link to specific lines later on.

* Fix white spaces

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* Because I missed it!

Co-Authored-By: drashna <drashna@live.com>

* Fix spacing

Co-Authored-By: drashna <drashna@live.com>

* SPAAAAAAAAAACing

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Add BSD for future compatibility

* Thought I fixed that!

Co-Authored-By: drashna <drashna@live.com>

* non-breaking

Co-Authored-By: drashna <drashna@live.com>

* Considered that

Co-Authored-By: drashna <drashna@live.com>

* Yuuup

Co-Authored-By: drashna <drashna@live.com>

* consistency

Co-Authored-By: drashna <drashna@live.com>

* white spaces .... copied from elsewhere

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* white spaces

Co-Authored-By: drashna <drashna@live.com>

* Update keycode defines

* Fix Linux Song

* Update all of the songs

* Cleanup

* Move and update check to ensure only one unicode method is enabled

* Update quantum/quantum_keycodes.h

* Update documentation

* Wordsmithing and cleanup

* Format unicode_common (#13)

* case alignment

* process_record_unicode_common → process_unicode_common

* Move song arrays into function where they're used, align preprocessor directives

* Swap the order of UC_WIN and UC_BSD

* Update Unicode docs

* Reorder Unicode mode stuff to match the order of input mode constants

* Fix capitalization in doc subtitle

* Readd BSD and OSX_RALT songs

* Reword BSD note in docs

* Readd BSD keycode description

* Reword explanation of input on different platforms

* Steal vomindoraan's input mode documentation

Co-Authored-By: vomindoraan (vomindoraan@gmail.com)

* Willingly give Drashna the rest of my Unicode doc improvements

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Rearrange process_unicode_common functions

* Make Unicode input mode constants (UC_*) an enum

* Simplify unicode_input_start/finish code

* Make the key used for WinCompose configurable

* Remove UC_OSX_RALT in favor of setting the key with UNICODE_OSX_KEY

* Update Unicode input mode doc

* Add descriptions and rearrange definitions in process_unicode_common.h

* Add registry command to Unicode docs + misc updates

* Reword an explanation in Unicode docs

* Add TODO comment

* Add cycle_unicode_input_mode and UNICODE_SELECTED_MODES macro

* Add an option for making cycle changes persistent

* Add debug prints to functions that change input_mode

* Use cycle_unicode_input_mode in whitefox/konstantin

* Add persist_unicode_input_mode function

* Add offset to cycle to allow stepping in reverse

* Add keycodes: UNICODE_MODE_FORWARD, UNICODE_MODE_REVERSE

Aliases: UC_MOD, UC_RMOD (respectively)

* REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts

* Fix wrong constant name

* Revert "REVERT ME: Undo changes to whitefox/konstantin to avoid conflicts"

This reverts commit 42676bf251fc8e3823f5e614dad6e510ba47a2f3.

* Change dprintf text

* Give selected modes priority over EEPROM when !UNICODE_CYCLE_PERSIST

* Remove trailing whitespace

* Cleanup of RALT code and unicode compilation stuff

* Remove else for unicode handling
2018-12-19 08:39:24 -08:00
Alexander Kagno 3ec4a00bfc Per Key Leader Timing Option (#4026)
* leader changes to enable per key timing option

* Changes requested to docs for @drashna

* Changes requested by @drashna
2018-12-15 07:29:24 -08:00
Takeshi ISHII 155e9310ff Make quantum/split_common/serial.[ch] configurable (#4419)
* add temporary compile test shell script

* add 'CONFIG_H += serial_backward_compatibility.h' into common_features.mk:SPLIT_KEYBOARD block

* add quantum/split_common/serial_backward_compatibility.h

SERIAL_PIN_PORT and other PIN define move to serial_backward_compatibility.h
SERIAL_BACKLIT_START move to split_util.h

* quantum/split_common/serial.c change to helix-serial.c style serial configuration

* add temporary file quantum/split_common/split-keyboards-list.txt

* add '#define SOFT_SERIAL_PIN D0' to keyboards/6lit/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/divergetm2/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/ergotravel/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/foobar/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/handwired/dactyl_manuform/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/handwired/qc60/config.h

* add '//#define SOFT_SERIAL_PIN D0' to keyboards/handwired/xealous/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/iris/rev*/config.h

* add '//#define SOFT_SERIAL_PIN D0' to keyboards/lets_split_eh/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/levinson/rev*/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/miniaxe/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/nyquist/rev?/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/quefrency/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/qwertyydox/config.h,keyboards/qwertyydox/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/redox/rev1/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/rorschach/rev1/config.h

* remove '#define SOFT_SERIAL_PIN D0' from quantum/split_common/serial_backward_compatibility.h

* remove temporary file quantum/split_common/split-keyboards-list.txt

* remove temporary compile test shell script

* Revert "remove temporary compile test shell script"

This reverts commit 15b0021b4092127b8d8a21f572642ad3702b46d4.

* update quantum/split_common/compile_split_test.sh for new keyboard test

* add '#define SOFT_SERIAL_PIN D0' to keyboards/diverge3/config.h

* add '#define SOFT_SERIAL_PIN D0' to keyboards/40percentclub/25/config.h

* remove temporary compile test shell script

* update docs/config_options.md, quantum/template/avr/config.h

* fix quantum/template/avr/config.h

* fix typo  docs/config_options.md
2018-12-14 11:00:10 -08:00
Drashna Jaelre 9739d6ba0a Docs: Clarify audio keycodes (#4620)
* Clarify audio keycodes

* Spelling errors

Co-Authored-By: drashna <drashna@live.com>

* Spacing in md

Co-Authored-By: drashna <drashna@live.com>

* Fix midi link too

* Wordsmithing
2018-12-14 10:43:24 -08:00
Drashna Jaelre 02d44beb44 Fix up tap_code functionality (#4609)
* Add delay in Tap Code to avoid issues

I think a few people have reporting issues with it working properly, and it may be a timing issue.  The 'register_code' uses this sort of delay in some of the functions, and
this is probably why.

Adding the 100ms delay should hopefully fix any issues with it.

* Make tap_code delay configurable

* Update documentation

* Bring tap_code16 inline with changes

* Fix type for tap_code16

Bad copy-paste job

* Just use the value check for the define

* Clarify timing in docs

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 09:01:58 -08:00
Drashna Jaelre 80dfd34fe4 Add additional resource links (#4594)
* Add additional resource links

And fix a typo or two

* Update docs/newbs.md

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 07:52:11 -08:00
Drashna Jaelre 8c3054777a Docs: Remove duplicate layer block in keycodes.md (#4621)
* Docs: Remove duplicate layer block in keycodes.md

Reorder and add OSL

* remove glitch

Co-Authored-By: drashna <drashna@live.com>
2018-12-14 07:51:17 -08:00
Drashna Jaelre 6c6bbff600 Enhance documentation for Tap-Hold functions (#4628) 2018-12-14 07:37:27 -08:00
Drashna Jaelre 641bbeb41a Remove userspace info from Quad-Function Tap Dance example (#4631) 2018-12-14 07:36:38 -08:00
Fredric Silberberg 9e6ee47779 Added noeeprom versions of set hue, sat, val, and step 2018-12-13 18:30:15 -08:00
Konstantin Đorđević 28fbf84cc5 Add standard definitions for ALGR and KC_ALGR (#4389)
* Add standard ALGR defition, remove (re)definitions from language files

* Use ALGR(kc) consistently in ALTGR(kc) aliases

* Non-Nordic keymaps should not use NO_ALGR

* Add standard KC_ALGR definition

* Update docs with ALGR and KC_ALGR

* Update SS_ALGR and ALGR_T aliases
2018-12-12 10:17:19 -08:00
Drashna Jaelre fb900e2ad1 Fix macro docs to be consistent with keyboard template (#4600) 2018-12-11 09:11:35 -08:00
Ben 16302be5ad docs typo (#4584) 2018-12-09 14:26:09 -08:00
Konstantin Đorđević 13ad650136 Add a better Docker build script + update Dockerfile (#4222)
* Add a Docker build script

* Add usage and error messages

* Add -r to reads

Thanks mechmerlin

* Add keyboard:keymap form, improve script

* Add target argument, change usage forms in script

* Add check for more than 3 args in keyboard:keymap:target form

* Change Docker base image to debian, use community repo

This matches what qmk_compiler uses (https://github.com/qmk/qmk_compiler/blob/master/Dockerfile#L1).

I've removed the maintainer as we now have a community build on Docker Hub (https://hub.docker.com/r/qmkfm/qmk_firmware). This Dockerfile will also be maintained by the community.

* Change build command format to keyboard:keymap

* Call make directly in container run command

* Simplify script, remove 3-arg form

* Add COPY to Dockerfile so images are usable in and of themselves

Also change WORKDIR from /qmk to /qmk_firmware

* Add USB pass-through for Linux and docker-machine hosts

* Read directly into variables instead of array

* Alphabetically sort dependencies in Dockerfile

* Set executable bit on util/docker_build.sh

* Update Docker docs

* Add warning about Docker on Windows

* Expand comment in docs

* Check docker-machine exit code instead of string

* Only match --help with whole arguments

* Make script POSIX-compliant

* Convert script indentation to tabs
2018-12-08 09:42:46 -08:00
Drashna Jaelre 2ad2b73d68 Add support for PR and Issue templates to QMK_firmware GitHub (#4494)
* Add support document

* Add Bug Report

* Add GitHub Pull Request Template

* Feature request issue template

* Touch up feature request template

* Add 'other issues' template

* move support doc

* Minor tweaks

* More minor tweaks

* Spleeling fix

Co-Authored-By: drashna <drashna@live.com>

* CapiTALization fIXes

Co-Authored-By: drashna <drashna@live.com>

* Use new issue URL

Co-Authored-By: drashna <drashna@live.com>

* Add blanck issue template

* Update the PR template

* Formatting and additional changes

* Update docs/support.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-07 16:51:27 -08:00
fauxpark 42c9fd2625 Delete docs/keycode.txt (#4505) 2018-12-06 08:31:17 -08:00
Drashna Jaelre 59b2be6200 Re-order feature list in sidebar (#4555)
Specifically, moved the shifted keycodes to the top of the 'Feature' list, so it's more visible.  This way, all of the keycodes are at the top of the list, rather than having the shifted keys at the bottom, so they should be easier to find since they're all in one place.
2018-12-05 10:28:06 -08:00
Drashna Jaelre 3a0f3a5bd0 Make ARM Audio max volume configurable (#4540)
* Make ARM Audio max volume configurable

* Update docs/feature_audio.md

Co-Authored-By: drashna <drashna@live.com>

* Update docs/feature_audio.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-03 16:42:57 -08:00
Jack Humbert 5d47231f2a
Add sidebar for ZH (#4533)
* add zh-cn readme

* edit readme

* Round 1 of edits

- Mandarin translation of QMK products is off, best to use the English name.
- Fix some terminology and grammar.

* trying re-translating the first paragraph

* add fallback langurages

* Create LANGS.md

* Rename docs/zh-cn/README.md to docs/zh/README.md

* Update LANGS.md

* Update index.html

* Delete README.md

* add sidebar for zh
2018-12-02 15:35:53 -05:00
Jack Humbert d5a06aec83
Second try at configuring i18n for docsify and gitbook (#4531)
* add zh-cn readme

* edit readme

* Round 1 of edits

- Mandarin translation of QMK products is off, best to use the English name.
- Fix some terminology and grammar.

* trying re-translating the first paragraph

* add fallback langurages

* Create LANGS.md

* Rename docs/zh-cn/README.md to docs/zh/README.md

* Update LANGS.md

* Update index.html
2018-12-02 15:12:54 -05:00
Drashna Jaelre 75a51659ab Add tap_random_base64 and software timer info to Useful Functions doc (#4360)
* Update docs

* Add security caveat

Co-Authored-By: drashna <drashna@live.com>

* Wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* Update docs/ref_functions.md

Co-Authored-By: drashna <drashna@live.com>
2018-12-01 08:21:06 -08:00
Jack Humbert b10aad45b6
Test out i18n of the docs (#4519)
* add zh-cn readme

* edit readme

* Round 1 of edits

- Mandarin translation of QMK products is off, best to use the English name.
- Fix some terminology and grammar.

* trying re-translating the first paragraph
2018-11-30 00:14:55 -05:00
Paul Massendari fbf59ba2e5 Typo fix (#4515) 2018-11-29 07:33:45 -08:00
Giuseppe Rota 8b85ec2a98 Add Extrakey support for Brightness up/down (#4477) 2018-11-28 08:19:07 -08:00
Konstantin Đorđević 1904319745 Remove RGB_SMOD alias and replace uses with RGB_MOD (#4319) 2018-11-27 15:34:06 -08:00
mtei 90f9fb4eee Fixed docs/newbs_testing_debugging.md and tmk_core/common/print.h 2018-11-27 14:40:19 -05:00
Drashna Jaelre b7b20cd9df
Revert "Add support for PR and Issue templates to QMK_firmware GitHub (#4491)" (#4492)
This reverts commit b91dfa04e3.
2018-11-26 14:35:48 -08:00
Drashna Jaelre b91dfa04e3
Add support for PR and Issue templates to QMK_firmware GitHub (#4491)
* Add support document

* Add Bug Report

* Add GitHub Pull Request Template

* Feature request issue template

* Touch up feature request template

* Add 'other issues' template

* move support doc
2018-11-26 14:35:01 -08:00
noroadsleft 834b555eca Keymap FAQ: fix positions of KC_HENK and KC_MHEN for JIS layout (#4482)
These keys were previously in each other's positions.
2018-11-25 18:40:47 -08:00
noroadsleft ee8627e078 Add EEPROM_RESET keycode to keycodes.md doc (#4473) 2018-11-23 20:07:53 -08:00
Florian Didron 504bf11769 Allows disabling rgb effects in userspace (#4422)
* Allows disabling animations in user space

* Describe disabling effects in the docs

* Allows disabling individual reactive modes

* Adds the list ode defines
2018-11-18 08:24:41 -08:00
James Laird-Wah 39bd760faf Use a single endpoint for HID reports (#3951)
* Unify multiple HID interfaces into one

This reduces the number of USB endpoints required, which frees them up
for other things.

NKRO and EXTRAKEY always use the shared endpoint.

By default, MOUSEKEY also uses it. This means it won't work as a Boot
Procotol mouse in some BIOSes, etc. If you really think your
keyboard needs to work as a mouse in your BIOS, set
MOUSE_SHARED_EP = no in your rules.mk.

By default, the core keyboard does not use the shared endpoint, as not
all BIOSes are standards compliant and that's one place you don't want
to find out your keyboard doesn't work.. If you are really confident,
you can set KEYBOARD_SHARED_EP = yes to use the shared endpoint here
too.

* unify endpoints: ChibiOS protocol implementation

* fixup: missing #ifdef EXTRAKEY_ENABLEs

broke build on AVR with EXTRAKEY disabled

* endpoints: restore error when too many endpoints required

* lufa: wait up to 10ms to send keyboard input

This avoids packets being dropped when two reports are sent in quick
succession (eg. releasing a dual role key).

* endpoints: fix compile on ARM_ATSAM

* endpoint: ARM_ATSAM fixes

No longer use wrong or unexpected endpoint IDs

* endpoints: accommodate VUSB protocol

V-USB has its own, understandably simple ideas about the report formats.
It already blasts the mouse and extrakeys through one endpoint with
report IDs. We just stay out of its way.

* endpoints: document new endpoint configuration options

* endpoints: respect keyboard_report->mods in NKRO

The caller(s) of host_keyboard_send expect to be able to just drop
modifiers in the mods field and not worry about whether NKRO is in use.
This is a good thing. So we just shift it over if needs be.

* endpoints: report.c: update for new keyboard_report format
2018-11-15 22:22:05 -08:00
noroadsleft d8f090e559 Docs: Supporting a keyboard in the QMK Configurator (#4396)
* Docs: Configurator Support

* Minor updates

* Updated keyboard.h example to use #pragma once

per @drashna
https://github.com/qmk/qmk_firmware/pull/4396#discussion_r232140934

* Add link to doc under Reference section

Added to _sidebar.md and _summary.md

* Changed doc title; minor tweaks

Re-titled the doc as "Supporting Your Keyboard in QMK Configurator".
Made some minor changes to the keyboard.h examples.

* Added tags object to JSON example
2018-11-14 18:32:28 -08:00
Phillip Tennen 0cda2f43e2 Backlight status functions (#4259)
* add functions to set specific backlight state

* add function to query backlight state

* update documentation with new backlight functions

* Update tmk_core/common/backlight.c

Co-Authored-By: codyd51 <phillip.ennen@gmail.com>

* Update tmk_core/common/backlight.h

Co-Authored-By: codyd51 <phillip.ennen@gmail.com>

* update docs for is_backlight_enabled() name change
2018-11-14 07:45:46 -08:00
James Osborn f7fcba329d Fixed Unicode Support heading (#4425)
Previously, Unicode Support heading appeared as the last row in the Swap Hands table.
2018-11-14 07:33:46 -08:00
KOBAYASHI Daisuke 911b2d0756 Docs: Fix descriptions of KC_INT1 and KC_INT3 2018-11-13 12:27:33 -08:00
Junya Ogura caa293a8f7 Remove duplicate row from Available functions table in i2c_driver doc (#4416) 2018-11-13 08:27:46 -08:00
TheOneTrueTrench 2dc14d1cb3 Fixed incorrect link to feature_combo.md in features.md docs file. Was linked to feature_combos.md, but _sidebar.md, _summary.md, and config_options.md all link to feature_combo.md. Assuming that it should not be pluralized. (#4411) 2018-11-12 16:46:01 -08:00
Michael Kaylan b1e74aee43 Make sure that avr-gcc@7 gets linked into the path on MacOS. 2018-11-12 12:16:43 -08:00
yiancar 4083614023 I2C driver docs (#4298)
* I2C driver docs

- Added I2C driver docs.
- Changed arm master i2c driver to have a weak i2c_init as it is impossible to account for all possible port configuration in the STM32 world.

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* Update docs/i2c_driver.md

Co-Authored-By: yiancar <yiangosyiangou@cytanet.com.cy>

* GPIO release fix
2018-11-10 15:26:39 -05:00
Frank Tackitt 94f58322ac Configurable Rainbow Swirl range (#4376)
* Configurable Rainbow Swirl range

This allows tweaking of the rainbow effect to
 get different effects on keyboards with varied
 LED layouts. We found the value 1950 works on
 the RGBKB.net Sol to get a cool striped effect
 across the keyboard.

* Document RGBLIGHT_RAINBOW_SWIRL_RANGE

* Better wording for the documentation
2018-11-07 08:25:18 -08:00
Konstantin Đorđević 3dec80b774 Improve wording, punctuation and capitalization in newbs_getting_started guide (#4342)
* Improve wording, punctuation and capitalization in newbs_getting_started guide

Also add some links

* Update example build command output

Co-Authored-By: vomindoraan <vomindoraan@gmail.com>

* Replace occurrences of "layout" with "keymap"

Co-Authored-By: MechMerlin <30334081+mechmerlin@users.noreply.github.com>

* Explicitly instruct users to open an MSYS2 MinGW 64-bit terminal

* MSYS2 Console → MSYS2 MinGW

* Replace thin spaces with regular spaces
2018-11-06 12:21:44 -08:00
Drashna Jaelre 4a033641df Update Features page to reflect all of the features linked in the sidebar/summary 2018-11-06 00:38:54 -05:00
Drashna Jaelre 26a201e687 fix example to reflect caveat 2018-11-06 00:38:44 -05:00
Drashna Jaelre 6e44f94f21 Add EEPROM_RESET keycode to core code (#4234)
* Add EEPROM Reset keycode

* Add keycode to docs

* Move EEPROM Reset code to the end of the enum

* Cleanup and naming change
2018-11-06 00:38:18 -05:00
Drashna Jaelre 6729265625 Clarify the Mod Tap defines in documentation (#4352)
* Fix up Mod Tap settings keys

* Change link names

* permissive hold wordsmith

Co-Authored-By: drashna <drashna@live.com>

* ignore mod tap wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* grammar fix

Co-Authored-By: drashna <drashna@live.com>

* wordsmithing

Co-Authored-By: drashna <drashna@live.com>

* word smithing

Co-Authored-By: drashna <drashna@live.com>
2018-11-06 00:35:16 -05:00
Konstantin Đorđević 4636f0f623 Remove ALTG(kc) as it's misleading and is not actually AltGr (#4338)
* Remove ALTG(kc) as it's misleading and is not actually AltGr

* Add temporary alias for ALGR in keyboards/planck/keymaps/pevecyan/keymap.c
2018-11-06 00:34:54 -05:00
Michael Pio 292a87ad04 Instructions on how to flash via STM32 bootloader (#4316)
* Add instructions on flashing ARM keyboards with default STM32 bootloader

* fixed typo; added note suggestion to step 4
2018-11-03 13:08:05 -04:00
Jack Humbert 15f6278aa6
Add support for Atmega32A to pin declarations and universal matrix (#4015)
* add computed pins from mcu type

* update for atmega32a

* doc typo

* add atmega16 chips, link to references

* remove avr include from config

* exclude assembler in config.h includes

* consolodate options, add 646

* fix typo in pindef
2018-11-02 12:31:40 -04:00
Leah 7373d5b394 Update feature_bootmagic.md (#4290)
Fix typo
2018-10-30 08:37:08 -07:00
Drashna Jaelre 4ffcacd920 Add Bootmagic Lite to QMK (#4215)
* Preliminary additon of bootmagic lite functionality

* Cleanup code

* Clean up bootmagic code

* Add documentation and clean up code

* Make 'lite' an option for BOOTMAGIC_ENABLE

* Update Templates with note about Bootmagic Lite option

* Detect Debounce variable

* Make sure debounce is a non-zero number

* Capitalize Bootmagic

* Capitalize bootmagic

* Update wording

* Re-add EEPROM reset, by popular demand

And add eeprom-less version to drashna userspace for his sanity

* Fix spacing

* Set BOOTMAGIC_ENABLE to use full/lite/off

And default yes to "full" for compatibility

* Add Bootmagic lite info to templates

* Remove text from makefiles

* Cleanup of makefile

* mention yes in bootmagic docs

* Wordsmitthing the docs

* Fix white spaces

* Readd default bootmagic setting, because it's necessary
2018-10-27 14:53:50 -04:00
Drashna Jaelre 73e92ef0c0 Docs: Add references to One Shot functions, and clean up formatting (#4189)
* Docs: Add references to One Shot functions, and clean up formatting

* Update PR based on @mechmerlin's recommendations
2018-10-27 00:22:47 -04:00
Drashna Jaelre d210ac7a3e Add caveat for basic keycodes in Tap Dance docs 2018-10-27 00:22:29 -04:00
Drashna Jaelre d3a6296199 Add key caveat to combos doc 2018-10-27 00:18:22 -04:00
Jack Humbert 24b3556e84 add better example 2018-10-26 14:24:13 -07:00
Jack Humbert 85688e5b52 add support for encoders to core 2018-10-26 14:24:13 -07:00
Phillip Tennen fa1ac4d724 Fix incorrect doctoring in feature.backlight.md (#4244)
I'm guessing someone deleted a row at some point in the past, but I didn't blame it.
2018-10-26 06:59:41 -07:00
Drashna Jaelre a5b10e5da2 Fix syntax for windows 2018-10-24 15:03:32 -07:00
Drashna Jaelre 552b1cccec Update the installation script PR (#4167)
* Update docs to use qmk_install

* Update Vagrantfile to use qmk_install
2018-10-22 13:24:43 -07:00
Drashna Jaelre 9374c0c9db Add caveats for shifted characters (#4192)
* Add caveats for shifted characters

And some formatting and grammar corrections.

Closes #1037

* Fix spelling of remote

* Fix spelling error

* Remote not Remove

* Remote not Remove
2018-10-22 14:57:15 -04:00
Drashna Jaelre ab3fbfdb3b Update hardware config warnings to be more accurate
Closes #3565
2018-10-22 14:56:25 -04:00
Dylan Khor fbc6bd8266 Minor updates to build tools docs revised (#4195)
* add initial khord iris keymap

* correct path of windows qmk install script
2018-10-22 11:29:04 -07:00
Colin T.A. Gray 91bfbb6256 Updates docs - planck 6 and macos instructions (#4201)
* add note about how to install rev6 (dfu-util)

* include instructions on installing dfu-util on macOS
2018-10-22 11:19:51 -07:00
Drashna Jaelre ea17e363a6 Add instructions for zadig when bootloader device is unknown 2018-10-20 11:48:10 -04:00
Drashna Jaelre 7e1b57add4 Some cleanup of the Useful Functions docs (#4064)
* Add examples for tri layers

* Clean up and spelling fixes
2018-10-19 00:34:40 -04:00
noroadsleft 480651cf9d Docs: Adding QMK Git Conventions doc; formatting cleanup on Learning Resources doc (#3902)
* Docs: newbs_learn_more_resources.md: formatting

* Added QMK Git Conventions doc, initial version

* Renamed contributing_qmk.md to newbs_best_practices.md

* Updated per review by @drashna

* Added navigation links

* Updated to Best Practices doc

* Minor updates to Learn More Resources doc

Markdown formatting consistency because I'm particular about it.

* Added Merge Conflict section to Best Practices doc
2018-10-18 15:12:11 -07:00
Christoffer Holmberg dad79cafcd Fix more broken links to the HID spec 2018-10-17 16:51:51 -07:00
Christoffer Holmberg d08f9cb6e4 Fix grammar, typos, and the link to HID specification 2018-10-17 16:51:51 -07:00
Jim Tittsler 76aa2baf3e Fix doc typo 2018-10-15 16:58:03 -07:00
asakuno d81d216d72 Fix Typo in Custom Quantum functions document (led_state) (#4129)
*_LOCK
  ↓
DEL
2018-10-13 00:40:42 -07:00
mtei ec59556cd7 add a notice into docs/feature_rgblight.md 2018-10-11 17:14:42 -07:00
Drashna Jaelre a7d05820a6 Add documentation for Combo feature 2018-10-10 21:36:58 -04:00
Drashna Jaelre 43757cd985 Cleanup learning newb links 2018-10-10 21:36:32 -04:00
Drashna Jaelre 0e4374042c Update and cleanup AVR Hardware docs 2018-10-10 21:35:26 -04:00
Drashna Jaelre f2965e1eea Specify max layers supported in layer keycodes 2018-10-10 11:48:36 -04:00
Drashna Jaelre 5a127293e7 Fix formatting in Unicode text 2018-10-09 15:21:08 -04:00
Brian Choromanski 7f6bb82b9d Added link to One Shot Keys 2018-10-09 10:27:03 -07:00
Brian Choromanski 04e28470bc Added OSL to list of layer toggles 2018-10-09 10:27:03 -07:00
chipperdoodles 914d42acd0 Update Bluetooth docs (#4062)
* syncing upstream

* Bluetooth Doc update

More Description in bluetooth section, Addition to Config options rules.mk section.

* merge upstream

chibios

* lib/chibios checkout

* Additional EZ key Section

added back EZ-Key diy link, Cleaned up some errors
2018-10-07 11:23:41 -07:00
Drashna Jaelre f86c0c2643 Update and clarify Unicode documentation (#4065)
* Update and clarify Unicode documentation

* Fixed UCIS info based on feedback from algernon

* Further clarifications and cleanup

* Formatting

* Add an example for unicode map

* fix AutoHotKey title
2018-10-06 20:44:33 -04:00
Drashna Jaelre 7458ac9489 Update Contrib doc (#4068)
* Add link for style

* ignore java

* Add example and update link?

* Minor fixes

* Change 1TBS text

* comments
2018-10-06 20:43:37 -04:00
yiancar ac7b2d92bf ARM SWD guide
- Added a detailed (but saddly long) debugging guide.
- Modified sidebar and summary to include the links.
2018-10-05 11:03:30 -07:00
Yan-Fa Li 713ec91147 Add C hint to inline code 2018-10-01 22:55:51 -04:00
Drashna Jaelre f5ae3760c6 Add send_unicode_hex_string function (#3828)
* Add send_string_unicode function

Co-authored-by: kdb424 <kdb424@gmail.com>
Co-authored-by: Konstantin <vomindoraan@gmail.com>

* Clean up code based on feedback

* Fix includes
2018-10-01 20:56:04 -04:00
Drashna Jaelre 26f4e7031a Add tap_code function (#3784)
* Add tap_code

* formatting

* Doc clarification

* Rename variable to make more consistent
2018-10-01 20:53:47 -04:00
Drashna Jaelre e885c793bc Add Function level EECONFIG code for EEPROM (#3084)
* Add Function level EEPROM configuration

Add kb and user functions for EEPROM, and example of how to use it.

* Bug fixes and demo

* Additional cleanup

* Add EEPROM reset macro to example

* Forgot init function in list

* Move eeconfig_init_quantum function to quantum.c and actually set default layer

* See if removing weak quantum function fixes issue

* Fix travis compile error

* Remove ifdef blocks from EECONFIG so settings are always set

* Fix for ARM EEPROM updates

* Fix merge issues

* Fix potential STM32 EEPROM issues
2018-10-01 20:53:14 -04:00
Daniel Shields da6c58175a Make digital rain RGB matrix effect #define configurable. 2018-10-01 12:54:37 -04:00
Anthony Som b3f6aa9480 Correct small typo
A small typo (it -> in) that I noticed while reading through the documentation
2018-10-01 12:42:05 -04:00
noroadsleft f1b2d46eaf Spell-check update for Userspace documentation
Because leaving review comments on a PR that's already been merged doesn't make any sense.
2018-09-28 14:39:52 -04:00
yiancar 7fe03d085c Update quantum matrix to support both AVR and Chibios ARM (#3968)
* Update quantum matrix to support both AVR and Chibios ARM

- Addition of STM32 pin definitions
- Created abstruction layer defines to control GPIO (This is a bit pointless for Chibios as we are creating a PAL ontop of a PAL but it is necessary for uniformity with AVR)
- Modified matrix.c to use the above functions

* minor ifdef fix

* Rename of functions and docs

- Added documentation.
- Renamed functions according to Jack's spec.

* Massdrop fix

* Update matrix.c

* Update quantum.h

* Update quantum.h

* Update quantum.h

* Update internals_gpio_control.md
2018-09-28 12:33:11 -04:00
Drashna Jaelre fa47f5fb15 Update to the Userspace documentation (#4005)
* Overhaul to Userspace Documentation

* Formatting issues

* Additionaly formatting fixes

* Add Readme info

* Additionaly Readme info

* Formatting fixes
2018-09-28 12:27:51 -04:00
Drashna Jaelre 8454fa5e9f Update Document Templates to reflect newer wording and URLs (#4006)
* Add pragma once info to contributing guidelines

* Fix links in readme template to match doc site

* Revert changes to contributing doc as somebody already changed it
2018-09-28 12:04:30 -04:00
Takeshi ISHII baebbc0967 add 'mavrdude' target into tmk_core/avr.mk (#3986)
* add 'mavrdude' target into tmk_core/avr.mk

I made it a little convenient when writing the same binary to multiple Pro Micro.

* rename target name 'mavrdude' to 'avrdude-loop'

* modify docs/flashing.md about avrdude-loop

* mdify docs/flashing.md again

* modifi docs/flashing.md 3rd
2018-09-27 22:02:12 -04:00
Drashna Jaelre a0309db983 Add On/Off keycodes 2018-09-25 13:28:36 -07:00
Drashna Jaelre e72e4b6920 Store Clicky status in EEPROM 2018-09-25 13:28:36 -07:00
Luca 58b9b22670 Circuitry sample for PS/2 Mouse (#3959)
Added a sample circuitry for handling the connection of a PS/2 Mouse.
    Even if it's written that a circuitry is needed, there're a lot of other
    things and the information gets lost really fast. A really simple sample
    helps to remember who wants to implement the functionality about the
    circuitry.
2018-09-23 13:49:17 -07:00
Anthony Wharton 334e2629df Remove redefinition of `_______` in documentation example (#3924)
* Remove redefinition of `_______` in documentation example

* Slight rewording to include purpose of defintions

* Update include to newer macro
2018-09-19 16:18:15 -07:00
Joe Wasson a6d1db2c27 Create AG_TOGG code to toggle Alt/Gui swap. 2018-09-17 15:04:22 -07:00
dsissitka 244e1c5a57 Fix LEADER_KEY docs.
LEADER_KEY needs to be set in config.h, not keymap.c. Credit goes to @randywallace for figuring this one out:

https://github.com/qmk/qmk_firmware/issues/2514#issuecomment-384847485
2018-09-17 14:38:06 -07:00
Joe Wasson 743449472e Make `PREVENT_STUCK_MODIFIERS` the default (#3107)
* Remove chording as it is not documented, not used, and needs work.

* Make Leader Key an optional feature.

* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`

* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
2018-09-17 13:48:02 -04:00
James Laird-Wah b1f11636c6 docs/contributing: add `#pragma once` to Coding Conventions
This supersedes the older include guard mechanism since all the
compilers now support it. It's easier for new users and less prone
to error.
2018-09-15 09:37:06 -07:00
MechMerlin 170de1273c Add an easy way to create new keymaps for your favorite keyboard (#3868)
* initial commit of keymap creation script

* create default keymap

* pass shellcheck

* provide a better usage message

* change printf string to more accurately reflect the path

* make it more easily understood

* found another typo

* add documentation regarding the new_keymap script

* enforce lowercase for userinputs
2018-09-13 11:22:05 -07:00
Takeshi ISHII 6d6d91c834 rgblight.[ch] more configurable (#3582)
* add temporary test code rgblight-macro-test1.[ch]

* rgblight.h : mode auto numberring and auto generate mode name symbol

No change in build result.

* rgblight.c use RGBLIGHT_MODE_xxx symbols

No change in build result.

* quantum.c use RGBLIGHT_MODE_xxx symbols

No change in build result.

* fix build break. when RGB_MATRIX_ENABLE defined

* add temporary test code rgblight-macro-test2.[ch]

* modify rgblight_mode_eeprom_helper() and rgblight_sethsv_eeprom_helper()

* modify rgblight_task()

* configurable each effect compile on/off in config.h

* update docs/feature_rgblight.md

* fix conflict. docs/feature_rgblight.md

* remove temporary test code rgblight-macro-test*.[ch]

* fix comment typo.

* remove old mode number from comment

* update docs/feature_rgblight.md about effect mode

* Revert "update docs/feature_rgblight.md about effect mode"

This reverts commit 43890663fcc9dda1899df7a37d382fc38b1a6d6d.

* some change docs/feature_rgblight.md

* fix typo

* docs/feature_rgblight.md update: revise mode number table
2018-09-13 10:24:09 -07:00
yiancar 73a3399d0e Add the ability to disable the USB startup check for Chibios
- Added support for NO_USB_STARTUP_CHECK. This allows the keyboard do function and not get stuck in a SUSPENDED state loop in case of no USB connection.
- Added support for WAIT_FOR_USB. In LUFA no keyboard has this flag enable therefor no keyboard waits for usb to be active.
- Added documentation for both configuration flags as they were missing.
2018-09-05 09:42:04 -04:00
fauxpark ce3ccd3f4a Docs: Tabulate Modifier & Mod-Tap keycode listings in advanced keycodes docs (#3799) 2018-08-30 09:37:05 -07:00
fauxpark 1acaf2b2c2 Tweak the wording in "Becoming a QMK Collaborator" 2018-08-30 07:39:58 -04:00
arlenk 4cd4e1ded6 Docs: add process_terminal() and update links to other functions (#3778)
* add process_terminal() and update links to other functions

* convert links to permalinks and add a few missing process_* functions

* update links in main text as well
2018-08-29 18:20:41 -07:00
fauxpark 097f1a299f Mask off keycode/layer/mod where possible in LT(), MT(), etc. (#3430)
* Mask off keycode/layer/mod where possible in LT(), MT(), etc.

* Don't need these parentheses

* Put back parentheses for order of operations
2018-08-29 21:05:02 -04:00
Alex Ong a55c838961
Added bold in a few areas. 2018-08-29 10:49:53 +10:00
Alex Ong e8e6268765
Fixed missing whitespace in debounce documentation
Table wasn't working due to missing newline.
2018-08-29 10:48:11 +10:00
Alex Ong 4db27a2c76 Changed order of rules in TMK. Documented feature. 2018-08-29 10:45:53 +10:00
Evan Travers 08c682c193 Docs: Add docs for the `LAYOUT_*` macro to layouts (#3772)
When moving my planck layout to my let's split, I ran into this issue
because I had copied my planck layout from the default layout which just
used the `{}` array form for the keymap layers. I checked the docs, but
this bit wasn't clear to me. I'm sure @ishtob or @drashna helped me on
discord, but this seemed to be the logical place to add a helpful hint.
2018-08-28 17:35:24 -07:00
yiancar fdd0f91527 ISSI31FL3733 driver (#3679)
* ISSI31FL3733 driver

- Addapted IS31 driver for the above driver

* fix my branch

* ISSI31FL3733 driver

- Inclusion of above ISSI led driver

* IS31fl3733 driver

- Added correct function for control registers

* Finalized support for ISSI31fl3733 led driver

- Finalized and tested driver.
- Modified i2c_master for arm due to declaration mistake.
- Fixed spaces/tabs in quantum.h file.
- Fixed spaces/tabs in common_features.mk file.
- Removed unnecessary includes from rgb_matrix.c file.
- Added local definitions for MIN and MAX macros in rgb_matrix.c file.
- Adjusted chevron effect.
- Added necessary define (RGB_3733_MATRIX_ENABLE) for makefile.
- Added necessary C define (ISSI3733) to aid with inclusion of the correct header file.
- Added documentation for the new driver.

* Driver structure update

- Changed rule includes to be more condensed (RGB_MATRIX_ENABLE = IS31FL3731) and (RGB_MATRIX_ENABLE = IS31FL3733)
- Updated documentation
- Reverted to the use of differently named functions for each driver and selecting the needed ones within rgb_matrix.c

* ISSI Drivers refractoring

- Moved issi drivers in a dedicated folder
- Updated documentation

* I2C library fix

I released the special pins incorrectly before. It is now fixed.
2018-08-28 09:03:11 -04:00
Drashna Jaelre eb19fb5b57 Helpful functions 2018-08-26 07:32:15 -07:00
skullY da24a34efb First pass at reorganizing docs 2018-08-16 09:16:05 -07:00
zgtm bfc9aa66f9 Docs: Update image in FAQ/Keymap: KC_EQLS -> KC_EQL (#3660) 2018-08-15 09:48:14 -07:00
skullydazed 09759c20ae Document FIRMWARE_FORMAT (#3631) 2018-08-11 23:02:06 -07:00
fauxpark 2a49832db3 Update FAQ section on power keys 2018-08-11 14:30:53 -07:00
fauxpark d263b27c9a Dedupe shifted keycodes listing 2018-08-11 14:29:53 -07:00
yiancar 435e9b7bdb RGB Driver Documentation Update (#3601)
- Minor formating in rgb matrix page
- Added a short discription for is31fl3731 in drivers page
2018-08-09 17:41:48 -07:00
wanleg fd085837e1 fix swap_hands keycodes in documentation (#3588) 2018-08-07 14:20:29 -07:00
fauxpark d8e6ada5d7 Improve RGB lighting documentation (#3580) 2018-08-07 09:07:19 -07:00
fauxpark f6ec2ce201 Update Shifted keycodes docs (#3575) 2018-08-05 08:55:53 -07:00
fauxpark e818b29879 Update FAQ section on Apple Fn (#3574) 2018-08-05 08:51:33 -07:00
fauxpark 435a1202e7 More improvements to keycode docs (#3567)
* Reorder keycode list docs according to HID usage

* Add missing keycodes/descriptions/aliases
2018-08-04 09:09:22 -07:00
Jack Humbert ac46378ac6
Update ISP flashing guide with pre-compiled binary (#3217)
* update flashing guide with pre-compiled binary

* Add files via upload

* Update isp_flashing_guide.md

* update file and instructions

* update instructions
2018-08-02 23:07:33 -04:00
fauxpark 03ad6927cb Docs: Format Space Cadet documentation (#3540)
* Format Space Cadet documentation

* Fix page filenames

* Move Caveats section up
2018-08-01 08:43:54 -07:00
fauxpark c11a26ba54 Docs: Format Key Lock documentation (#3538) 2018-07-31 18:07:50 -07:00
Emmanuel Odongo bb86d8a00c Docs: Fix some minor errors in tap dance example (#3530)
* Fix some minor errors in tap dance example

Fix for #3529
Fix minor errors in the code examples for __Example 4: 'Quad Function Tap-Dance'__ and relevant documentation. 
Clarified the need to include the header file in `keymap.c`.

* Use #pragma once in header guard

Fix for #3529
Implement change requested in #3530
2018-07-31 17:50:02 -07:00
fauxpark 2bc34b09cd Docs: Format Grave Escape documentation (#3536) 2018-07-31 17:40:55 -07:00
fauxpark 9b7a3a0bc8 Docs: Add Usage section to backlight docs (#3537) 2018-07-31 17:40:09 -07:00
fauxpark 98fa82ceef Backlighting docs (#3526)
* Some words about backlighting

* Link to RGB feature pages
2018-07-30 23:22:52 -07:00
fauxpark 25d757284c Docs: Fix Command docs escaping (#3523) 2018-07-29 21:08:59 -07:00