Surface Pro 9 con Windows 11 può lasciare attivo il digitalizzatore anche quando il pannello integrato è spento e stai lavorando solo su monitor esterni: basta sfiorare lo schermo nero per scorrere o chiudere finestre sui monitor. Ecco come disattivare il touchscreen in modo rapido o automatico.
Scenario e obiettivo
Quando colleghi il Surface Pro 9 a un replicatore di porte o a una dock con monitor esterni, puoi scegliere di visualizzare solo sugli schermi esterni disattivando il display interno. In questo scenario il touch resta comunque attivo e continua a inviare input alla sessione corrente, anche se il pannello integrato non mostra più nulla. L’obiettivo è disattivare automaticamente il touchscreen quando il display integrato è spento e riattivarlo quando torni a usare il tablet in mobilità.
Perché il touchscreen resta attivo
Display e digitalizzatore sono gestiti da device diversi: il primo espone una pipeline grafica, il secondo espone un dispositivo HID (di solito I²C). Quando disattivi il pannello interno tramite le impostazioni di Windows o tramite la dock, Windows spegne la parte grafica, ma non tocca l’HID: il tocco continua a essere un input valido e viene mappato nello spazio di desktop corrente, quindi finisce sui monitor esterni. Serve quindi un’azione esplicita sul dispositivo del touch.
Panoramica delle soluzioni
Approccio | Come funziona | Pro | Contro |
---|---|---|---|
Disabilitare e riabilitare manualmente con collegamento sul desktop | Individuare il Device Instance Path di HID‑compliant touch screen in Gestione dispositivi. Creare due scorciatoie con pnputil.exe /disable-device "<DevicePath>" e pnputil.exe /enable-device "<DevicePath>" . Impostare entrambe su “Esegui come amministratore”. | Rapido da eseguire. Non richiede software di terze parti. | Serve un clic o una scorciatoia ogni volta che colleghi o scolleghi. |
Script PowerShell con Utilità di pianificazione | Script che abilita o disabilita il dispositivo e attività pianificate su eventi di sistema (collegamento monitor, docking). | Completamente automatico dopo la configurazione. Si estende ad altri profili hardware. | Configurazione iniziale più articolata. Richiede dimestichezza con PowerShell e Task Scheduler. |
Disabilitazione diretta in Gestione dispositivi | Tasto destro sul dispositivo → Disabilita. | Immediato. | Operazione manuale da ripetere, poco pratica. |
Utility di terze parti | Strumenti come devcon o automazioni tipo AutoHotkey per reagire allo stato della dock. | Flessibilità massima, trigger personalizzati. | Richiede download esterni e attenzione a compatibilità e sicurezza. |
Richiesta funzionalità a Microsoft | Inviare feedback per chiedere la disattivazione automatica del touchscreen quando il display è off. | Possibile soluzione ufficiale in futuri aggiornamenti. | Nessuna garanzia su tempi e implementazione. |
Implementazione rapida con collegamenti pnputil
Questa è la soluzione più semplice e senza software aggiuntivo. Consiste nel creare due collegamenti sul desktop che abilitano e disabilitano il touchscreen in un clic; puoi poi associare una scorciatoia da tastiera.
Individuare il percorso istanza del dispositivo
- Apri Gestione dispositivi (
devmgmt.msc
). - Dal menu Visualizza, attiva Mostra dispositivi nascosti per sicurezza.
- Espandi Dispositivi di interfaccia umana e trova HID‑compliant touch screen (sui Surface può comparire come Intel Precise Touch Device o simile).
- Tasto destro → Proprietà → scheda Dettagli.
- Nell’elenco Proprietà scegli Percorso istanza dispositivo e copia il valore completo. Esempio:
HID\VID093A&PID1336&MI_00\7&1A2B3C4D&0&0000
Creare i collegamenti sul desktop
- Desktop → tasto destro → Nuovo → Collegamento.
- Nel campo Immettere il percorso dell’elemento, incolla:
pnputil.exe /disable-device "HID\VID093A&PID1336&MI_00\7&1A2B3C4D&0&0000"
- Assegna un nome chiaro, per esempio Disabilita Touch.
- Ripeti creando il gemello di abilitazione:
pnputil.exe /enable-device "HID\VID093A&PID1336&MI_00\7&1A2B3C4D&0&0000"
- Per ciascun collegamento: tasto destro → Proprietà → Avanzate → spunta Esegui come amministratore → OK.
- Facoltativo: scheda Collegamento → Tasto di scelta rapida → assegna ad esempio Ctrl+Alt+T per disattivare e Ctrl+Alt+Y per riattivare.
Consiglio: se nel tuo sistema compaiono più dispositivi HID‑compliant touch screen, ripeti i passaggi per ognuno o filtra quello giusto osservando quale cambia stato quando disabiliti temporaneamente da Gestione dispositivi.
Verifica e ripristino
- Esegui Disabilita Touch: il tocco deve smettere di rispondere; la penna potrebbe restare attiva se ha un device distinto.
- Esegui Abilita Touch: il tocco torna operativo senza riavvio nella maggior parte dei casi.
Automazione con PowerShell e Utilità di pianificazione
Se vuoi che tutto avvenga in automatico quando colleghi o scolleghi la dock, usa uno script PowerShell che cambia lo stato del dispositivo e Task Scheduler per reagire agli eventi di sistema.
Script di disattivazione
Crea la cartella C:\Scripts
e salva un file C:\Scripts\Disable-Touch.ps1
con questo contenuto:
#Requires -RunAsAdministrator
param(
[string]$FriendlyNamePattern = 'HID-compliant touch screen'
)
try {
$touch = Get-PnpDevice -Class HIDClass | Where-Object {
$.FriendlyName -like "*$FriendlyNamePattern*" -or $.Name -like "$FriendlyNamePattern"
}
if (-not $touch) { throw "Dispositivo touch non trovato." }
foreach ($d in $touch) {
if ($d.Status -ne 'Disabled') {
Disable-PnpDevice -InstanceId $d.InstanceId -Confirm:$false -ErrorAction Stop
}
}
} catch {
Write-Error $_
exit 1
}
Script di riabilitazione
Salva C:\Scripts\Enable-Touch.ps1
:
#Requires -RunAsAdministrator
param(
[string]$FriendlyNamePattern = 'HID-compliant touch screen'
)
try {
$touch = Get-PnpDevice -Class HIDClass | Where-Object {
$.FriendlyName -like "*$FriendlyNamePattern*" -or $.Name -like "$FriendlyNamePattern"
}
if (-not $touch) { throw "Dispositivo touch non trovato." }
foreach ($d in $touch) {
if ($d.Status -eq 'Disabled') {
Enable-PnpDevice -InstanceId $d.InstanceId -Confirm:$false -ErrorAction Stop
}
}
} catch {
Write-Error $_
exit 1
}
Prerequisiti di esecuzione
- Apri PowerShell come amministratore ed esegui:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
- Verifica che il modulo
PnpDevice
sia disponibile su Windows 11, come da impostazione predefinita.
Creazione dell’attività per l’aggancio alla dock
Lo scopo è lanciare Disable-Touch.ps1
quando la dock o un monitor esterno viene configurato, e lanciare Enable-Touch.ps1
quando viene rimosso.
- Collega la dock e apri Visualizzatore eventi → Registri di Windows → Sistema.
- Filtra per origine come Kernel-PnP o DriverFrameworks-UserMode e individua l’evento creato al collegamento della dock o del monitor. Annota Origine e ID evento.
- Apri Utilità di pianificazione → Crea attività.
- Scheda Generale: assegna un nome chiaro, seleziona Esegui con privilegi più elevati e imposta Esegui indipendentemente dalla connessione degli utenti se vuoi che funzioni anche prima del login.
- Scheda Trigger: Nuovo → All’evento → Registro: Sistema → Origine: quella annotata → ID evento: quello del collegamento → OK.
- Scheda Azioni: Nuovo → Avvia programma → Programma/script:
powershell.exe
→ Aggiungi argomenti:-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\Disable-Touch.ps1"
- Ripeti creando una seconda attività con trigger sull’evento di rimozione della dock o del monitor e come azione:
-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\Enable-Touch.ps1"
Nota operativa: su alcune dock gli eventi più affidabili sono due coppie diverse tra Kernel‑PnP e DriverFrameworks‑UserMode. Se vedi che l’attività non scatta, usa il Visualizzatore eventi per rifinire l’ID esatto emesso al tuo collegamento e scollegamento.
Alternative di trigger
- All’accesso o all’uscita dallo stato di sospensione: utile per forzare lo stato coerente quando riapri la sessione in ufficio con la dock già collegata.
- Alla modifica del profilo di alimentazione: pratico se in dock usi sempre alimentazione da rete e in mobilità batteria.
- All’esecuzione di un programma come
DisplaySwitch.exe /external
: se adotti uno script che cambia il layout dei monitor, puoi concatenare l’azione di disattivazione del touch.
Disattivazione diretta in Gestione dispositivi
È la via più veloce per un intervento manuale: apri Gestione dispositivi, trova HID‑compliant touch screen, tasto destro → Disabilita dispositivo. Quando ti serve il tocco, ripeti l’operazione con Abilita dispositivo. È perfetta per test o per chi usa raramente la dock.
Automazione con utility di terze parti
Uso di devcon
devcon.exe è l’equivalente da riga di comando di Gestione dispositivi. Se lo hai già a disposizione, i comandi sono simili a pnputil:
devcon disable "HID\VID093A&PID1336&MI_00\7&1A2B3C4D&0&0000"
devcon enable "HID\VID093A&PID1336&MI_00\7&1A2B3C4D&0&0000"
Puoi legarlo a uno script che intercetta l’evento di collegamento della dock, oppure a un task programmato come visto sopra.
Uso di AutoHotkey
Se preferisci una scorciatoia evoluta con rilevamento hot‑plug, ecco un esempio di scheletro AHK che reagisce a un messaggio di cambio dispositivo e lancia i comandi di abilitazione o disabilitazione:
; Struttura semplificata
#Requires AutoHotkey v2
OnMessage(0x219, DeviceChange) ; WM_DEVICECHANGE
^!t:: ; Ctrl+Alt+T per disabilitare al volo
Run '*RunAs pnputil.exe /disable-device "HID\VID_...&..."'
return
^!y:: ; Ctrl+Alt+Y per riabilitare
Run '*RunAs pnputil.exe /enable-device "HID\VID_...&..."'
return
DeviceChange(wParam, lParam, msg, hwnd) {
; Inserisci qui una logica che esamina il dispositivo agganciato
; e chiama Disable/Enable in base al tipo (dock/monitor).
}
Questa strada è indicata se già usi AutoHotkey per gestire la tua postazione e vuoi un controllo granulare sui trigger.
Raccomandazioni pratiche
- Implementa subito la scorciatoia con pnputil come soluzione tampone: è semplice, non tocca il registro e può essere legata a un tasto rapido.
- Se ti serve l’automazione completa, valuta lo script PowerShell associato a eventi:
$touch = Get-PnpDevice -FriendlyName "HID-compliant touch screen" Disable-PnpDevice -InstanceId $touch.InstanceId -Confirm:$false
e analogo per la riabilitazione; crea poi un’attività pianificata con trigger su un evento del registro Sistema > Kernel‑PnP > Device Configure relativo alla tua dock. - In parallelo, invia il feedback per chiedere a Microsoft un’opzione ufficiale che spenga il tocco quando lo schermo interno non è attivo.
Domande frequenti
Che differenza c’è tra tocco e penna
Di solito compaiono come dispositivi distinti: HID‑compliant touch screen per il tocco e HID‑compliant pen per la penna. Disattivando il tocco, la penna può restare operativa; su alcuni modelli con controller integrato potrebbero però condividere dipendenze. Se vuoi mantenere la penna, verifica che abbia un device separato e non disabilitarlo.
Il comando non ha effetto immediato
Nella maggior parte dei casi la disabilitazione è hot. Se Windows segnala che è richiesto un riavvio, completa l’operazione quando puoi. Assicurati di eseguire i comandi con diritti amministrativi.
Vedo più voci di touchscreen
Alcuni driver espongono più interfacce. Puoi elencarle con PowerShell:
Get-PnpDevice -Class HIDClass | Where-Object {$.FriendlyName -like '*touch*' -or $.Name -like 'touch'} | Format-Table -Auto
Disabilita solo quelle che riconduci chiaramente al digitalizzatore del pannello interno.
Come scelgo gli eventi giusti per l’automazione
Collega e scollega la dock monitorando il Registro Sistema nel Visualizzatore eventi e prendi nota delle occorrenze ricorrenti. Usa quegli ID evento per impostare i trigger. È normale dover fare due tentativi per trovare l’origine più stabile nella tua combinazione di hardware.
Posso far spegnere il tocco solo se il display interno è davvero off
Il percorso più robusto è basarsi sugli eventi di configurazione dei dispositivi video. Tentare di “capire” via script se il pannello eDP è off è possibile ma meno affidabile e dipende da classi WMI specifiche; per un risultato solido resta sulla logica a eventi della dock o dei monitor.
Il servizio della tastiera a schermo influisce sul tocco
No, il servizio della tastiera a schermo gestisce essenzialmente l’IME e i pannelli di scrittura. Per il tuo obiettivo serve agire sul dispositivo HID del digitalizzatore, non sui servizi di input software.
Risoluzione dei problemi
- Errore di accesso negato: verifica che il collegamento sia impostato su Esegui come amministratore e che l’UAC non blocchi lo script.
- Il nome del dispositivo differisce: su alcuni Surface la voce può chiamarsi Intel Precise Touch Device o includere il produttore del controller. In caso di dubbio, esegui un disable temporaneo da Gestione dispositivi per vedere quale incide sul tocco.
- Windows riattiva il touch dopo gli aggiornamenti: crea un’attività pianificata all’avvio che riesegua lo script di disattivazione quando rilevi la dock collegata.
- Il tocco resta attivo anche con il dispositivo disabilitato: verifica che non ci siano driver duplicati o voci virtuali. Talvolta è presente anche un I2C HID Device intermedio; evita di disabilitarlo a meno che tu sappia esattamente cosa stai facendo perché può influire su altri sensori.
Modello di script combinato con logging
Se preferisci un solo script parametrico con log su file, usa questo e richiamalo con -Action Disable
o -Action Enable
:
#Requires -RunAsAdministrator
param(
[ValidateSet('Disable','Enable')] [string]$Action,
[string]$FriendlyNamePattern = 'HID-compliant touch screen',
[string]$Log = 'C:\Scripts\TouchToggle.log'
)
function Write-Log($msg) {
$timestamp = (Get-Date).ToString('yyyy-MM-dd HH:mm:ss')
Add-Content -Path $Log -Value "$timestamp`t$msg"
}
try {
Write-Log "Azione richiesta: $Action"
$touch = Get-PnpDevice -Class HIDClass | Where-Object {
$.FriendlyName -like "$FriendlyNamePattern" -or $.Name -like "$FriendlyNamePattern"
}
if (-not $touch) { throw "Dispositivo touch non trovato." }
```
foreach ($d in $touch) {
if ($Action -eq 'Disable' -and $d.Status -ne 'Disabled') {
Write-Log "Disabilitazione di $($d.InstanceId)"
Disable-PnpDevice -InstanceId $d.InstanceId -Confirm:$false -ErrorAction Stop
}
if ($Action -eq 'Enable' -and $d.Status -eq 'Disabled') {
Write-Log "Abilitazione di $($d.InstanceId)"
Enable-PnpDevice -InstanceId $d.InstanceId -Confirm:$false -ErrorAction Stop
}
}
Write-Log "Completato"
```
} catch {
Write-Log "Errore: $_"
exit 1
}
Collega questo script a due attività pianificate con trigger diversi e azioni:
-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\TouchToggle.ps1" -Action Disable
-NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\TouchToggle.ps1" -Action Enable
Checklist sintetica
- Recupera il Device Instance Path del digitalizzatore in Gestione dispositivi.
- Crea collegamenti
pnputil
per disattivare e riattivare con privilegi elevati. - Associa scorciatoie da tastiera per un uso istantaneo.
- Passa all’automazione con PowerShell e Task Scheduler per reazione agli eventi di dock o monitor.
- Monitora per una settimana e raffina i trigger in base al tuo hardware.
- Invia feedback a Microsoft per una futura opzione integrata.
Conclusione
Con pochi passaggi ottieni un comportamento coerente: quando usi il Surface Pro 9 in modalità desktop con monitor esterni, il tocco del pannello nero non interferisce più con il lavoro; quando torni in mobilità, il touch si riattiva e puoi sfruttare l’esperienza tablet. La combinazione di pnputil, PowerShell e Utilità di pianificazione offre controllo totale senza modifiche invasive al sistema e senza dipendere da software di terze parti.