2016-06-22 13:36:38 +0000 2016-06-22 13:36:38 +0000
121
121

Jak uniemożliwić systemowi Windows 10 automatyczne dodawanie układów klawiatury (np. klawiatury amerykańskiej)

Uaktualnienie: to jest długi post, możesz przeskoczyć prosto do odpowiedzi poniżej


*Uwaga: * Szybka lista języków odnosi się do listy na poniższym zrzucie ekranu, dostępnej za pomocą skrótu Win + Spacja

Mam dwa języki dla sprawdzania pisowni windows w moim systemie, Angielski (Stany Zjednoczone) i Francuski (Szwajcaria), ale pomimo tego, że oba języki są poprawnie skonfigurowane z klawiaturą wejściową “Swiss French”, US Keyboard wejście wciąż pojawia się na tej liście:

Oto ustawienia dla języka angielskiego (Stany Zjednoczone), widać, że jedynym inputem jest “Swiss French”:

To samo dla Français (Suisse), jedyne wejście to “Swiss French”:

W Panelu Sterowania oba są również ustawione jako Swiss French:

Wszystkie moje ustawienia są ustawione na używanie “listy języków”:

Oto kilka rzeczy, które już próbowałem:

  • już udało mi się go usunąć przez pewną gimnastykę konfiguracji językowej, poprzez dodawanie i usuwanie języków, zawsze w końcu wraca
  • już to zrobiłem: https://superuser.com/a/484595/168632
  • W moich ustawieniach rejestru też nie ma wzmianki o US Keyboard:

Proszę o pomoc, jestem zdesperowany, to mój trzeci komputer z Windows 10 i wszystkie robią to samo.

Odpowiedzi (10)

107
107
107
2016-06-29 14:00:54 +0000

Aby rozwiązać ten problem, usuń folder rejestru Preload i wyloguj się lub uruchom ponownie komputer:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload

Ten folder wydaje się być jakąś pozostałością, która zawiera nieokreślone przez użytkownika układy klawiatury, które mają być dodane do listy języków, gdy użytkownik się zaloguje. Chociaż sama poprawka działa po restarcie systemu, w chwili pisania tego tekstu są rzeczy, które przywracają ten kłopotliwy folder, oto kilka z nich, na które wpadłem osobiście:

  • Zdalny pulpit na komputerze z amerykańskim układem graficznym
  • Używanie tego samego konta Microsoft na innym komputerze, który nadal ma ten problem

Za każdym razem, gdy problem powraca, ten folder rejestru musi zostać ponownie usunięty.

Edit 2: Dzięki sugestii @Lu55, oto poręczny one-liner do użycia w wierszu poleceń z uprawnieniami administratora:

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

Edit: Stworzyłem plik tekstowy RemovePreload.reg z następującą zawartością, w ten sposób ta poprawka może być łatwo ponownie zastosowana za każdym razem bez nawigowania po rejestrze:

Windows Registry Editor Version 5.00

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

Aby tego użyć, zapisz go w pliku tekstowym i zmień rozszerzenie z .txt na .reg. Następnie, gdy pojawi się ponownie, możesz po prostu kliknąć go dwukrotnie i zrestartować lub wylogować się.

61
61
61
2017-01-28 11:03:27 +0000

Właściwie rozwiązanie jest całkiem proste i nie wymaga żadnej edycji rejestru!

  • Przejdź do Region i język (poprzednia nazwa Preferencje językowe), kliknij na English (United States) i przejdź do Options.

  • Jeśli widzisz tam “US Keyboard”, usuń ją i gotowe.

  • HOWEVER, jeśli nie widzisz jej tam, kliknij na Add a keyboard , dodaj “US keyboard”, następnie usuń tę klawiaturę i gotowe.

Wymyśliłem to po kilku próbach i błędach, próbując różnych rzeczy, miałem ten sam problem.

7
7
7
2019-07-14 17:17:25 +0000

Znalazłem odpowiedź po godzinie od teraz dla builda:

OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.18362 N/A Build 18362
  1. Będzie to działać nawet po ponownym uruchomieniu.
  2. To jest łatwe do zrobienia. I ustawione na dobre.
  3. To powstrzyma wszelkie inne języki przed tworzeniem dla nowych użytkowników.
  4. Nie będzie już pokazywał tych języków również na ekranie logowania.
  5. Brak hacków rejestru, które nie działały dla mnie po ponownym uruchomieniu.

Można również przejść przez ( ale upewnij się, aby sprawdzić swoje ustawienia językowe pierwszy - patrz zrzuty ekranu poniżej ).

Panel sterowaniaRegion → zakładka Administracja → Kopiuj ustawienia…


Oto krok w obrazkach z zapisem na obrazkach również dla odniesienia.

Wtedy twój rejestr powinien wyglądać tak, z tylko jednym preload.

Skopiuj to Computer\HKEY_USERS\.DEFAULT\Keyboard Layout\Preload do paska adresu edytora rejestru, aby przejść bezpośrednio do niego i sprawdzić samemu.

6
6
6
2018-01-07 23:28:03 +0000

To nie jest stała poprawka, ale poręczny plik wsadowy, który dodaje układ klawiatury en-US, a następnie go usuwa. (Musisz go najpierw dodać, aby móc go usunąć.)

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"

Następnie możesz po prostu uruchomić Remove_en-US.bat, aby usunąć układ. Mam również skrót do tego pliku wsadowego w moich programach startowych.

Tutaj, 0409 jest wartością locale ID, a 00000409 jest wartością układu klawiatury. Listę wartości locale ID:keyboard layout value znajdziesz na stronie https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825682(v=win.10) .

5
5
5
2016-06-22 13:44:11 +0000

Są dwa miejsca do konfiguracji klawiatury w windows 10, panel sterowania - Język

Drugie jest w ustawieniach tak jak na twoim zrzucie ekranu

Tam też dokonaj zmian, to powinno rozwiązać problem.

4
4
4
2016-09-20 19:25:53 +0000

Nie miałem wpisu 409 w rejestrze (patrz zaakceptowana odpowiedź). Kroki, które podjąłem w celu usunięcia języka angielskiego (US) z menu szybkiego wyboru:

  1. Otwórz “Preferencje językowe” z menu szybkiego wyboru.
  2. Dodaj język angielski (US).
  3. Usuń język angielski (US).

Wskazówka: W Panelu sterowania: Wszystkie elementy Panelu sterowania: Język: Ustawienia zaawansowane: Zmień klawisze skrótu paska języka możesz ustawić działanie klawisza skrótu dla “Między językami wejściowymi” na “(Brak)”, aby uniknąć przypadkowej zmiany układu klawiatury.

2
2
2
2017-12-24 15:27:09 +0000

Odpowiedź Mikela powyżej naprawia to…., ale na wszelki wypadek, jeśli pojawi się to ponownie dla ciebie (tak jak dla mnie): Czy masz może custom AutoHotkey shortcut to change keyboard layouts?

Problem polegał na tym, że mój skrypt AutoHotkey zawierał następujące linie kodu:

; 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

Więc podczas gdy w moim pulpicie działałoby to pięknie i przełączało z angielskiego (układ klawiatury UK) na grecki (układ klawiatury GR) i odwrotnie, na moim laptopie, który ma amerykańską klawiaturę, ten skrypt byłby odpowiedzialny za dodatkowe układy pojawiające się ni stąd ni zowąd na moim przełączniku języków.

Mam nadzieję, że to pomoże!

2
2
2
2017-09-21 09:56:55 +0000
  1. Panel sterowania
  2. Zegar, Język i Region
  3. Język
  4. Zmiana metod wprowadzania danych
  5. Ustawienia zaawansowane
  6. Zastąpienie domyślnej metody wprowadzania danych
  7. Wybierz swój preferowany układ (zamiast “Użyj listy języków”)
  8. Zapisz

1
1
1
2018-08-10 19:20:53 +0000

Właściwie wygląda na to, że problem dotyczy również tego samego klucza w profilu użytkownika (HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload), a nie tylko HKEY_USERS\.DEFAULT\Keyboard Layout\Preload.

Mogę to replikować dość konsekwentnie - kiedy dodaję klucz 00000429 (perski) na przykład tam i restartuję, dostaję automatycznie dodaną klawiaturę perską, a kiedy ją usuwam i ponownie uruchamiam, perski już tam nie jest.

Podsumowując, możesz chcieć się upewnić, że nie masz niepożądanych języków ani w HKEY_USERS\.DEFAULT\Keyboard Layout\Preload, ani w HKEY_USERS\S-1-5-21-...\Keyboard Layout\Preload.

1
1
1
2018-12-08 17:14:33 +0000

Windows 10 anniversary edition zawiera nową “funkcję”, w której zakłada, że zarówno ustawienia regionalne, jak i językowe są dostarczane z obowiązkowym układem klawiatury. Układy te nie mogą być usunięte poprzez GUI ustawień.

Ale udało mi się to pokonać za pomocą PowerShell, używając skryptu takiego jak ten:

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

Skopiuj-wklej go do okna PowerShell.

Powyższe demo konfiguruje układ US jako domyślny z dodatkowymi układami NL i BE. Dostosuj w razie potrzeby.