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

Add mouse navigation button support for actions #10802

Open
FWest98 opened this issue Jul 27, 2021 · 2 comments
Open

Add mouse navigation button support for actions #10802

FWest98 opened this issue Jul 27, 2021 · 2 comments
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.

Comments

@FWest98
Copy link
Contributor

FWest98 commented Jul 27, 2021

Description of the new feature/enhancement

Follow-up on #10801: the added browser_back and _forward keys are the keyboard keys, not the mouse buttons. It might be nice to add support for these buttons as well, usually they are VK_XBUTTON1 and VK_XBUTTON2.

Proposed technical implementation details (optional)

The implementation will be a bit more complicated than just adding the key definitions, as now the mouse handlers should also check for keychord bindings. My proposal would be to add this to TermControl::_PointerPressedHandler. This would limit the support to when hovering the terminal control, so that might not be ideal. I am not sure what is actually desirable here.

Things to consider:

  • Add support for "just" XBUTTON1/2, or also for other buttons?
  • What should the textual representation of these buttons be? Make them coincide with browser_back and _forward, or separate names mouse_back and _forward?
  • How do mouses with more macro buttons operate?
@FWest98 FWest98 added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Jul 27, 2021
@ghost ghost added Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting Needs-Tag-Fix Doesn't match tag requirements labels Jul 27, 2021
@zadjii-msft zadjii-msft added the Product-Terminal The new Windows Terminal. label Jul 28, 2021
@zadjii-msft
Copy link
Member

Team decision: We're cool with these being allowed as keys in actions _if they come through as keys in PreviewKeyDown, where keybindings are processed. In 1.11, we thought you might just be able to get away with vk(5) (for VK_XBUTTON1 for example).

However, our cursory investigation makes us think that these don't come through as keys. This might be better off being dealt with by #1553. Probably as a sub-task of the bigger feature over there.

Thanks!

@zadjii-msft zadjii-msft added Issue-Task It's a feature request, but it doesn't really need a major design. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Aug 5, 2021
@zadjii-msft zadjii-msft added this to the Terminal v3.0 milestone Aug 5, 2021
@zadjii-msft zadjii-msft added the Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) label Aug 5, 2021
@ghost ghost removed the Needs-Tag-Fix Doesn't match tag requirements label Aug 5, 2021
@FWest98
Copy link
Contributor Author

FWest98 commented Aug 5, 2021

I tried myself by adding these VK_XBUTTON1 entries, but those are not registered through any KeyDown or similar methods. I think it would be much neater to combine it with the issue you linked indeed.

@zadjii-msft zadjii-msft changed the title Add mouse navigation support for actions Add mouse navigation button support for actions Oct 19, 2021
@carlos-zamora carlos-zamora modified the milestones: Up Next, Terminal v1.23 Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Issue-Task It's a feature request, but it doesn't really need a major design. Product-Terminal The new Windows Terminal.
Projects
None yet
Development

No branches or pull requests

3 participants