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

Fix one-shot locked modifiers #16114

Merged
merged 2 commits into from
Apr 18, 2022

Conversation

denis-savran
Copy link

@denis-savran denis-savran commented Jan 29, 2022

Description

  • Fix state updates of one-shot locked modifiers
    Activating additional one-shot locked modifiers removed previously enabled locked modifiers from the state.
    get_oneshot_locked_mods returned zero when two or more one-shot locked modifiers were enabled and then one was disabled.

  • Do not delete one-shot locked modifiers on a one-shot layer toggle
    Non-locked one-shot modifiers are not removed so this behavior adds inconsistency.
    Also the one-shot locked modifiers state was reset without unregistering any modifiers.

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • 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).

Activating additional one-shot locked modifiers removed previously enabled locked modifiers from the state.
`get_oneshot_locked_mods` returned zero when two or more one-shot locked modifiers were enabled and then one was disabled.
Non-locked one-shot modifiers are not removed so this behavior adds inconsistency.
Also the one-shot locked modifiers state was reset without unregistering any modifiers.
@github-actions github-actions bot added the core label Jan 29, 2022
@zvecr zvecr added the bug label Jan 29, 2022
@drashna drashna requested a review from a team January 30, 2022 00:45
@drashna drashna requested a review from a team January 30, 2022 22:04
@stale
Copy link

stale bot commented Apr 16, 2022

Thank you for your contribution!
This pull request has been automatically marked as stale because it has not had activity in the last 45 days. It will be closed in 30 days if no further activity occurs. Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with awaiting review, breaking_change, in progress, or on hold to prevent the issue from being re-flagged.

Copy link
Member

@fauxpark fauxpark left a comment

Choose a reason for hiding this comment

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

#pragma weak

@stale stale bot removed the awaiting changes label Apr 17, 2022
@drashna drashna merged commit b1ceb4b into qmk:develop Apr 18, 2022
@drashna
Copy link
Member

drashna commented Apr 18, 2022

Thanks!

cadusk pushed a commit to cadusk/qmk_firmware that referenced this pull request Apr 18, 2022
* qmk/develop: (163 commits)
  Expose API for hardware unique ID (qmk#16869)
  [Keyboard] Add CrimsonKeyboards' Resume1800 (qmk#16842)
  [Keyboard] sandbox - fix keymaps (qmk#16873)
  [Keyboard] Add deskpad (qmk#15602)
  Fix one-shot locked modifiers (qmk#16114)
  Ploopy Trackball Mini: only define DPI options as needed (qmk#16160)
  [Keyboard] Add the Ciel (qmk#16816)
  [Keyboard] Add digicarpice (qmk#16791)
  [Keyboard] SharkPCB release Beta compatibility (qmk#16713)
  Add customizable snake and knight animation increments (qmk#16337)
  [Keyboard] Add sandbox keyboard (qmk#16021)
  Anne Pro 2 Refactor (qmk#16864)
  Refine LED indicator documentation (qmk#16304)
  Fix qmk#16859. (qmk#16865)
  [QP] Check BPP capabilities before loading the palette (qmk#16863)
  rgblight: Add functions to stop blinking one or all but one layer (qmk#16859)
  Heatmap incorrect matrix effect workaround (qmk#16315)
  [Keyboard] Add Phase One keyboard (qmk#16430)
  Fix Xorg segfault with KeebCats PCBs (qmk#16434)
  Add GET_TAPPING_TERM macro to reduce duplicate code (qmk#16681)
  ...
0xcharly pushed a commit to Bastardkb/bastardkb-qmk that referenced this pull request Jul 4, 2022
* Fix state updates of one-shot locked modifiers

Activating additional one-shot locked modifiers removed previously enabled locked modifiers from the state.
`get_oneshot_locked_mods` returned zero when two or more one-shot locked modifiers were enabled and then one was disabled.

* Do not delete one-shot locked modifiers on a one-shot layer toggle

Non-locked one-shot modifiers are not removed so this behavior adds inconsistency.
Also the one-shot locked modifiers state was reset without unregistering any modifiers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants