Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify Tap Hold functions and documentation #8348

Merged
merged 11 commits into from
May 1, 2020

Conversation

drashna
Copy link
Member

@drashna drashna commented Mar 9, 2020

Updates all of the per key functions, and the documentation to go with them.

Specifically, this means that the keyrecord_t structure has been added to the function call for get_tapping_term, mostly.

Additionally, this moves all of the references in the documentation to the tap_hold.md doc, for easy access.

This does update a number of user keymaps, and significantly changes a function parameter in core code, so marked as a breaking change.

Types of Changes

  • Core
  • Enhancement/optimization
  • Documentation

Checklist

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

@drashna drashna added core documentation breaking_change Changes that need to wait for a version increment labels Mar 9, 2020
@drashna drashna requested review from ridingqwerty, noroadsleft and a team March 9, 2020 03:44
Copy link
Contributor

@ridingqwerty ridingqwerty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice 👍

@drashna drashna force-pushed the tap_hold/per_key branch 2 times, most recently from ad3ed1f to 34deb44 Compare April 13, 2020 01:39
@drashna drashna changed the base branch from master to future April 13, 2020 01:47
@drashna drashna changed the base branch from future to master April 13, 2020 01:54
docs/tap_hold.md Outdated Show resolved Hide resolved
docs/ChangeLog/20200530/PR8348.md Outdated Show resolved Hide resolved
@drashna drashna changed the base branch from master to future April 28, 2020 18:32
@drashna drashna requested a review from a team April 28, 2020 18:32
@noroadsleft
Copy link
Member

docs/ChangeLog/20200530/PR8348.md needs user instructions for fixing broken keymaps/code IMO.

@drashna
Copy link
Member Author

drashna commented Apr 30, 2020

docs/ChangeLog/20200530/PR8348.md needs user instructions for fixing broken keymaps/code IMO.

Sounds good to me.

Something like?

Any keymaps that have not been updated (such as those not in the repo), or that are otherwise erroring out on these functions need to be updated to appear like this:
 
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record)
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record)
bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record)

Edit: Ran another pass on the repo, found a couple boards that had made it in since. Fixed them. Also found a couple of errors in the documentation that needed to be addressed.

@noroadsleft
Copy link
Member

Something like?

Any keymaps that have not been updated (such as those not in the repo), or that are otherwise erroring out on these functions need to be updated to appear like this:
 
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)
bool get_permissive_hold(uint16_t keycode, keyrecord_t *record)
bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record)
bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record)

That looks okay to me, but IMO a table that shows both the old and the new syntax would be better.

@drashna
Copy link
Member Author

drashna commented May 1, 2020

Added. And double checked, only get_tapping_term and get_permissive_hold need to be updated.

@noroadsleft noroadsleft merged commit f4fd7f0 into qmk:future May 1, 2020
@noroadsleft
Copy link
Member

Thanks!

@drashna drashna deleted the tap_hold/per_key branch May 9, 2020 19:48
noroadsleft pushed a commit that referenced this pull request May 15, 2020
* Update and combined Tap Hold documentation

* Modify per key tapping functions to include keyrecord

* Fix call for get_tapping_term

* Update non-english docs

* Update user keymaps

* No kb/user documentation

* Breaking Changes Changelog

* Wordsmithing from noroads

* Fix typos in docs

* Run another search for old function

* Add table for conversion
noroadsleft pushed a commit to noroadsleft/qmk_firmware that referenced this pull request May 22, 2020
* Update and combined Tap Hold documentation

* Modify per key tapping functions to include keyrecord

* Fix call for get_tapping_term

* Update non-english docs

* Update user keymaps

* No kb/user documentation

* Breaking Changes Changelog

* Wordsmithing from noroads

* Fix typos in docs

* Run another search for old function

* Add table for conversion
noroadsleft pushed a commit to noroadsleft/qmk_firmware that referenced this pull request May 28, 2020
* Update and combined Tap Hold documentation

* Modify per key tapping functions to include keyrecord

* Fix call for get_tapping_term

* Update non-english docs

* Update user keymaps

* No kb/user documentation

* Breaking Changes Changelog

* Wordsmithing from noroads

* Fix typos in docs

* Run another search for old function

* Add table for conversion
noroadsleft added a commit that referenced this pull request May 30, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)

* Convert V-USB usbdrv to a submodule (#8321)

* Unify Tap Hold functions and documentation (#8348)

* Changing board names to prevent confusion (#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)

* Move spaceman keyboards (#8830)

* Migrate miscellaneous `fn_actions` entries (#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)

* Refactor Lily58 to use split_common (#6260)

* Refactor zinc to use split_common (#7114)

* Add a message if bin/qmk doesn't work (#9000)

* Fix conflicting types for 'tfp_printf' (#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)

* Refactor and updates to TKC1800 code (#8472)

* Switch to qmk forks for everything (#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)

* Audio enable corrections (2/3) (#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)

* Audio enable corrections (Part 4) (#8974)

* Fix typo from PR7114 (#9171)

* Augment future branch Changelogs (#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
turky pushed a commit to turky/qmk_firmware that referenced this pull request Jun 13, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
jakobaa pushed a commit to jakobaa/qmk_firmware that referenced this pull request Jul 7, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
drashna pushed a commit to zsa/qmk_firmware that referenced this pull request Aug 9, 2020
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
sjmacneil pushed a commit to sjmacneil/qmk_firmware that referenced this pull request Feb 19, 2021
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
BorisTestov pushed a commit to BorisTestov/qmk_firmware that referenced this pull request May 23, 2024
* Branch point for 2020 May 30 Breaking Change

* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (qmk#8954)

* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (qmk#8957)

* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (qmk#8958)

* Migrate `ACTION_LAYER_MODS` to `LM()` (qmk#8959)

* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (qmk#8968)

* Convert V-USB usbdrv to a submodule (qmk#8321)

* Unify Tap Hold functions and documentation (qmk#8348)

* Changing board names to prevent confusion (qmk#8412)

* Move the Keyboardio Model01 to a keyboardio/ subdir (qmk#8499)

* Move spaceman keyboards (qmk#8830)

* Migrate miscellaneous `fn_actions` entries (qmk#8977)

* Migrate `ACTION_MODS_KEY` to chained mod keycodes (qmk#8979)

* Organizing my keyboards (plaid, tartan, ergoinu) (qmk#8537)

* Refactor Lily58 to use split_common (qmk#6260)

* Refactor zinc to use split_common (qmk#7114)

* Add a message if bin/qmk doesn't work (qmk#9000)

* Fix conflicting types for 'tfp_printf' (qmk#8269)

* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (qmk#6480)

* Refactor and updates to TKC1800 code (qmk#8472)

* Switch to qmk forks for everything (qmk#9019)

* audio refactor: replace deprecated PLAY_NOTE_ARRAY (qmk#8484)

* Audio enable corrections (2/3) (qmk#8903)

* Split HHKB to ANSI and JP layouts and Add VIA support for each (qmk#8582)

* Audio enable corrections (Part 4) (qmk#8974)

* Fix typo from PR7114 (qmk#9171)

* Augment future branch Changelogs (qmk#8978)

* Revert "Branch point for 2020 May 30 Breaking Change"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking_change Changes that need to wait for a version increment core documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants