Commit Graph

1687 Commits (1fb2a0c74e926806f58fdbec990ca9aa7bb376a9)

Author SHA1 Message Date
umi 7bfc6083b7
[Docs] update Japanese translation of feature_leader_key.md (#13669)
* update feature_leader_key.md translation

* update file based on comments

* update text based on comments
2021-09-23 12:55:19 +09:00
QMK Bot e41f1e9460 Merge remote-tracking branch 'origin/master' into develop 2021-09-23 03:53:29 +00:00
umi 618a28c6ae
[Docs] update Japanese translation of one_shot_keys.md (#13656)
* update one_shot_keys.md translation

* update one_shot_keys.md translation

* correct paramter for function

* add change of #13754
2021-09-23 12:52:53 +09:00
QMK Bot 8670a3c86c Merge remote-tracking branch 'origin/master' into develop 2021-09-21 23:40:56 +00:00
Dasky 45f88af4a1
[Docs] update suspend_*_user examples (#14542) 2021-09-21 16:40:19 -07:00
QMK Bot e3c010e179 Merge remote-tracking branch 'origin/master' into develop 2021-09-21 14:53:35 +00:00
Dasky 19e33b685f
[Docs] Modify encoder_update_user example to return false (#14541) 2021-09-21 07:52:57 -07:00
fauxpark c38a730805 Merge remote-tracking branch 'upstream/master' into develop 2021-09-20 16:58:29 +10:00
XScorpion2 4dbeeaa0d6
Doc Fixes & Custom Matrix Fix (#14526) 2021-09-20 06:18:32 +10:00
David Xia ddb6821b97
[Docs] fix wrong directory for RGB Matrix animations (#14494) 2021-09-19 11:53:22 -07:00
Bao 590b405468
New CLI subcommand to create clang-compatible compilation database (`compile_commands.json`) (#14370)
* pulled source from dev branch

* missed a file from origin

* formatting

* revised argument names. relaxed matching rules to work for avr too

* add docstrings

* added docs. tightened up regex

* remove unused imports

* cleaning up command file. use existing qmk dir constant

* rename parser library file

* move lib functions into command file. there are only 2 and they aren't large

* currently debugging...

* more robustly find config

* updated docs

* remove unused imports

* reuse make executable from the main make command

* pulled source from dev branch

* missed a file from origin

* formatting

* revised argument names. relaxed matching rules to work for avr too

* add docstrings

* added docs. tightened up regex

* remove unused imports

* cleaning up command file. use existing qmk dir constant

* rename parser library file

* move lib functions into command file. there are only 2 and they aren't large

* currently debugging...

* more robustly find config

* updated docs

* remove unused imports

* reuse make executable from the main make command

* remove MAKEFLAGS from environment for better control over process management

* Update .gitignore

Co-authored-by: Michael Forster <forster@google.com>

* add a usage line to docs

* doc change as suggested

Co-authored-by: Nick Brassel <nick@tzarc.org>

* rename command

* remove debug print statements

* generate-compilation-database: fix arg handling

* generate-comilation-db: improve error handling

* use cli.run() instead of Popen()

Co-authored-by: Xton <cdewan@apple.com>
Co-authored-by: Christon DeWan <cmdpix@mac.com>
Co-authored-by: Michael Forster <forster@google.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-09-16 14:59:57 +10:00
QMK Bot cad2ee900d Merge remote-tracking branch 'origin/master' into develop 2021-09-15 17:12:05 +00:00
Dasky 12a8e59e9c
[Docs] add sync options heading, update led indicators (#14441)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-15 10:11:25 -07:00
Thomas Weißschuh 83988597f4
Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
QMK Bot 54534fe5b2 Merge remote-tracking branch 'origin/master' into develop 2021-09-15 04:13:14 +00:00
vsrivastava 657323a206
[Docs] fixed incorrect amount of steps for oled usage (#13519)
changed line 21 from saying "three steps" to "two steps" as there are only two steps

Co-authored-by: feynmantf <46390109+feynmantf@users.noreply.github.com>
2021-09-14 21:12:37 -07:00
Ryan b56282756b
[Docs] Clean up some code block languages (#14434) 2021-09-14 13:16:24 +01:00
Ryan bcf4551f74
Move Bluetooth config to common_features.mk (#14404)
* Move Bluetooth config to common_features.mk

* Update common_features.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-09-12 08:22:03 -07:00
Joel Challis 0fa217a5b7
Align ChibiOS I2C defs with other drivers (#14399)
* Align ChibiOS I2C defs with other drivers

* Update keyboards/xelus/valor_frl_tkl/config.h

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-09-12 15:41:33 +01:00
QMK Bot bb841087bb Merge remote-tracking branch 'origin/master' into develop 2021-09-12 07:08:53 +00:00
umi 10362777a5
update compatible_microcontrollers.md translation (#14401) 2021-09-12 16:08:22 +09:00
fauxpark 1895151a9c Merge remote-tracking branch 'upstream/master' into develop 2021-09-12 14:10:26 +10:00
Ryan 4791cfae1a
Remove width, height and key_count from info.json (#14274) 2021-09-12 14:04:56 +10:00
fauxpark a7c972b329 Merge remote-tracking branch 'upstream/master' into develop 2021-09-10 17:36:17 +10:00
Ryan d5cb7de5e4
Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
QMK Bot fc10e5e6b9 Merge remote-tracking branch 'origin/master' into develop 2021-09-10 02:58:12 +00:00
Joel Challis 7f80076d04
Align rgb/led matrix docs with current behaviour (#14367) 2021-09-10 03:57:36 +01:00
QMK Bot 8fa2a7ea2a Merge remote-tracking branch 'origin/master' into develop 2021-09-09 00:28:34 +00:00
Ryan 9e77cdf4e6
Bugfix for Joystick and JSON schema (#14295) 2021-09-09 10:27:58 +10:00
QMK Bot 673f82ebd9 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 19:36:50 +00:00
Niko Wenselowski 8a8fdd9a72
Highlight keycode (#14317)
This should make it consistent with other docs and hopefully will make less people miss this detail.
2021-09-05 20:36:16 +01:00
QMK Bot e1ad9432b6 Merge remote-tracking branch 'origin/master' into develop 2021-09-05 16:09:51 +00:00
JayceFayne 767f2c0284
[Core] Add `is_oled_scrolling` (#14305) 2021-09-05 09:09:20 -07:00
QMK Bot 0b1dee6c50 Merge remote-tracking branch 'origin/master' into develop 2021-09-04 14:02:25 +00:00
JayceFayne 014aa0661e
Fix Space Cadet md link (#14300) 2021-09-04 15:01:56 +01:00
QMK Bot d437f78f57 Merge remote-tracking branch 'origin/master' into develop 2021-09-02 03:41:03 +00:00
qieq bb356a1584
[Docs] Update path to keycode.h (#14263) 2021-09-01 20:40:12 -07:00
QMK Bot a163d34abc Merge remote-tracking branch 'origin/master' into develop 2021-08-30 23:13:53 +00:00
coliss86 1e7117317f
Documentation: Fix links in key overrides (#14228)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-31 09:13:19 +10:00
Zach White 596c4a1f87
Remove bin/qmk (#14231)
* Remove the bin/qmk script

* remove bin/qmk from workflows
2021-08-29 16:50:22 -07:00
QMK Bot 92e606b927 Merge remote-tracking branch 'origin/master' into develop 2021-08-29 23:42:27 +00:00
Zach White b705020daf
move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00
Zach White f155865804
remove qmk console, which is now part of the global cli (#14206) 2021-08-29 11:27:57 +10:00
QMK Bot 7b8cdfc19d Merge remote-tracking branch 'origin/master' into develop 2021-08-28 23:48:16 +00:00
Nick Brassel 6caebb7b61
Bootmagic lite docs clarity. (#14204) 2021-08-29 09:47:48 +10:00
Takeshi ISHII 9fe7b5307a
add 'include keyboard_features.mk' into build_keyboard.mk (#8422)
* add 'include keyboard_features.mk' into build_keyboard.mk

keyboard_features.mk is a keyboard-local version of the functions performed by common_features.mk.

* add comment into build_keyboard.mk

* added description of keyboard_features.mk in hardware_keyboard_guidelines.md.

* rename `keyboard_features.mk` to `post_rules.mk`
2021-08-29 09:42:57 +10:00
Nick Brassel 4bad375d7c
2021Q3 pre-merge `develop` changelog, keyboard aliases (#14198)
* Initial changelog.

* Data driven.

* Submodule update.

* Updated breaking changes docs.

* Aliases.

* Aliases.
2021-08-29 08:18:18 +10:00
Drashna Jaelre 29ec2d8f42
[Docs] Add examples to RGB Matrix Indicators docs (#12797) 2021-08-27 06:41:33 +10:00
Xelus22 4e1c5887c5
[Core] Refactor OLED to allow easy addition of other types (#13454)
* add docs

* core changes

* update keyboards to new OLED

* updated users to new OLED

* update layouts to new OLED

* fixup docs

* drashna's suggestion

* fix up docs

* new keyboards with oled

* core split changes

* remaining keyboard files

* Fix The Helix keyboards oled options

* reflect develop

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
2021-08-24 16:28:26 +10:00
Path Nirvana f314705921
adding uf2 flash support for blackpill 401 (#13968)
* adding uf2 flash support for blackpill 401

* forgot to add blackpill to keyboard header file

* making changes requested by drashna

* fixing tzarc s comments

* removing the keyboard

* undo the change to dactyl_manuform.h
2021-08-24 08:05:10 +10:00
Joakim Tufvegren 0ae20e7457
Make solo half of split keyboards (more) usable. (#13523)
* Make solo half of split keyboards (more) usable.

Using only one half of a split keyboard (that's using the split_common
framework to communicate) is not a great experience, since several read
timeouts per scan cycle cause an unusably slow scan rate.

This change blocks all split communication attempts for 500 ms
(configurable) after an error occurs, causing the scan rate to become at
least _more_ usable, but might need some tweaking to work fully on most
keyboards. One read timeout still needs to occur after the 500 ms has
passed, and if that timeout isn't low enough, some scan cycles may still
be too slow.

* Fix lint complaint.

* Require 25 consecutive comm errors to see comms as disconnected.

The number of max errors can be overridden by defining
`SPLIT_MAX_CONNECTION_ERRORS`.

* Add comments to new defines, and ability to disable disconnection check.

Also increase `SPLIT_MAX_CONNECTION_ERRORS` to 40, since it's divisible
by most relevant numbers for the description.

* Make lint happy ...again

* Only update `connection_check_timer` when needed.

* Add new defines to split keyboard documentation.

* Move connection timeout logic to transport.c, add `is_transport_connected`.

* Use split_common disconnection logic in matrix.c.

Instead of doing more or less the same thing twice.

* Move disconnection logic to `transport_master`.

Is a cleaner implementation, and causes the scan rate while disconnected
to increase instead of decrease.

* Lint fixes.

* Lower default `SERIAL_USART_TIMEOUT` to 20 ms.

The read timeout must be low enough to not cause exessively long scan
cycles when using a solo split half. 10 ms was determined from testing
to work fine even with the slowest defined baudrate of 19200 (5 ms was
too low for that case), so 20 ms should be fine for most cases.

* Remove `SERIAL_USART_TIMEOUT` from ergodox_infinity/config.h

Was somewhat mistakenly included in an earlier PR.

* Fix building with `USE_I2C`.

* Reduce built firmware size.

Not really sure why this works, the idea was taken from tzarc's work on
split disconnection.

* Tweak and improve opt-out for split disconnection logic.

There are now two ways to opt out from this feature:
* Set `SPLIT_MAX_CONNECTION_ERRORS` to 0. This will completely disable
  the connection status checks (also affects the slave matrix reset logic in
  matrix.c, though).
* Set `SPLIT_CONNECTION_CHECK_TIMEOUT` to 0. This will only disable the
  communication throttling while disconnected. Will make the firmware
  smaller.

* Make split disconnection logic work with custom transports.

Includes a fallback implementation for keyboards using a custom
split_util.c but not a custom matrix.c (currently no such keyboard seems
to be merged, though).

* Remove unnecessary include of timer.h

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-22 10:51:17 +10:00
QMK Bot ce379ef458 Merge remote-tracking branch 'origin/master' into develop 2021-08-20 22:32:01 +00:00
Spaceman c71d67ba3f
[Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
XScorpion2 9d1c98c891
Added right vs left specific pin assignments for dip switch (#13074)
* Added right vs left specific pin assignments for dip switch

* Update feature_dip_switch.md

* Ran formatting tools
2021-08-19 18:39:15 +01:00
tucvbif 703f027717
Allow for removal of hysteresis on 4x encoders (#13698)
* Remove hysteresis on 4x encoders

Sometimes, controller skips encoder pulses and when it returns to default position, the encoder_pulses variable isn't equals 0. And when I turn encoder in opposite direciton, it skips first click becase of encoder_pulses crosses zero. To prevent this, I add the ENCODER_DEFAULT_POS constant, and reset encoder_pulses into 0 when the state variable equals ENCODER_DEFAULT_POS.

* Documentation for ENCODER_DEFAULT_POS
2021-08-18 09:40:00 +10:00
Drashna Jaelre 4c4f632378
Add a toggle key for GUI On/Off in Magic feature (#13830) 2021-08-18 08:47:50 +10:00
ruro 3b28178deb
`--parallel` improvements (#13800)
* improve make parallel jobs support

* document the --parallel option

* disable the output-sync for interactive targets
2021-08-18 08:46:59 +10:00
a-chol 75b49aff56
Digitizer HID interface : absolute coordinates for mouse cursor (#12851)
* Add digitizer HID interface for setting the mouse cursor position at
absolute screen coordinates. Tested on Pro Micro, Proton C and
Blackpill.

* Update docs/feature_digitizer.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update tmk_core/protocol/usb_descriptor.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Add missing copyrights
Add V-USB support

* Add support for digitizer dedicated endpoint for lufa and chibios.
Fix formatting issues
Move digitizer_task definition to the feature's base implementation file

* Run cformat on modified files

* Change digitizer report usage to Digitizer instead of Pen to avoid
pointer disappearing on Windows.

* Update tmk_core/protocol/vusb/vusb.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Run cformat from docker image

* Remove send_digitizer from host_driver_t and instead rely on the
declaration being the interface to the implementation in each
HW-specific usb implementation.

* Fix build : send_digitizer shouldn't be static in vusb and add
weak-linkage implementation for tests without usb implementation

* Change digitizer user interface to match pointing device's

* Update documentation with new API

Co-authored-by: a-chol <nothing@none.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-08-18 04:52:44 +10:00
freqmod 705774f7bf
Steno combinedkeys (#12538)
* Add support for steno keys that press adjacent keys simultaniously

* Add some docs for steno combined keys
2021-08-18 04:48:00 +10:00
Drashna Jaelre 7da97c293d
Rgb matrix/enable modes explicitly (#13758)
* Change animations to require explicet activation

* Add support for legacy config

* Make default for now

* Add LED Matrix support

* change LED Matrix docs
2021-08-18 04:19:00 +10:00
QMK Bot a6d2993fc5 Merge remote-tracking branch 'origin/master' into develop 2021-08-17 16:14:10 +00:00
s-show ab10ce4932
update feature_tap_dance.md translation (#13496)
* update feature_tap_dance.md translation

* Update docs/ja/feature_tap_dance.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* update based on comment.

Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-08-18 01:13:09 +09:00
Drashna Jaelre 4e3726bfe1
Fixup Audio startup and add to documents (#13606)
* Fixup Audio startup and add to documents

* fix doc descriptions
2021-08-15 21:51:50 +01:00
Drashna Jaelre 488aaa0980
Enable sync of OLED/ST7565 display on/off state on Splits (#13542)
* Enable sync of OLED/ST7565 display on/off state on Splits

* Only send if states are not matched

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-15 15:39:08 +10:00
Zach White 60a36863bc
[Keyboard] ez_maker/directpins for easy one-offs in qmk_configurator (#13321)
* new keyboard: handwired/directpins

* fix promicro keyboard_name

* add teensy2 and teensy2++ support

* align with handwired/onekey

* tweak pids

* add teensy 3.2 and teensy lc to directpins

* move directpins from handwired to ez_maker

* add docs for easy maker
2021-08-14 08:42:59 -07:00
QMK Bot 0bb9a5c128 Merge remote-tracking branch 'origin/master' into develop 2021-08-14 14:18:47 +00:00
Ryan fce12f0075
Rework keymap_extras docs (#13949) 2021-08-15 00:18:20 +10:00
QMK Bot 4adb7d2176 Merge remote-tracking branch 'origin/master' into develop 2021-08-12 20:15:32 +00:00
Felix Sargent 0c175d63cf
Update 20210529.md (#13170)
This was confusing to me when I updated, so I want to make it more clear for those that come after.
2021-08-13 06:14:57 +10:00
Drashna Jaelre 477365912d
Fix some additional bootmagic settings (#13979) 2021-08-12 13:03:40 -07:00
QMK Bot d888ac17ea Merge remote-tracking branch 'origin/master' into develop 2021-08-10 14:48:55 +00:00
Zach White 9a0118c603
Architecture documentation for Configurator and API (#13935)
* Architecture documentation for the configurator and api

* Apply suggestions from code review

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-08-10 07:47:53 -07:00
QMK Bot 5b8f2eccbf Merge remote-tracking branch 'origin/master' into develop 2021-08-10 09:15:00 +00:00
Stefan Subich aeff347a07
Update feature_wpm.md (#13936)
Fix example markdown code formatting
2021-08-10 10:14:14 +01:00
Joel Challis c0628c2820
Remove backwards compatibility of debounce names (#13877)
* Remove backwards compatibility of debounce names

* Update docs

* Update keyboards/keymaps
2021-08-09 19:46:18 +01:00
thpoll83 b43c6bc176
Add support for STM32F407x MCUs. (#13718)
* Add support for STM32F407x MCUs.

* Removing STMF407 MCU variation

* Update quantum/mcu_selection.mk

Remove options for dfu flashing

Co-authored-by: Ryan <fauxpark@gmail.com>

* DISABLE STM32_USB_USE_OTG1

* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update platforms/chibios/GENERIC_STM32_F407XE/configs/mcuconf.h

Co-authored-by: thomas.pollak <thomas.pollak@dynatrace.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-09 06:52:13 +10:00
James Young a03aa301de
Remove Full Bootmagic (#13846)
* disambiguate Bootmagic rules in keymaps

The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic.

This commit edits the files to specify that full Bootmagic is intended.

* remove BOOTMAGIC_ENABLE=full setting

* unify commented BOOTMAGIC_ENABLE rules in keyboards

Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no       # Virtual DIP switch configuration;g' {} +
```

* remove commented Bootmagic rules from keymap/user level

Command:

```
find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} +
```

* update keyboard BOOTMAGIC_ENABLE rule formatting

Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later).

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
```

* update keyboards' BOOTMAGIC_ENABLE settings

Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' +
```

* update keymap/user BOOTMAGIC_ENABLE settings

Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' +
```

* remove and replace inline comments in keyboards and keymap/user files

Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`.

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1     # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1      # Enable Bootmagic Lite;g' '{}' +
find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1       # Enable Bootmagic Lite;g' '{}' +
```

* rename improperly named makefiles

Some files intended to be used as makefiles had improper names causing them to not be used as intended when building.

This commit corrects the filenames of the affected files.

* update renamed file with new rule formatting

* update QMK's template files

Updates QMK's `rules.mk` templates to use the new inline comment.

* update QMK Docs

- remove documentation of full Bootmagic
- update links to Bootmagic Lite doc
- add doc for Magic Keycodes

* rules.mk patch for coarse/ixora and coarse/vinta
2021-08-06 23:59:56 -07:00
Sergey Vlasov 610035dce8
Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys (#9404)
* Add HOLD_ON_OTHER_KEY_PRESS option for dual-role keys

Implement an additional option for dual-role keys which converts the
dual-role key press into a hold action immediately when another key is
pressed (this is different from the existing PERMISSIVE_HOLD option,
which selects the hold action when another key is tapped (pressed and
then released) while the dual-role key is pressed).  The Mod-Tap keys
already behave in a similar way, unless the IGNORE_MOD_TAP_INTERRUPT
option is enabled (but with some additional delays); the added option
makes this behavior available for all other kinds of dual-role keys.

* [Docs] Update tap-hold docs for HOLD_ON_OTHER_KEY_PRESS

Document the newly added HOLD_ON_OTHER_KEY_PRESS option and update the
documentation for closely related options (PERMISSIVE_HOLD and
IGNORE_MOD_TAP_INTERRUPT).

Use Layer Tap instead of Mod Tap in examples for PERMISSIVE_HOLD and
HOLD_ON_OTHER_KEY_PRESS, because the effect of using these options with
Mod Tap keys is mostly invisible without IGNORE_MOD_TAP_INTERRUPT.

Add comments before return statements in sample implementations of
`get_ignore_mod_tap_interrupt()`, `get_hold_on_other_key_press()` and
`get_permissive_hold()`.

Thanks to @Erovia and @precondition for comments and suggestions to
improve the documentation.
2021-08-07 09:16:26 +10:00
Pete Sevander 7e983796e1
Process combos earlier & overlapping combos (#8591)
* Combo processing improvements.

Now it is possible to use ModTap and LayerTap keys as part of combos.
Overlapping combos also don't trigger all the combos, just exactly the
one that you press.

New settings:
- COMBO_MUST_HOLD_MODS
- COMBO_MOD_TERM
- COMBO_TERM_PER_COMBO
- COMBO_MUST_HOLD_PER_COMBO
- COMBO_STRICT_TIMER
- COMBO_NO_TIMER

* Remove the size flags from combo_t struct boolean members.

This in the end actually saves space as the members are accessed so many
times. The amount of operations needed to access the bits uses more
memory than setting the size saves.

* Fix `process_combo_key_release` not called correctly with tap-only combos

* Fix not passing a pointer when NO_ACTION_TAPPING is defined.

* Docs for `COMBO_ONLY_FROM_LAYER`

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update quantum/process_keycode/process_combo.c

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Add `EXTRA_SHORT_COMBOS` option.

Stuff combo's `disabled` and `active` flags into `state`. Possibly can
save some space.

* Add more examples and clarify things with dict management system.

- Simple examples now has a combo that has modifiers included.
- The slightly more advanced examples now are actually more advanced
  instead of just `tap_code16(<modded-keycode>)`.
- Added a note that `COMBO_ACTION`s are not needed anymore as you can
  just use custom keycodes.
- Added a note that the `g/keymap_combo.h` macros use the
  `process_combo_event` function and that it is not usable in one's
  keymap afterwards.

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Change "the" combo action example to "email" example.

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Fix sneaky infinite loop with `combo_disable()`

No need to call `dump_key_buffer` when disabling combos because the
buffer is either being dumped if a combo-key was pressed, or the buffer is empty
if a non-combo-key is pressed.

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

* Update docs/feature_combo.md

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-08-06 09:44:57 +10:00
Juan Pablo Kutianski 07553b41f0
[Feature] Swap buttons on PS2 Mouse/Trackball (#9205)
* [Feature Request] Swap buttons on PS2 Mouse/Trackball

* [Feature Request] Swap buttons on PS2 Mouse/Trackball

* Added id: to the doc

* Missing space

* Solve comment
https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783182

* Solve comments https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783182 & https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783884

* Format code more according to https://docs.qmk.fm/#/coding_conventions_c

* change logic to LUT

* WIP: Clean up

* WIP: Solution with xor operators to mask the change

* delete #endif & added the missed xor operator (ahhh)

* Variable (mouse_report->buttons): avoid setting twice https://github.com/qmk/qmk_firmware/pull/9205#discussion_r430783884

* Update tmk_core/protocol/ps2_mouse.c

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: juank <juank@fktech.net>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-06 09:09:58 +10:00
JohSchneider bcb6e23387
Arm ps2 mouse interrupt (#6490)
* ps2_mouse on ARM: an interrupt-version of the ps2-mouse code ported to ARM/chibios

* ps2_mouse on ARM: link EXT callback-channel selection to the user defined PS2_LINE_CLOCK

* ps2_mouse on ARM: replace DELAY_X defines with hardware-agnostic wait_X

* ps2_mouse on ARM: replace chibios-specific defines for the pins/lines with defines from quantum/config_common.h

and drop the '_LINE' component from teh define name

* ps2_mouse on ARM: expose the software-intterupt port as a user editable define

* Update docs/feature_ps2_mouse.md

Co-Authored-By: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Update feature_ps2_mouse.md

* use a define to deduce the PS_DATA_PORT instead

* reduce all-zero extcfg to oneliner

* ps2_mouse: use generic wait instead of avr-delay

* Update docs/feature_ps2_mouse.md

* ps2_mouse: changes for new chibios version

(17.6.0 -> 19.1.0)
replacing the legacy externa-interrupt driver with pal-callbacks

* ps2_mouse: use PLATFORM_KEY

Co-Authored-By: Joel Challis <git@zvecr.com>

* ps2_mouse: clang-format corrections

* ps2_mouse: add systemlocks

using the chibios equivalent to AVRs cli: chSys[Unl|L]ock

Co-authored-by: Johannes <you@example.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2021-08-06 07:51:24 +10:00
QMK Bot 600faab707 Merge remote-tracking branch 'origin/master' into develop 2021-08-04 00:23:25 +00:00
Changsu Park 9c69db4700
Updated settings.json file to fit VSC's docs (#13829)
This change fixes the warning caused by deprecated way of configuring terminal profiles.

The warning caused by old settings.json is the following:
This is deprecated, the new recommended way to configure your default shell is by creating a terminal profile in `#terminal.integrated.profiles.windows#` and setting its profile name as the default in `#terminal.integrated.defaultProfile.windows#`. This will currently take priority over the new profiles settings but that will change in the future.

Refer to the link below for more information:
https://code.visualstudio.com/docs/editor/integrated-terminal#_configuration
2021-08-04 01:22:40 +01:00
QMK Bot 79c88767dd Merge remote-tracking branch 'origin/master' into develop 2021-08-03 01:02:06 +00:00
plarso fd9d531bd9
[Docs] Remove extra word it bootmagic page (#13855) 2021-08-02 18:01:38 -07:00
Joel Challis 70fb3e1aaf
__flash? (#13799) 2021-07-31 14:35:30 +01:00
Joel Challis 206a995ccd
Move some led drivers to common folder (#13749)
* Move some led drivers to common folder
2021-07-31 14:31:09 +01:00
QMK Bot 7c70a90867 Merge remote-tracking branch 'origin/master' into develop 2021-07-30 23:22:11 +00:00
Nick Brassel b459f314ec
Explicitly state that VIA should not be enabled in the default keymap. (#13803) 2021-07-31 09:21:45 +10:00
Ryan b021c2f2c5
Port new_keyboard.sh to CLI (#13706)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-07-30 21:57:40 +01:00
QMK Bot 4735aab75b Merge remote-tracking branch 'origin/master' into develop 2021-07-30 13:48:29 +00:00
Ryan 8b39a3c484
`qmk docs`: Add flag to open in browser (#13788)
* `qmk docs`: Add flag to open in browser

* Add docs
2021-07-30 14:47:34 +01:00
James Young 80d8c4a483
Merge remote-tracking branch 'upstream/master' into develop 2021-07-29 23:04:06 -07:00
officereso 6fd9b2feba
[Docs] Added information on soldering diodes in parallel (#13117)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-07-29 22:56:27 -07:00
Ryan 25f43837d2
Remove references to info.json `width` and `height` in CLI (#13728) 2021-07-29 22:37:18 -07:00
QMK Bot 50964ae821 Merge remote-tracking branch 'origin/master' into develop 2021-07-28 11:01:28 +00:00
Joel Challis 03d258c222
matrix_scan_x -> x_task (#13748) 2021-07-28 12:01:23 +01:00
Shane Celis fcce9f2a4f
fix: Fix typo in documentation for one shot keys. ON_TOGG -> OS_TOGG (#13754)
`ON_TOGG` doesn't exist in the codebase.
2021-07-28 12:00:55 +01:00
QMK Bot 95de60513d Merge remote-tracking branch 'origin/master' into develop 2021-07-27 02:45:36 +00:00
ForsakenRei ae2c2358ec
[Docs] Add `default` case in Tap Dance Example 6 (#13727)
Added a `default` case in `switch(ql_tap_state.state)` at line 493 and 494.
Without it compile firmware with Example 6 code will encounter 2 errors:
`enumeration value 'TD_NONE' not handled in switch`
`enumeration value 'TD_UNKNOWN' not handled in switch`
2021-07-26 19:45:08 -07:00