Skip to content

[ZoomIt] Show users full hotkey list in settings#43073

Merged
vanzue merged 17 commits intomainfrom
dev/vanzue/zoomit-hotkey
Jan 28, 2026
Merged

[ZoomIt] Show users full hotkey list in settings#43073
vanzue merged 17 commits intomainfrom
dev/vanzue/zoomit-hotkey

Conversation

@vanzue
Copy link
Contributor

@vanzue vanzue commented Oct 29, 2025

Summary of the Pull Request

This PR enhances the ZoomIt settings UI by refactoring some of the XAML code and putting instructions as part of the settingsexpanders. Additionally, the alternate hotkey combinations are now shown too and will be updated based on the configured hotkey.
so that Users will now be able to see all the hotkeys.

PR Checklist

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

ZoomIt Extended (Derived) Hotkeys

Feature Base Key Property Default Base Key Derived Key Property XOR Logic Default Derived Key Description
LiveZoom LiveZoomToggleKey Ctrl+4 LiveZoomToggleKeyDraw XOR Shift Ctrl+Shift+4 Enter drawing mode in LiveZoom
Record RecordToggleKey Ctrl+5 RecordToggleKeyCrop XOR Shift Ctrl+Shift+5 Record selected region (crop)
Record RecordToggleKey Ctrl+5 RecordToggleKeyWindow XOR Alt Ctrl+Alt+5 Record specific window
Snip SnipToggleKey Ctrl+6 SnipToggleKeySave XOR Shift Ctrl+Shift+6 Snip and save to file
DemoType DemoTypeToggleKey Ctrl+7 DemoTypeToggleKeyReset XOR Shift Ctrl+Shift+7 Rewind to previous segment
Frame 2018778631

@vanzue
Copy link
Contributor Author

vanzue commented Oct 30, 2025

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vanzue vanzue added the Product-ZoomIt Refers to the ZoomIt tool label Nov 4, 2025
@github-actions

This comment has been minimized.

@niels9001 niels9001 changed the title Zoomit: Show all the hotkey registered for Zoomt [ZoomIt] Settings UX improvements Dec 3, 2025
@niels9001
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Collaborator

@Jay-o-Way Jay-o-Way left a comment

Choose a reason for hiding this comment

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

Got a screenshot? Worried about all the formatting...

@niels9001
Copy link
Collaborator

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@github-actions

This comment has been minimized.

vanzue and others added 2 commits December 18, 2025 14:03
check-spelling run (pull_request_target) for dev/vanzue/zoomit-hotkey

Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
on-behalf-of: @check-spelling <check-spelling-bot@check-spelling.dev>
Copy link
Collaborator

@Jay-o-Way Jay-o-Way left a comment

Choose a reason for hiding this comment

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

Please add screenshots to the main pr message. Notice how the code formatting messes up parts like Ctrl '' C? Please adjust to what I suggested.

Copy link
Collaborator

@Jay-o-Way Jay-o-Way left a comment

Choose a reason for hiding this comment

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

No-go

@niels9001
Copy link
Collaborator

@Jay-o-Way Great feedback! I've pushed some improvements, see the original post for a screenshot.

Looking at Windows 11 Settings, there doesn't seem to be a clear standard of how to visualize shortcut instructions. I'm sticking to 12pt / TextFillColorSecondaryBrush for now, and bold for the shortcut.

Nit: should be SemiBold ideally, but we can't change the default FontWeight for MarkdownTextBlock - something I'll address in: CommunityToolkit/Labs-Windows#761 and add it as a property so we can override it in the future.

@Jay-o-Way
Copy link
Collaborator

Idea: the Footer of the Settings expander is often overlooked. Would it be good to place te (explanatory) text in there?

@niels9001
Copy link
Collaborator

Idea: the Footer of the Settings expander is often overlooked. Would it be good to place te (explanatory) text in there?

There wouldn't be a visible difference, and we need the Name on the SettingsCard to ensure that Search works. Adding a SettingsCard in the ItemsFooter would require additional XAML overrides to ensure it renders properly.

@niels9001 niels9001 requested a review from Jay-o-Way December 18, 2025 13:10
<RadioButton x:Uid="ZoomIt_Break_ShowImageFile" />
</RadioButtons>
<tkcontrols:SettingsCard Name="ZoomItBreakTimerOpacity" x:Uid="ZoomIt_Break_TimerOpacity">
<ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.BreakTimerOpacityIndex, Mode=TwoWay}">
Copy link
Collaborator

@Jay-o-Way Jay-o-Way Dec 25, 2025

Choose a reason for hiding this comment

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

I think this should be a Slider.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to a slider, and made sure that the zoomit support any int from 1 ~ 100, no need to bind 10 as a step

Copy link
Contributor Author

Choose a reason for hiding this comment

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

image

</ComboBox>
</tkcontrols:SettingsCard>
<tkcontrols:SettingsCard Name="ZoomItBreakTimerPosition" x:Uid="ZoomIt_Break_TimerPosition">
<ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.BreakTimerPosition, Mode=TwoWay}">
Copy link
Collaborator

Choose a reason for hiding this comment

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

I believe the MinWidth property is built-in (right, @niels9001 ?)

</tkcontrols:SettingsCard>
<tkcontrols:SettingsExpander.Items>
<tkcontrols:SettingsCard Name="ZoomItRecordScaling" x:Uid="ZoomIt_Record_Scaling">
<ComboBox MinWidth="{StaticResource SettingActionControlMinWidth}" SelectedIndex="{x:Bind Path=ViewModel.RecordScalingIndex, Mode=TwoWay}">
Copy link
Collaborator

@Jay-o-Way Jay-o-Way Dec 25, 2025

Choose a reason for hiding this comment

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

Same: Slider.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

image

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks!
I think the word "scaling" is too short and general to be clear for a first time user. Also, how to choose between a factor and a percentage?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks!
I think the word "scaling" is too short and general to be clear for a first time user. Also, how to choose between a factor and a percentage?

@vanzue vanzue requested a review from Jay-o-Way January 27, 2026 08:14
@vanzue vanzue dismissed Jay-o-Way’s stale review January 27, 2026 08:15

Should addressed all

@Jay-o-Way
Copy link
Collaborator

Jay-o-Way commented Jan 27, 2026

@niels9001 I have an issue with the words in the descriptions. Microsoft says to use "select" in stead of "press", and why would you choose "press mouse button" when you can simply say "click" or "right-click"? Specific: "press the mouse wheel"?? 😐

@vanzue vanzue changed the title [ZoomIt] Settings UX improvements [ZoomIt] Show users full hotkey list in settings Jan 28, 2026
@vanzue
Copy link
Contributor Author

vanzue commented Jan 28, 2026

I think Jay raised really good concern/topic, so I raised another issue, to keep this one focused on displaying all the hotkeys so users can know what they can do with zoomit, and to reduce the uncertainty of key binding, but we can have more discussion here:
#45132

@vanzue vanzue merged commit f534e5b into main Jan 28, 2026
15 checks passed
@vanzue vanzue deleted the dev/vanzue/zoomit-hotkey branch January 28, 2026 02:37
yeelam-gordon pushed a commit that referenced this pull request Jan 31, 2026
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request

This PR enhances the ZoomIt settings UI by refactoring some of the XAML
code and putting instructions as part of the settingsexpanders.
Additionally, the alternate hotkey combinations are now shown too and
will be updated based on the configured hotkey.
so that **Users will now be able to see all the hotkeys**.

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [x] Closes: #42236
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx

<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed

### ZoomIt Extended (Derived) Hotkeys

Feature | Base Key Property | Default Base Key | Derived Key Property |
XOR Logic | Default Derived Key | Description
-- | -- | -- | -- | -- | -- | --
LiveZoom | LiveZoomToggleKey | Ctrl+4 | LiveZoomToggleKeyDraw | XOR
Shift | Ctrl+Shift+4 | Enter drawing mode in LiveZoom
Record | RecordToggleKey | Ctrl+5 | RecordToggleKeyCrop | XOR Shift |
Ctrl+Shift+5 | Record selected region (crop)
Record | RecordToggleKey | Ctrl+5 | RecordToggleKeyWindow | XOR Alt |
Ctrl+Alt+5 | Record specific window
Snip | SnipToggleKey | Ctrl+6 | SnipToggleKeySave | XOR Shift |
Ctrl+Shift+6 | Snip and save to file
DemoType | DemoTypeToggleKey | Ctrl+7 | DemoTypeToggleKeyReset | XOR
Shift | Ctrl+Shift+7 | Rewind to previous segment


<img width="832" height="3679" alt="Frame 2018778631"
src="https://github.com/user-attachments/assets/bebddcd8-d705-4582-ae8a-c847cb1c3e88"
/>

---------

Signed-off-by: check-spelling-bot <check-spelling-bot@users.noreply.github.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Kai Tao <vanzue@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

In for .98 Product-ZoomIt Refers to the ZoomIt tool

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ZoomIt - Alt+5 triggers screen recording even when pressing 5 alone

4 participants