Come impedire a Windows 10 di aggiungere automaticamente layout di tastiera (ad esempio tastiera degli Stati Uniti)


110

Aggiornamento: questo è un post lungo, puoi saltare direttamente alla risposta qui sotto


Nota: l'elenco rapido delle lingue si riferisce all'elenco nell'immagine seguente, accessibile tramite la scorciatoia Win + barra spaziatrice

Ho due lingue per il controllo ortografico di Windows nel mio sistema, l' inglese (Stati Uniti) e il francese (Svizzera) , ma nonostante entrambe le lingue siano configurate correttamente con la tastiera di input "Francese svizzero", l'input della tastiera USA continua a comparire in questo elenco:

inserisci qui la descrizione dell'immagine

Ecco le impostazioni per la lingua inglese (Stati Uniti) , puoi vedere che l'unico input è "Swiss French":

inserisci qui la descrizione dell'immagine

Lo stesso per Français (Svizzera) , l'unico input è "Swiss French":

inserisci qui la descrizione dell'immagine

Nel pannello di controllo, entrambi sono impostati anche come francese svizzero:

inserisci qui la descrizione dell'immagine

Tutte le mie impostazioni sono impostate per utilizzare "elenco lingue":

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Ecco alcune cose che ho già provato:

  • Sono già riuscito a rimuoverlo da una ginnastica di configurazione della lingua, aggiungendo e rimuovendo le lingue, alla fine ritorna sempre
  • Ho già fatto questo: https://superuser.com/a/484595/168632
  • Non c'è nemmeno menzione della tastiera americana nelle impostazioni del mio registro:

inserisci qui la descrizione dell'immagine

Aiutatemi, sono disperato, questo è il mio terzo computer con Windows 10 e fanno tutti la stessa cosa.


cosa succede se hai bisogno di uno script che verrebbe eseguito su Avvio automatico + ELIMINA QUESTE ENTRATE indesiderate?
Sergey Larin,

Win + Maiusc + Barra spaziatrice
SmartManoj


Solo questo ha funzionato per me answer.microsoft.com/en-us/windows/forum/… E questo impedisce anche l'aggiunta di nuovi layout a meno che non lo consenta
rofrol,

Risposte:


98

Per risolvere questo problema, eliminare la cartella del registro di precaricamento e disconnettersi o riavviare il computer:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

Questa cartella sembra essere un residuo legacy che contiene layout di tastiera non specificati dall'utente da aggiungere all'elenco delle lingue quando l'utente accede. Mentre la correzione stessa funziona attraverso i riavvii, al momento della scrittura ci sono cose che riportano quel fastidioso cartella , eccone alcune che ho incontrato personalmente:

  • Desktop remoto su un computer con layout USA
  • Utilizzando lo stesso account Microsoft su un altro PC che presenta ancora questo problema

Ogni volta che il problema si ripresenta, è necessario eliminare nuovamente quella cartella del registro.

Modifica 2: grazie al suggerimento di @ Lu55, ecco un pratico one-liner da utilizzare su un prompt dei comandi con privilegi di amministratore:

reg delete "HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /f

Modifica: ho creato un RemovePreload.regfile di testo con il seguente contenuto, in questo modo questa correzione può essere facilmente riapplicata ogni volta senza navigare nel registro:

Windows Registry Editor Version 5.00

[-HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]

Per usarlo, salvalo in un file di testo e cambia l'estensione da .txta .reg. Quindi, ogni volta che torna, puoi semplicemente fare doppio clic su di esso e riavviare o disconnettersi.


1
Grazie! Questa è stata l'unica cosa che alla fine l'ha risolto per me. Il layout della tastiera americana veniva sempre aggiunto quando eseguivo l'accesso. Potevo rimuoverlo aggiungendolo prima e quindi rimuovendolo, come la risposta di Snaiper, ma riapparirebbe sempre al riavvio. Questo sembra averlo rimosso definitivamente.
The Oddler,

3
Appare dopo un po 'comunque.
troorl

Sì, ora è riapparso anche per me :( È stato in grado di riavviare una sola volta senza che riappaia sembra.
The Oddler

1
La soluzione per aggiungere e rimuovere la tastiera è molto più sicura e confusa come questa :)
user2158153

Hai provato, invece di rimuovere la Preloadchiave, a rimuovere le sue voci e limitare le autorizzazioni alla chiave? Sono andato alle autorizzazioni di Preload, Avanzate, eredità disabilitata, convertito tutte le autorizzazioni ereditate, rimosse tutte, aggiunte autorizzazioni di sola lettura Everyonee salvate. Ciò dovrebbe impedire a Windows di aggiungere nuovamente le voci che aggiungono nuovamente i profili della tastiera.
bers

58

In realtà, la soluzione è abbastanza semplice e non richiede modifiche al registro!

  • Vai su Regione e lingua (precedentemente denominate Preferenze lingua) , fai clic su Inglese (Stati Uniti) e vai su Opzioni .

  • Se vedi "Tastiera americana" lì, rimuovilo e il gioco è fatto.

  • TUTTAVIA , se non la vedi lì, fai clic su Aggiungi una tastiera , aggiungi "Tastiera americana", quindi rimuovi quella tastiera e il gioco è fatto.

L'ho capito dopo un po 'di tentativi ed errori provando varie cose, ho avuto lo stesso problema.


18
Appare dopo il riavvio.
troorl

6
Il terzo punto è letteralmente: "Hai provato ad accenderlo e spegnerlo di nuovo?" ... e questo era giusto :) Grazie per quello!
ccjmne,

3
Non funziona dopo il riavvio, l'ho provato prima di trovare la soluzione sopra
Luis Ferrao,

1
Sì, non funziona dopo il riavvio o dopo l'ibridazione del PC.
Ozan Kurt,

2
Dopo l'aggiornamento di Windows 10 di giugno 2018, l'impostazione "Rimuovi" per gli inglesi inglesi è disabilitata. (Grr.)
ms609,

6

Questa non è la correzione permanente, ma un pratico file batch che aggiunge il en-USlayout della tastiera e quindi lo rimuove. (Devi prima aggiungerlo per poterlo rimuovere.)

Remove_en-US.xml:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">

    <!--User List-->
    <gs:UserList>
        <gs:User UserID="Current"/>
    </gs:UserList>

    <!--input preferences--> 
    <gs:InputPreferences>
        <!--add en-US keyboard input-->
        <gs:InputLanguageID Action="add" ID="0409:00000409"/>
        <!--remove en-US keyboard input-->
        <gs:InputLanguageID Action="remove" ID="0409:00000409"/>
    </gs:InputPreferences>

</gs:GlobalizationServices>

Remove_en-US.bat:

control intl.cpl,, /f:"%CD%\Remove_en-US.xml"

Quindi puoi semplicemente eseguire Remove_en-US.batper rimuovere il layout. Ho un collegamento a questo file batch anche nei miei programmi di avvio.

Qui, 0409è la locale IDe 00000409è i valori layout di tastiera. Per l'elenco dei locale ID:keyboard layout valuevedere https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10) .


6

Ho trovato la risposta dopo un'ora per ora per build:

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362
  1. Funzionerà anche dopo il riavvio.
  2. È facile da fare. E pronto per il bene.
  3. Impedirà la creazione di qualsiasi altra lingua per i nuovi utenti.
  4. Non mostrerà più queste lingue anche nella schermata di accesso.
  5. Nessun hack del registro che non ha funzionato per me dopo il riavvio.

Puoi anche passare da ( ma assicurati di controllare prima le impostazioni della lingua - vedi schermate di seguito ).

Pannello di controlloRegioneAdministrativescheda →Copy settings...


Ecco il passaggio nelle immagini con notazione nelle immagini anche come riferimento.

come

Quindi il tuo registro dovrebbe apparire così, con un solo precarico.

Copia questo Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preloadnella barra degli indirizzi dell'editor del Registro di sistema per passare direttamente a esso per verificare tu stesso.

un precarico


4

C'è due posti per la configurazione della tastiera in Windows 10, pannello di controllo -> Lingua

L'altro è impostato come il tuo screenshot

Apporta anche le modifiche lì, dovrebbe risolvere il problema.

inserisci qui la descrizione dell'immagine


Purtroppo non è così, ho aggiunto uno screenshot di quella schermata sul mio computer, è correttamente configurato con "Swiss French" esattamente allo stesso modo della nuova UI
Luis Ferrao,

4

Non avevo 409 voci nel registro (vedi risposta accettata). I passaggi che ho preso per rimuovere l'inglese (USA) dal menu di selezione rapida:

  1. Apri "Preferenze lingua" dal menu di selezione rapida.
  2. Aggiungi la lingua inglese (USA).
  3. Rimuovi la lingua inglese (USA).

Suggerimento: in Pannello di controllo \ Tutti gli elementi del pannello di controllo \ Lingua \ Impostazioni avanzate -> Cambia tasti di scelta rapida della barra della lingua è possibile impostare l'azione del tasto di scelta rapida da "Tra lingue di input" a "(Nessuno)" per evitare il cambio accidentale del layout della tastiera.


2
Penso che la tua risposta non risponda al punto di questa domanda. Il problema non è rimuovere la lingua inglese degli Stati Uniti, che scrivo e sicuramente voglio nella mia lista di lingue, il punto è rimuovere un layout "US Keyboard" inesistente che non corrisponde al mio layout di tastiera e che si insinua ogni di tanto in tanto come "lingua" aggiuntiva nell'elenco delle lingue. Esistono molte discussioni sulla rimozione della stessa lingua inglese americana, ma questa non è una di queste. Inoltre non intendo rimuovere l'elenco delle lingue, lo uso per passare rapidamente da una lingua all'altra (per il controllo ortografico di Windows).
Luis Ferrao,

2
  1. Pannello di controllo
  2. Orologio, lingua e regione
  3. linguaggio
  4. Cambia metodi di input
  5. Impostazioni avanzate
  6. Sostituisci per metodo di input predefinito
  7. Scegli il layout preferito (anziché "Usa elenco lingue")
  8. Salva

Schermata delle impostazioni di input -> Impostazioni avanzate


'Lingua' manca ora negli ultimi aggiornamenti di win10.
platino l'

2

La risposta di Mikel sopra risolve questo problema ... ma nel caso in cui riappaia per te (come ha fatto per me): hai forse una scorciatoia AutoHotkey personalizzata per cambiare il layout della tastiera?

Il problema era che il mio script AutoHotkey conteneva le seguenti righe di codice:

; This should be replaced by whatever your native language is. See 
; http://msdn.microsoft.com/en-us/library/dd318693%28v=vs.85%29.aspx
; for the language identifiers list.
el := DllCall("LoadKeyboardLayout", "Str", "00000408", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1

Quindi, mentre sul mio desktop questo funzionava magnificamente e passava dall'inglese (layout di tastiera del Regno Unito) al greco (layout di tastiera GR) e viceversa, sul mio laptop che ha una tastiera americana, questo script sarebbe responsabile per i layout extra che appaiono fuori il blu sul mio selettore di lingua.

Spero che questo possa essere d'aiuto!


1

L'edizione per l'anniversario di Windows 10 contiene una nuova "funzionalità" in cui si presume che le impostazioni internazionali e della lingua abbiano un layout di tastiera obbligatorio. Tali layout non possono essere rimossi tramite la GUI delle impostazioni.

Ma sono stato in grado di superarlo tramite PowerShell con uno script come questo:

$1=New-WinUserLanguageList en-US
$1.Add("nl-NL")
$1.Add("de-DE")
Set-WinUserLanguageList $1

Copialo e incollalo in una finestra di PowerShell.

La demo sopra configura il layout USA come predefinito con i layout NL e BE aggiuntivi. Adattare se necessario.


nulla è stato cambiato per me dopo l'esecuzione di questo comando
Lu55

0

In realtà sembra che il problema sia anche con la stessa chiave sotto il tuo profilo utente ( HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload), non solo HKEY_USERS\.DEFAULT\Keyboard Layout\Preload.

Posso replicarlo in modo abbastanza coerente: quando aggiungo una chiave 00000429 (persiano) per esempio lì e riavvio, ottengo automaticamente la tastiera persiana e quando lo elimino e riavvio, il persiano non è più lì.

In sintesi, si consiglia di fare in modo che non si dispone di lingue indesiderate in nessuno dei due HKEY_USERS\.DEFAULT\Keyboard Layout\Preload, né HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.