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 an option to toggle the touch screen with clamshell mode #2575

Closed
2 tasks done
dj-speed opened this issue May 11, 2024 · 16 comments
Closed
2 tasks done

Add an option to toggle the touch screen with clamshell mode #2575

dj-speed opened this issue May 11, 2024 · 16 comments
Labels
question Further information is requested

Comments

@dj-speed
Copy link

Rules

  • I made myself familiar with the Readme, FAQ and Troubleshooting.
  • I understand that, if insufficient information will be provided, my issue will be closed without an answer.

Is your feature request related to a problem? Please describe

There appears to be an issue with touch screen Asus laptops (like the ROG Z13 Flow) where the touch screen remains active when an external display is connected and the lid is closed (see: This post on the ROG forum). There is currently no approved "fix" for this from Asus besides disabling the touch screen...

Describe the solution you'd like

Since it is anyway pointless to have the touch screen enabled while in clamshell mode, it would be nice to have a toggle available as part of the clamshell mode function which could disable the touch screen when in clamshell mode (and re-enable it when exiting that mode).

Describe alternatives you've considered

I've considered setting up an executable script for one of the hotkeys which would toggle the enabled/disabled state of the touchscreen, but this is not as elegant as linking it to the mode that causes the problem in the first place.

Device and Model

Asus ROG Flow Z13 GZ301VV

Additional information.

No response

@seerge
Copy link
Owner

seerge commented May 11, 2024

@dj-speed hello. As far as I know you can't disable touchscreen anyhow directly.

Even if it happens automatically - it's done on some firmware level. G-Helper doesn't do it.

Do you have any open information on that ?

@seerge seerge added the question Further information is requested label May 11, 2024
@dj-speed
Copy link
Author

You can through a script. It's possible with a PowerShell script like the one here or Windows Script Host like the one here.

Basically you just need to look for a PNP device with a name that contains "touch screen" and that will be the right one to disable/enable.

@seerge
Copy link
Owner

seerge commented May 11, 2024

@dj-speed yeah ... but that would disable windows device :) not the actual touch screen.

Its a similar misconception, that some people fall into and disable GPU in device manager for example thinking that it would use less power (while in reality it just becomes uncontrollable and consumes more)

I thought that there is some proprietary ON / OFF endpoint from asus for this :)

@seerge
Copy link
Owner

seerge commented May 11, 2024

@dj-speed are you able to toggle touchscreen somehow natively on your device ? I.e. via myasus / armoury / may be some fn+ hotkey ?

Can you run both scan / DSDT dump methods from this topic and post here #38 ?

@dj-speed
Copy link
Author

@dj-speed are you able to toggle touchscreen somehow natively on your device ? I.e. via myasus / armoury / may be some fn+ hotkey ?

Can you run both scan / DSDT dump methods from this topic and post here #38 ?

No, I can't disable it in that way, unfortunately. The only way I've been able to find (and the way Asus recommends when this has come up in their forums) is to go through Device Manager.

@seerge
Copy link
Owner

seerge commented May 11, 2024

@dj-speed cause for example for Touchpad - there is a special asus command to toggle it (same applies to many other toggle-able things)

@seerge
Copy link
Owner

seerge commented May 11, 2024

@dj-speed still post both scan / dump from #38 please. I want to check if something related to touchscreen exists there

@dj-speed
Copy link
Author

@seerge sure, here you go:

[scan]
60023 : ffffffffffff0004 (-65532)
60024 : 51ec8086 (1374453894)
60026 : 0 (0)
60059 : 0 (0)
6005b : 4 (4)
60061 : 0 (0)
60068 : ffffffffffff0000 (-65536)
60069 : ffffffffffff0000 (-65536)
60078 : ffffffffffff0000 (-65536)
60079 : ffffffffffff0000 (-65536)
600b1 : ffffffffffff0200 (-65024)
80041 : ffffffffffff0000 (-65536)
80042 : 0 (0)
80043 : ffffffffffff0000 (-65536)
80044 : ffffffffffff0000 (-65536)
90016 : 1 (1)
90017 : 0 (0)
90018 : 0 (0)
90019 : 0 (0)
9001c : 3 (3)
90020 : 0 (0)
90022 : ffffffffffff0000 (-65536)
90023 : ffffffffffff0000 (-65536)
90030 : 40 (64)
100051 : 1 (1)
100054 : ffffffffffff0000 (-65536)
110013 : 22 (34)
110014 : 23 (35)
110015 : ffffffffffff0000 (-65536)
110016 : ffffffffffff0000 (-65536)
110018 : 3 (3)
11001d : 0 (0)
110022 : f6 (246)
110023 : f8 (248)
Invoke-CimMethod : Generic failure
At C:\Users\tetsuos\Downloads\scan-atkacpi.ps1:5 char:20

  • ... $result = (Invoke-CimMethod (Get-CimInstance -Namespace root/wmi -Cl ...
  •             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                 + CategoryInfo          : NotSpecified: (AsusAtkWmi_WMNB...PNP0C14\ATK_0"):CimInstance) [Invoke-CimMethod], CimExc     eption                                                                                                                   
    
  • FullyQualifiedErrorId : HRESULT 0x80041001,Microsoft.Management.Infrastructure.CimCmdlets.InvokeCimMethodCommand 110024 : ffff0000 (-65536)
    Invoke-CimMethod : Generic failure
    At C:\Users\tetsuos\Downloads\scan-atkacpi.ps1:5 char:20
  • ... $result = (Invoke-CimMethod (Get-CimInstance -Namespace root/wmi -Cl ...
  •             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                 + CategoryInfo          : NotSpecified: (AsusAtkWmi_WMNB...PNP0C14\ATK_0"):CimInstance) [Invoke-CimMethod], CimExc     eption                                                                                                                   
    
  • FullyQualifiedErrorId : HRESULT 0x80041001,Microsoft.Management.Infrastructure.CimCmdlets.InvokeCimMethodCommand 110025 : ffff0000 (-65536)
    110026 : ffffffffffff0000 (-65536)
    110027 : ffffffffffff0000 (-65536)
    120057 : 880000 (8912896)
    120059 : 0 (0)
    120061 : 0 (0)
    12006c : 0 (0)
    12006d : 0 (0)
    120070 : 0 (0)
    120075 : 3 (3)
    120078 : ffffffffffff0000 (-65536)
    12007a : 0 (0)
    12007e : 0 (0)
    120093 : 3c (60)
    120094 : 2a (42)
    120097 : 24 (36)
    1200a0 : 0 (0)
    1200a3 : 0 (0)
    1200c0 : 0 (0)
    1200c2 : 0 (0)
    1200c3 : 64 (100)
    1200d2 : 806 (2054)
    1200d3 : 806 (2054)
    130021 : 20002 (131074)
    130022 : 0 (0)
    130026 : ffffffffffff0000 (-65536)
    130031 : 1 (1)
    130041 : ffffffffffff0000 (-65536)

dsdt.zip

@seerge
Copy link
Owner

seerge commented May 11, 2024

@dj-speed ok.

I'm not a fan of automatically doing something along clamshell. As this is not how it works (app just disables Sleep action in windows power plan for Lid Close). It does not perform anything specifically when actual lid is closed.

But I can add an extra binding action under Extra that would try to toggle touch screen (and show status).

Running app as admin is required.

Try this build
GHelper.zip

seerge added a commit that referenced this issue May 11, 2024
@dj-speed
Copy link
Author

This is great, thank you!

@seerge
Copy link
Owner

seerge commented May 12, 2024

@dj-speed ok, great

@seerge seerge closed this as completed May 12, 2024
@updawg
Copy link

updawg commented May 13, 2024

Will this work for the rog ally? Some games don't care that a controller is available and just keep the touchscreen UI. It would be great to toggle the touchscreen off before launching a game.

@seerge
Copy link
Owner

seerge commented May 13, 2024

@updawg it does, i have actually tested it on ally as this is the only touch-screen device i have

@updawg
Copy link

updawg commented May 17, 2024

@seerge can it be mapped to a button?

@seerge
Copy link
Owner

seerge commented May 17, 2024

@updawg currently it can be mapped only to M-button or Control Center / AC buttons under Extra

@updawg
Copy link

updawg commented Jun 18, 2024

@seerge any chance it can be added as an option under the controller menu. I'd love to be able to keep my back paddles to activate secondary functions of controller and to be able to disable the touch screen from a key of my choosing that way. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants