Commit graph

1809 commits

Author SHA1 Message Date
Joel Challis
39bec3bfa5
Various fixes for matrix _RIGHT handling (#16292)
* Various fixes for matrix _RIGHT handling

* clang
2022-02-11 19:01:16 +00:00
Nick Brassel
a2ffdb4abd Merge remote-tracking branch 'upstream/master' into develop 2022-02-09 16:00:09 +11:00
Nick Brassel
efdaa7f972
Add support for driving unselected row/col. (#16278) 2022-02-09 15:50:13 +11:00
Drashna Jaelre
9124f5dc2d
Add layout change callbacks to VIA (#16087)
* Add layout change callbacks to VIA

* Update worklouder example
2022-02-06 22:01:04 +00:00
MasterSpoon
0452ad9479
Add RGB matrix & LED Matrix support for IS31FL3742A, IS31FL3743A, IS31FL3745, IS31FL3746A (#14989)
Co-authored-by: Xelus22 <17491233+Xelus22@users.noreply.github.com>
2022-02-06 09:04:43 -08:00
Desprez Jean-Marc
5a0e129f11
[Bug] Fix layer_state restoration at end of dynamic macro feature (#16230) 2022-02-06 08:55:16 -08:00
Adam Lickel
eb8ace0855
RGB Matrix: Reload from EEPROM (#15923)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-02-04 19:08:48 -08:00
QMK Bot
b4ceefde37
Format code according to conventions (#16211) 2022-02-04 19:23:30 +00:00
Albert Y
6a35788b63 [Core] Add Pixel Flow RGB matrix effect (#15829)
* Initial PIXEL FLOW matrix effect commit

* Commit suggested use of rgb_matrix_check_finished_leds

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Code change support for split RGB

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-02-05 05:58:16 +11:00
QMK Bot
578d3f6951 Merge remote-tracking branch 'origin/master' into develop 2022-02-04 18:57:58 +00:00
Nick Brassel
1fffcbc298
Revert "[Core] Add Pixel Flow RGB matrix effect (#15829)" (#16209)
This reverts commit e8fa329073.
2022-02-05 05:57:21 +11:00
QMK Bot
f2384d062b Merge remote-tracking branch 'origin/master' into develop 2022-02-04 18:56:47 +00:00
Albert Y
e8fa329073
[Core] Add Pixel Flow RGB matrix effect (#15829)
* Initial PIXEL FLOW matrix effect commit

* Commit suggested use of rgb_matrix_check_finished_leds

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Code change support for split RGB

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-02-05 05:55:51 +11:00
Joel Challis
135c935990
Initial migration of suspend callbacks (#16067)
* Initial migration of suspend logic

* Add header
2022-02-05 05:10:00 +11:00
Nick Brassel
dcf4bf6d29 Merge remote-tracking branch 'upstream/develop' into xap 2022-02-03 03:15:01 +11:00
Nick Brassel
e22efc037a
Don't make EEPROM size assumptions with dynamic keymaps. (#16054)
* Don't make EEPROM size assumptions with dynamic keymaps.

* Add support for checking against emulated flash, error out if someone attempts to build a board without specifying EEPROM size.

* Reorder defines so that MCU is considered last.

* Refactor EEPROM definitions for simplicity.

* Fix max sizing of kabedon/kabedon980.

* Fix max sizing of mechlovin/olly/jf.

* Fix unit tests.

* Review comments, add messages with values during build failures.
2022-02-02 15:04:37 +11:00
QMK Bot
b79b8dcdd0
Format code according to conventions (#16110) 2022-01-29 12:25:49 +00:00
Pete Sevander
d700447dda
Combo TAP_CODE_DELAY and clear_weak_mods (#15866) 2022-01-28 23:19:36 -08:00
Ga68
1f59fe6d1b
Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY (#15635)
Co-authored-by: Ga68 <github.ga68.e@grxme.com>
2022-01-28 23:03:21 -08:00
QMK Bot
f25977bcd4 Merge remote-tracking branch 'origin/master' into develop 2022-01-27 15:37:50 +00:00
KraXen72
b31f814e8c
Fixes for slovak language-specific keycodes (#16019) 2022-01-27 15:36:43 +00:00
Stefan Kerkmann
be59e8af2b
Deprecate split transactions status field (#16023) 2022-01-26 21:13:27 -08:00
Dasky
7b31fc54df
Enable a default task throttle for split pointing. (#15925) 2022-01-26 19:24:29 +00:00
QMK Bot
efbfd30318 Merge remote-tracking branch 'origin/master' into develop 2022-01-25 13:41:28 +00:00
Ryan
3e0ee6fb74
Fix joystick button off-by-one error (#16037) 2022-01-25 13:40:55 +00:00
Joel Challis
5249a606f1
Fix up issue with PROGMEM and hand_swap_config (#16027) 2022-01-24 22:20:08 +00:00
Ryan
1d11ae3087
Rip out old macro and action_function system (#16025)
* Rip out old macro and action_function system

* Update quantum/action_util.c

Co-authored-by: Joel Challis <git@zvecr.com>
2022-01-24 21:22:20 +00:00
Joel Challis
a8700404f7
Relocate matrix_init_quantum content (#15953)
* Relocate matrix_init_quantum content

* Update include order

* Fix cherry pick from 15722
2022-01-23 02:41:57 +00:00
Drashna Jaelre
8101a836a4
[Bug] Fix compilation issues for led indicators (#16001) 2022-01-22 23:43:39 +00:00
Joel Challis
eddd1c0567
Fix BACKLIGHT_CAPS_LOCK warning (#15999)
* Fix BACKLIGHT_CAPS_LOCK warning

* align defs
2022-01-22 23:11:42 +00:00
Joel Challis
6e83b44940
Align location of some host led logic (#15954)
* Align location of host led logic

* Move more

* align ifdefs

* Fix up includes

* Move callback defs

* Convert comment to build message
2022-01-22 21:17:02 +00:00
Ryan Hausen
489475814a
fixed typo in orange HSV colors decalartion (#15976) 2022-01-22 06:12:14 +00:00
Albert Y
fed36fc5f8
Adjust mouse key defaults (#15883) 2022-01-21 22:09:44 -08:00
Drashna Jaelre
909003cce9
[Bug] Fix hack for chibiOS reset name (#15984) 2022-01-22 04:59:19 +00:00
Ryan
b45a037c7e
Rename some Quantum keycodes (#15968)
* Rename some Quantum keycodes

* Tweak EEPROM clear and debug keycode short aliases
2022-01-22 03:34:15 +00:00
Joel Challis
d840ef2b28
Relocate matrix_scan_quantum tasks (#15882)
* Move matrix_scan_quantum tasks

* Fix tests

* Fix up missing refs
2022-01-19 17:38:48 +00:00
Albert Y
1d3c2ceded
Add init function to clear previous effect (#15815) 2022-01-17 06:48:09 +11:00
QMK Bot
9cd2024814 Merge remote-tracking branch 'origin/master' into develop 2022-01-15 07:28:32 +00:00
Drashna Jaelre
5bad37cb56
[Bug] Remove config.h include in dynamic_keymap.c (#15886) 2022-01-15 18:28:29 +11:00
Alabastard-64
2842ab4052
Add PMW3389 optical sensor Support (Updated) (#15740)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-01-11 14:33:13 -08:00
Nick Brassel
0c402157fc
Advanced deferred_exec for core-side code. (#15579) 2022-01-10 18:26:46 +00:00
Pete Sevander
21958a9343
New combo configuration options (#15083)
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
2022-01-09 12:02:25 -08:00
Joel Challis
7562f6644f
Slight tidy up of keyboard task loop (#15725) 2022-01-09 03:50:44 +00:00
Leo Deng
82d3bdb733
IS31FL3733 driver for LED Matrix (#15088) 2022-01-08 19:37:03 -08:00
Joel Challis
8dbc8a802c
Unify the key up/down behaviour of RGB keycodes (#15730) 2022-01-06 18:52:32 +11:00
QMK Bot
5fcdff9935
Format code according to conventions (#15693) 2021-12-31 23:46:23 +00:00
Dasky
4fe6f3cd7a
Fix split pointing for analog joystick (#15691)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-12-31 15:38:23 -08:00
Drashna Jaelre
14d5c3f2f1
[Bug] Include missing string.h include (#15606) 2021-12-28 10:57:41 +11:00
Drashna Jaelre
c86baf3ece
[Core] Fix bug and code regression for Split Common (#15603) 2021-12-28 10:01:51 +11:00
uqs
d3952523fe
pwm3360 driver cleanup and diff reduction to adns9800 (#15559)
* Diff reduction between ADNS9800 and PMW3360 drivers.

They are very similar devices. This (somewhat) unreadable diff is
essentially a no-op, but it makes a `vimdiff` between the 2 drivers much
more readable.

* Cleanup pwm3360 driver some more.

Remove redundant calls to spi_start() and spi_stop(), as pmw3360_write()
will already call these.
2021-12-27 21:26:09 +11:00
Jay Greco
ac31863021
Custom matrix lite support for split keyboards (#14674)
* Custom matrix lite support for split keyboards

* WIP: matrix -> matrix_common refactor

* Move matrix_post_scan() to matrix_common.c
2021-12-27 21:03:40 +11:00
QMK Bot
eadfcb9a40
Format code according to conventions (#15590) 2021-12-27 14:34:15 +11:00
QMK Bot
c20096c7aa Merge remote-tracking branch 'origin/master' into develop 2021-12-27 02:51:13 +00:00
Erik Berthold
2c8d46f408
fix RGB_DISABLE_TIMEOUT flicker on split keyboards (#14954) 2021-12-27 13:50:44 +11:00
Chad Austin
25713dc222
Add sym_defer_pr debouncer type (#14948) 2021-12-27 13:44:56 +11:00
Drashna Jaelre
672c6b4721
Make (un)register code functions weak (#15285) 2021-12-27 12:15:56 +11:00
QMK Bot
f9cf09ebd1
Format code according to conventions (#15588) 2021-12-27 12:10:04 +11:00
Dasky
7f7364c559
[Core] Split support for pointing devices. (#15304)
* Draft implementation

* formatting

* fix combined buttons

* remove pimoroni throttle

* sync pointing on a throttle loop with checksum

* no longer used

* doh

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

* switch pimoroni to a cpi equivalent

* add cpi support

* allow user modification of seperate mouse reports

* a little tidy up

* add *_RIGHT defines.

* docs

* doxygen comments

* basic changelog

* clean up pimoroni

* small doc fixes

* Update docs/feature_pointing_device.md

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

* performance tweak if side has usb

* Don't run init funtions on wrong side

* renamed some variables for consistency

* fix pimoroni typos

* Clamp instead of OR

* Promote combined values to uint16_t

* Update pointing_device.c

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-12-27 12:05:51 +11:00
vectorstorm
0391801267
Fixes potential wpm sampling overflow, along with code comment fixes (#15277)
Co-authored-by: Trevor Powell <trevor@vectorstorm.com.au>
2021-12-27 11:52:56 +11:00
QMK Bot
53472a4e7b Merge remote-tracking branch 'origin/master' into develop 2021-12-24 22:31:48 +00:00
Chris Broekema
c4b03509da
Save a single byte of memory for joystick buttons (#15555)
Co-authored-by: Joel Challis <git@zvecr.com>
2021-12-24 14:31:15 -08:00
QMK Bot
3a2d01df6a Merge remote-tracking branch 'origin/master' into develop 2021-12-16 18:05:44 +00:00
billybraga
f383d3d8be
Fix inverted gt and lt send_string mapping in canadian multilingual (#15487)
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Billy Braga <bbraga@progi.com>
2021-12-16 10:05:06 -08:00
QMK Bot
c8fd62432a Merge remote-tracking branch 'origin/master' into develop 2021-12-16 05:59:42 +00:00
Yoichiro Tanaka
231cd7a39f
Fix some wrong keycode macros in locale mapping files (#15488) 2021-12-16 16:59:04 +11:00
Ryan
c12268807d
Migrate serial_uart usages to UART driver (#15479)
* Migrate Thermal Printer feature to UART driver

* Migrate 40percentclub UT47 to UART driver

* Migrate Centromere to UART driver

* Migrate Chimera Ergo to UART driver

* Migrate Chimera Let's Split to UART driver

* Migrate Chimera Ortho to UART driver

* Migrate Chimera Ortho Plus to UART driver

* Migrate Comet46 to UART driver

* Migrate Palm USB converter to UART driver

* Migrate Sun USB converter to UART driver

* Migrate Dichotomy to UART driver

* Migrate Honeycomb to UART driver

* Migrate Mitosis to UART driver

* Migrate Redox W to UART driver

* Migrate Uni660 to UART driver

* Migrate Telophase to UART driver
2021-12-15 11:00:39 +00:00
Stefan Kerkmann
8b865a9d64
[Core] Don't send keyboard reports that propagate no changes to the host (#14065) 2021-12-14 10:40:18 -08:00
Dipl.-Ing. Raoul Rubien, BSc
415faebd65
added missing audio_off_user() callback (#15457)
Co-authored-by: Raoul Rubien <raoul.rubienr@gmail.com>
2021-12-11 16:58:25 -08:00
Drashna Jaelre
5f7c0e3097
Add missing define for unicode common (#15416) 2021-12-06 11:36:30 -08:00
Drashna Jaelre
942b3cf16c
Generalize Unicode defines (#15409) 2021-12-06 09:38:36 -08:00
Joel Challis
2726856cde
Implement MAGIC_TOGGLE_CONTROL_CAPSLOCK (#15368) 2021-11-30 17:34:08 -08:00
Stefan Kerkmann
c1297ceb97
[Core] Remove matrix_is_modified() and debounce_is_active() (#15349) 2021-11-29 08:22:10 -08:00
QMK Bot
5ebeb32ec0 Merge remote-tracking branch 'origin/master' into develop 2021-11-29 15:08:12 +00:00
Karl Shea
84b8cdc1a4
Fix bit loss in cie_lightness() when doing division to resolve #15331 (#15344)
* Fix bit loss in cie_lightness() when doing division.

* Use the right types

* Format

Co-authored-by: zvecr <git@zvecr.com>
2021-11-29 15:07:36 +00:00
wheredoesyourmindgo
7f67504993
Added cancel_key_lock function (#15321) 2021-11-29 00:17:07 -08:00
Nick Brassel
bf66b91433 Merge remote-tracking branch 'upstream/develop' into xap 2021-11-28 12:56:46 +11:00
Stefan Kerkmann
ca5670762b
Fix HOLD_ON_OTHER_KEY_PRESS after #11059 (#15307)
that broke compilation because of a typo: KEYPRESS should have been
KEY_PRESS
2021-11-28 05:54:51 +11:00
Drashna Jaelre
b3fc33faf7
Re-add encoder tests (#15312)
Co-authored-by: Balz Guenat <balz.guenat@gmail.com>
2021-11-27 22:19:22 +11:00
Drashna Jaelre
4d0dd1eab7
[Bug] Revert Assymmetrical Split Encoder support (#12090) (#15311)
* Revert "fix broken macro in transport.h (#15239)"

This reverts commit 06f18e22d9.

* Revert "Rework encoders to enable asymmetric split keyboards (#12090)"

This reverts commit 32215d5bff.
2021-11-27 14:40:09 +11:00
precondition
4bac5f53d8
New feature: DYNAMIC_TAPPING_TERM_ENABLE (#11036)
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE`

3 new quantum keys to configure the tapping term on the fly.

* Replace sprintf call in tapping_term_report by get_u16_str

* Replace tab with 4 spaces
2021-11-26 07:06:50 +11:00
Isaac Elenbaas
d9393b8684
Add Retro Shift (Auto Shift for Tap Hold via Retro Tapping) and Custom Auto Shifts (#11059)
* Add Retro Shift and Custom Auto Shifts

* Fix compilation errors with no RETRO_SHIFT value
2021-11-25 23:12:14 +11:00
Nick Brassel
7746aefe94 Revert "[Tests] Increase QMK test coverage (#13789)"
This reverts commit b6054c0206.
2021-11-23 09:54:04 +11:00
Stefan Kerkmann
b6054c0206
[Tests] Increase QMK test coverage (#13789)
* Add per-test keymaps

* Add better trace and info logs for failed unit-tests

* Add layer state assertion with tracing message

* Use individual test binaries configuration options

* Add basic qmk functionality tests

* Add tap hold configurations tests

* Add auto shift tests

* `qmk format-c

* Fix tests

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-23 08:15:04 +11:00
Drashna Jaelre
32a87d3517
Add uint to char functions (#15244)
* Add uint to char functions

* appease the all mighty lint

* Further appease Lint

* Update functions

* Add doxygen comment

* Update quantum/quantum.c

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

* Apply suggestions from code review

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

* Add declaration for get_numeric_string

* fix formatting and bug

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-23 08:13:22 +11:00
Zach White
08ce0142ba
Macros in JSON keymaps (#14374)
* macros in json keymaps

* add advanced macro support to json

* add a note about escaping macro strings

* add simple examples

* format json

* add support for language specific keymap extras

* switch to dictionaries instead of inline text for macros

* use SS_TAP on the innermost tap keycode

* add the new macro format to the schema

* document the macro limit

* add the json keyword for syntax highlighting

* fix format that vscode screwed up

* Update feature_macros.md

* add tests for macros

* change ding to beep

* add json support for SENDSTRING_BELL

* update doc based on feedback from sigprof

* document host_layout

* remove unused var

* improve carriage return handling

* support tab characters as well

* Update docs/feature_macros.md

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

* escape backslash characters

* format

* flake8

* Update quantum/quantum_keycodes.h

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-22 11:11:35 -08:00
Balz Guenat
06f18e22d9
fix broken macro in transport.h (#15239) 2021-11-20 20:09:21 +00:00
Balz Guenat
32215d5bff
Rework encoders to enable asymmetric split keyboards (#12090)
Co-authored-by: Balz Guenat <balz.guenat@siemens.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-20 09:06:08 -08:00
Joel Challis
2728603fe6
Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
Drashna Jaelre
50dc313e80
[Bug] Revert backlight pins on function call (#15205) 2021-11-19 06:06:55 +11:00
Drashna Jaelre
88eaf78628
[Bug] Fix missing variable for Backlight Breathing (#15199)
* [Bug] Fix missing varaible for Backlight Breathing

* Better fix

* formatting
2021-11-18 16:37:34 +11:00
QMK Bot
cc7600cf0e
Format code according to conventions (#15196) 2021-11-18 08:07:45 +11:00
Mikkel Jeppesen
e0a5056963
Made AVR backlight pwm resolution configurable (#7521)
* Made static backlight pwm resolution configurable

* Made breathing backlighting configurable too

* Finished my ifdef

* Ran clang-format

* Added missing semi-colon

* Solved weird behaviour by right-shifting the right amount

* Made breathing period scaled on actual pwm frequency

* Made the low end deadzone scaled on the top value

* Moved 'pwm_frequency' declaration outside ifdef

* Fixed 'never used' error

* Fixed 'never used' error

* Fixed breathing ISR to 120Hz

* Removed pwm_frequency constant
Constant is no longer needed since running the breathing ISR at a fixed 120Hz

* Re-add brightness limiting

* re-introduce scaling
2021-11-18 07:56:13 +11:00
QMK Bot
25b087925c
Format code according to conventions (#15195) 2021-11-17 20:42:00 +00:00
Albert Y
557e5ddf99
Rename RGB fractal (#15174)
Co-authored-by: filterpaper <filterpaper@localhost>
2021-11-16 11:14:57 -08:00
Drashna Jaelre
160b0558f5
Require explicit enabling of RGB Matrix modes (#15018) 2021-11-15 10:41:04 -08:00
vectorstorm
c9fd698711
Reimplements WPM feature to be smaller & precise (#13902)
* Reimplements WPM feature.

 - Now calculates exact WPM over the last up to three seconds of typing.
 - WPM_SMOOTHING removed, as it's no longer needed.
 - WPM_SAMPLE_SECONDS added, to specify how long a period to average WPM
   over, set to 5 seconds by default.
 - WPM_SAMPLE_PERIODS added, to specify how many sampling buffers we'll
   use.  Each one uses one extra byte of space.  Having more will lead
   to smoother decay of WPM values.  Defaults to 50 (we're saving so
   many bytes of firmware space I felt like being extravagent, and this
   change is still a big size saving overall)
 - WPM_UNFILTERED option added (defaults to unset), which disables all
   filtering within the WPM feature.  This saves some space in the
   firmware and also reduces latency between typing and the WPM
   calculation measuring it.  (saves 70 bytes in my tests)
 - WPM_LAUNCH_CONTROL added (defaults to unset).  When typing begins
   while the current displayed WPM value is zero, the WPM calculation
   only considers the time elapsed since typing began, not the whole
   WPM_SAMPLE_SECONDS buffer.  The result of this is that the displayed
   WPM value much more rapidly reaches an accurate WPM value, even when
   results are being filtered. (costs 22 bytes in my tests)
 - Updates documentation to reflect changed options.

Saves about 900 bytes, in my tests, compared against the previous implementation,
with default settings.

* Apply suggestions from code review

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

Co-authored-by: Trevor Powell <trevor@vectorstorm.org>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-11-16 05:40:52 +11:00
Nick Brassel
36d123e9c5
Add support for deferred executors. (#14859)
* Add support for deferred executors.

* More docs.

* Include from quantum.h

* Cleanup.

* Parameter checks

* Comments.

* qmk format-c

* I accidentally a few words.

* API name change.

* Apply suggestions from code review

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Review comments.

* qmk format-c

* Review comments.

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-11-15 18:21:09 +00:00
Drashna Jaelre
b3ee124da6
Add needed include to pointing_device.c (#15167) 2021-11-16 04:09:31 +11:00
Drashna Jaelre
56e3f06a26
Rework and expand Pointing Device support (#14343)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2021-11-14 22:03:24 -08:00
Drashna Jael're
7e86c37962
Merge remote-tracking branch 'origin/master' into develop 2021-11-13 09:32:14 -08:00