microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
95.43k stars 8.3k forks source link

four finger custom gesture on touchpad #13817

Closed williamohara closed 1 year ago

williamohara commented 2 years ago

Windows Terminal version

1.14.1962.0

Windows build number

10.0.19044 Build 19044

Other Software

No response

Steps to reproduce

define a custom four fingered gesture to open up the start menu (taping windows key) by moving four fingers on touchpad up or down in settings->devices->touchpad->Advanced Gesture Configuration

image

Open WSL distro in a terminal tab or - focus on current open tab (making it the active window) try the four-finger gesture notice that it doesn't work

Expected Behavior

I expect the four finger gesture to work when terminal is the active window

Actual Behavior

four finger custom gestures do not work when terminal is the active window

williamohara commented 2 years ago

I notice the same behavior when VS Code is the active window and when any virtualized machine is the active window (i.e. not using terminal) and when I have windows power shell open too.

I do not notice the behavior when I have the CMD open - but when i have command prompt open in Windows Terminal the behavior manifests itself

zadjii-msft commented 2 years ago

when I have windows power shell open too

wait what? Powershell and CMD both run in the vintage console conhost - powershell shouldn't be able to do anything with the conhost window to differentiate it from CMD in this regard...

carlos-zamora commented 1 year ago

Hi @williamohara. Does this happen on Windows 11? How about with the latest version of Windows Terminal? We weren't able to reproduce this on Win 11 with our selfhosted version. Thanks in advance.

williamohara commented 1 year ago

Hi @carlos-zamora

yes, I have both Windows 10 and Windows 11 and I have the exact same issue on both. Could it be the combo of using a 4 finger gesture assigned to a windows key?

let me know if you need system info or something...

zadjii-msft commented 1 year ago

That's wacky. I just tried to repro this on my surface laptop and couldn't. Everything worked as I'd expect.

What kind of trackpad driver do you have? I know there's been issues with certain drivers and XAML Islands in the past, maybe this is something like that.

I suppose another thing to test would be trying to bind the gesture to just like, a or something, and seeing if the a shows up in the Terminal or not. Maybe something's eating it?

williamohara commented 1 year ago

My Laptop is a Lenovo Yoga has a touchpad using a Microsoft HID Compliant Mouse Driver 10.0.22621.1. I have an apple trackpad attached to it via USB along with this https://github.com/imbushuo/mac-precision-touchpad. The Lenovo touchpad did not work before I installed the Apple precision touchpad implementation from the repo. (I tried it right after a fresh installation of Windows 11)

My Win10 PC has the exact same Apple Precision Touchpad implementation from https://github.com/imbushuo/mac-precision-touchpad. also using the Microsoft HID Compliant Mouse Driver 10.0.22621.1

I tried setting it to type a and swiped up three times in the terminal - nothing - I then alt-tabbed back to my browser and tried again - below are the results. aaa

carlos-zamora commented 1 year ago

Thanks for getting back to us. We suspect this may be a XAML Islands bug. Do you mind testing the repro out with c:\windows\system32\PerceptionSimulation\PerceptionSimulationInput.exe instead of Windows Terminal? If it repros, then that kinda confirms our suspicion.

williamohara commented 1 year ago

I started c:\windows\system32\PerceptionSimulation\PerceptionSimulationInput.exe and tried a few things

I turned "Connect to a remote device" off

When I use these settings, the custom Up and down four finger gestures do not work when the Perception Simulator is the active window: Left Controller: On Use keyboard for simulation - on Use Mouse for simulation - on Use Gamepad for simulation on

but when I use these settings, the custom Up and down four finger gestures work when the Perception Simulator is the active window: Left Controller: On Use keyboard for simulation - off Use Mouse for simulation - on Use Gamepad for simulation on

DHowett commented 1 year ago

Well, that's really unexpected. We were using Perception Simulator as a test app because it has the same UI characteristics as Terminal, not because we thought any of the settings inside it would change the repro.

I wonder if there's some sort of control focus issue here? I wonder if we need a simpler repro app...

williamohara commented 1 year ago

I found something else. It made no sense that when you guys tested, it worked as expected and when I do it, it did not work. So ,I looked at the initial bug report and I thought of all the things that I may not have described, and I found one.

  1. I am running the Tabs "As an Administrator".
  2. When I turn off the "Run this profile as an administrator" the custom four finger gesture works!!!
  3. I am also running My Visual Studio Code "As an Administrator" and my Windows Power Shell terminal "As an Administrator"
  4. I had initially reported that the CMD Prompt Window did not suffer the problem - but I wasn't running it "As an Administrator" - I tried doing so.... and I get same results! Running as Administrator disabled custom four finger gestures.
  5. I tried "non-terminal" software too. I tried running Microsoft Word "As an Administrator" and the custom four finger gesture does not work. Running normally - it does work.

So, this may not have something to do with the Terminal application at all - it has something to do with how windows manages control of windows. Specifically, windows running applications As an Administrator.

Moreover, it may not have anything to do with four finger gestures in general - just the specific one I have set up (opening the start menu). I am thinking too that this may not be something one can fix either, not easily at least. Why? Because I also notice when I use the four finger gesture the active window loses focus (my window boarder changes) so the start menu comes on top and is active. Then when I close the start menu - the last window that was active before opening start reactivates. I am thinking that this whole problem is because of a security requirement conflict - because the start menu needs to refocus the last window. - If this were done with Apps Running as an administrator - that would give non-administrator elevated apps an avenue to control admin apps.

So whatever bit of software in windows is handling custom gestures - may need to have elevated access.

zadjii-msft commented 1 year ago

(assigning myself to make sure I get the right area path to file feedback on)

zadjii-msft commented 1 year ago

Okay, so this is definitely out of our hands. I filed MSFT:44518206 internally to track. I'll post if there are updates on that thread.

I'm gonna close this out though, since I don't believe there's anything else for us (the Terminal team) to do here. Thanks!

zwalden commented 2 weeks ago

So... what's the status? This is definitely still a problem on windows 10... @zadjii-msft

zadjii-msft commented 2 weeks ago

It's still open on the input team, on their backlog. Nothing new to report.