Commit Graph

746 Commits

Author SHA1 Message Date
Yan-Fa Li
febaf9dec4 [Docs] RGB Animation documentation on reducing memory footprint (#5813)
* Improve Animation docs with example

 - example to reduce flash footprint of animations using RGBLIGHT_EFFECT_ defines

* Re-order the effects list

* Update docs/feature_rgblight.md

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

* Update docs/feature_rgblight.md

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

* Update docs/feature_rgblight.md

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

* Introduce line breaks

* Add title for animation speed section

* Organize Animation Defines Into Groups

* Use the RGB EFFECT recommended by mtei in docs

 - has the most modes, and STATIC_LIGHT can't really be disabled.

* Use more accurate titles for effects and animation

 - accidentally put a toggle in settings
2019-05-10 09:50:52 -07:00
Tobias V. Langhoff
16f367348a [Docs] Fix Space Cadet link (#5825)
Fix broken Space Cadet link in Features list
2019-05-08 21:45:00 -07:00
XScorpion2
60eae7335b RGB Matrix Typing Heatmap (#5786)
* RGB Matrix Typing Heatmap Effect

* Fixing file name and effect init
2019-05-07 19:17:00 -07:00
XScorpion2
af89752bff rgb_led struct conversion (aka: Per led (key) type rgb matrix effects - part 2) (#5783)
* Initial conversion of the rgb_led struct

* Converting last keyboard & updating effects to take advantage of the new structure

* New struct should not be const

* Updated docs

* Changing define ___ for no led to NO_LED

* Missed converting some keymap usages of the old struct layout
2019-05-07 16:22:46 -07:00
XScorpion2
e290dc5ad8 Space Cadet: Reducing unnecessary reported keypresses (#5781)
* Reducing unnecessary reported keypresses and minor docs / variable name changes

* Apply suggestions from code review

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-05-05 16:27:02 -07:00
Ryan Caltabiano
3a7c65b424 fix line endings 2019-05-04 10:17:46 -07:00
Jez Cope
9d97e47df4 [Docs] Update Super ALT↯TAB to remove use of unregister_code16 (#5766)
The code as originally listed didn't work for me, but replacing `unregister_code16(LALT(KC_TAB));` with `unregister_code(KC_LALT);` fixes the problem and causes the macro to work as intended.

Thanks to folks on Discord for helping me figure this out.
2019-05-04 09:46:44 -07:00
zvecr
da995d2aea [Docs] Add examples to debugging docs (#5555)
* Add examples to debugging docs

* Add examples to debugging docs - review comments

* Update matrix keypress example to use uprintf
2019-05-03 17:24:07 -07:00
Konstantin Đorđević
bdc8d89e6b New keycode macro (XP) for shifted character pairs using UNICODEMAP + bug fixes and improvements (#4803)
* Expose unicode_saved_mods

* Add UNICODEMAP shift pair functionality and XS keycode

* Add XS to keycode reference documentation

* Pick pair index based on both Shift and Caps Lock state

* Add XS to Unicode feature docs

* Clean up process_unicode* headers

* Extract unicode_map index calculation into function

* Pick pair index as XOR rather than OR of Shift and Caps states

* unicode_input_start() has to be called before the unicode_map index is calculated

* Replace unicodemap_input_error() with more generic unicode_input_cancel()

* Replace register+tap+unregister with tap_code16(LCTL(LSFT(KC_U)))

* UNICODE_OSX_KEY → UNICODE_KEY_OSX, UNICODE_WINC_KEY → UNICODE_KEY_WINC

* Make keycode range checks more robust

* Fix keycode range checks for different input modes

* Add UNICODE_KEY_LNX, update docs

* QK_UNICODEMAP_SHIFT → QK_UNICODEMAP_PAIR

* XS → XP, update docs

* Tweak Unicode docs

* Use recently added MOD_MASK_SHIFT and IS_HOST_LED_ON helpers

* Update Unicode table in docs/keycodes.md

* Update Unicode docs per review comments

* Replace references to Mac OS X with macOS in Unicode docs

* As of v0.9.0, WinCompose supports all possible code points

* Expand descriptions in XP docs

* Update keycode table and cycling docs

* Further expand cycling docs
2019-05-03 09:33:00 -07:00
ymzcdg
36bed36cd6 getting_started_introduction.md ->zh-cn (#5767)
translate getting_started_introduction.md into Mandarin Chinese
2019-05-03 06:18:20 -07:00
ymzcdg
db440f3e75 translate the first unit(newbs) (#5753)
translate
newbs_getting_started.md
newbs_building_firmware.md
newbs_flashing.md
newbs_testing_debugging.md
newbs_best_practices.md
newbs_learn_more_resources.md
into Mandarin Chinese
2019-05-02 22:21:06 -07:00
Drashna Jaelre
7e655a207e Add option to enable LTO easily (#5674)
* Add option to enable LTO easily and disable features that cause compiling errors with LTO

* Add documentation about LTO option

* Add to show_options
2019-05-02 08:03:42 -07:00
Takeshi ISHII
3da8d46a07 If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin() (#5484)
* If RGBLIGHT_EFFECT_BREATHE_CENTER is undefined, use fixed breathe table instead of exp() and sin()

* Change rgblight breathing table size to be easily selectable.

add RGBLIGHT_BREATHE_TABLE_SIZE macro for customize breathing effect.
2019-05-02 07:59:29 -07:00
XScorpion2
22ba36a4d8 rgblight 255 hue (#5547) 2019-05-01 08:02:02 -07:00
Ryan Caltabiano
d67b99ff3c Added OLED Driver to the summary 2019-04-30 18:04:11 -07:00
XScorpion2
c745d9b82e Simple extended space cadet (#5277)
* Simplifying and Extending Space Cadet to work on Ctrl and Alt keys

* PR Review feedback

* Reverting back to keycodes
2019-04-29 20:21:46 -07:00
XScorpion2
a7113c8ed0 Updated rgb_led struct field modifier to flags (#5619)
Updated effects to test led flags
Updated massdrop to use new flags field for led toggle
2019-04-29 15:18:50 -07:00
Daniel Prilik
1d784f0f95 RGB Matrix: Custom effects on a kb/user level (#5338)
* Revamped custom effects approach

See docs for example usage

* push-up RGB Matrix default mode

Override default effect using RGB_MATRIX_STARTUP_MODE.
Useful on boards without EEPROM support
(*cough* Massdrop ALT/CTRL *cough*)

* update docs
2019-04-29 14:48:41 -07:00
fauxpark
53c51f1d16 A better new_project.sh (#5191)
* A better new_project.sh

* Fix docstrings

* Use single quotes for anything not shown to user

* Missed this docstring

* Simplify get_git_username()

Thanks @vomindoraan

* chmod +x

* Add docstring for print_error()

* Break up git username call into multiple lines

* Use with statement here

* Conform to PEP 8 even more

* Turn it back into a shell script

* chmod +x again

* Update docs to reflect new keyboard generator usage

* Tweak wording slightly

* Trim trailing whitespace

* Don't actually need to escape the newlines here

* As I suspected, you can pass shift a number

* Prepend ./ to match the other code block

* Minor syntax tweaks

* The username token has changed

* Replace name in the readme too

* Make some reasonable assumptions about the presence of Git
2019-04-27 16:42:16 -07:00
ymzcdg
7ae2ded590 Translate docs into Chinese (#5693)
* Docs translate

Translate some docs to  Standard Chinese for Chinese Developers.

* fix translate

fix translate
2019-04-23 12:37:20 -07:00
M-AS
bb52119a6d RGB Matrix Animations: Three/six new reactive effects (wide, cross, nexus) (#5602)
* added 3 new RGB_Matrix effects

* made cross effect behavior smoother

* removed dead code

* added effect descriptions
2019-04-22 08:37:40 -07:00
Brice Figureau
b61baf4281 Fix #3566 use an hardware timer for software PWM stability (#3615)
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-22 08:34:13 -07:00
Erovia
066818f5f9 Define RGB colors (#5300)
* 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-22 08:26:41 -07:00
XScorpion2
829ccd3491 RGB Matrix docs update from mechmerlin discussion (#5667)
* RGB Matrix docs update from mechmerlin discussion

* alignment

* Apply suggestions from code review

Co-Authored-By: XScorpion2 <rcalt2vt@gmail.com>
2019-04-20 18:21:22 -07:00
Ryan Caltabiano
33e27b2a83 Fixing readme from feedback 2019-04-20 08:05:10 -07:00
Ryan Caltabiano
dd3a813f87 Reducing size of data send in one frame & update Zen rev2 oled usage 2019-04-20 08:05:10 -07:00
Ryan Caltabiano
0a645225b9 OLED Driver Feature 2019-04-20 08:05:10 -07:00
Markus Weimar
4856552f8b Update mouse keys docs (#5653) 2019-04-19 23:18:06 -07:00
Takeshi ISHII
7e67bd791b Change split_common to use RGBLIGHT_SPLIT (#5509)
* 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-19 15:25:08 -07:00
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