Как избежать автоматического изменения раскладки клавиатуры на окнах

91

У меня есть два языка ввода в моей языковой панели (Windows XP). Проблема в том, что окна любят переключаться между ними без какого-либо вмешательства. Это действительно раздражает!

Я знаю о ярлыках и уже отключил обнаружение языка Word, но проблема везде (особенно в командной строке).

Я использую оба языка и хочу переключаться между ними только вручную. Как отключить это автоматическое изменение?

andrecarlucci
источник

Ответы:

73

По умолчанию ALT+ LEFT SHIFTиспользуется для переключения между языками. Слишком легко нажать их по ошибке, особенно если вы похожи на меня и предпочитаете клавиатуру мыши.

Чтобы изменить это, зайдите в Панель управления / Региональные настройки / Языки / Детали, и есть кнопка, которая позволяет вам настроить ярлыки для переключения языков - я просто отключаю его вообще.

В Windows 7 это Панель управления / Регион и язык / Клавиатуры и языки / Изменить клавиатуру / Расширенные настройки клавиш.

Вы также можете отключить автоматическое определение языков в Word (Инструменты / Языки). Я думаю, что это может переключить раскладку клавиатуры в соответствии с обнаруженным языком.

Джо
источник
4
Вот почему Visual Studio постоянно переключала мой метод ввода. Я нажимаю ALT и SHIFT левой рукой и нажимаю F10 правой рукой.
Джон Фергюсон
4
Огромное спасибо!! У меня навсегда случается это в Visual Studio, и это настоящая боль! Сейчас выключен.
Лен Холгейт
3
Да, я знаю это, но это не просто VS, это везде. Иногда вы открываете текстовый документ, и Windows меняет ваш язык. Ааа! Убей меня сейчас. Я хочу: «никогда не
6
Это не полный ответ. Word и другие программы будут автоматически менять язык! Спасибо, что гениальным программистам Microsoft ... В любом случае, hamstergene, возможно, разместил здесь возможное решение. Но я до сих пор не знаю, как полностью решить эту досадную проблему с Windows.
Pedro77
4
Этот ответ предполагает, что источником проблемы является нажатие Alt + Left Shift. У меня есть эта проблема, и источник другой (еще предстоит определить).
sancho.s
37

Windows поддерживает разные языки ввода для каждого потока. Когда вы переключаетесь на окно другого потока, ваш язык ввода может измениться. Поскольку потоки не видны пользователю, это может показаться случайным, и я согласен, что это чертовски раздражает.

Нет встроенной опции, чтобы избежать того, что в Windows вы можете использовать стороннее программное обеспечение или что-то еще лучше.

«Что-то еще лучше» - использовать Microsoft Keyboard Layout Creator для создания пользовательского макета, который использует CapsLock в качестве переключателя языка, а затем удалить все остальные макеты (включая английский по умолчанию). Я сделал это с английским + русским языком, и я не могу выразить, насколько лучше моя жизнь с тех пор. Проверьте плюсы:

  • Язык ввода становится системно-глобальным и никогда не меняется сам по себе.
  • Вы всегда можете увидеть текущий язык, посмотрев на светодиод на клавиатуре, даже в полноэкранном приложении, когда индикатор языка не виден.
  • Нажать CapsLock гораздо проще, чем Alt + Shift, Ctrl + Shift, Cmd + Space или что-то еще, ваш мизинец всегда рядом с ним.
  • Сложнее случайно нажать CapsLock, чем Alt + Shift или Ctrl + Shift.
  • Вы можете добавить в свой макет дополнительные полезные для вас символы, которые можно ввести с помощью AltGr + ??, например: длинная тире -, английские кавычки «» », русские кавычки« », стрелки ← → ↑ ↓, математические символы ≠ ± ≈ (я ввел все это с помощью RightAlt + Key и без дополнительного программного обеспечения и без кодов символов)
  • Нет запущенного стороннего приложения, что означает отсутствие ошибок, никаких значков в трее, никаких всплывающих окон, никакой рекламы, никакого дополнительного использования памяти.
  • Вы можете использовать один и тот же метод переключения языка во всех операционных системах, которые вы используете (например, в Mac OS X есть создатель раскладки клавиатуры Ukulele), вместо того, чтобы использовать для каждой из них горячие клавиши для конкретной ОС.

Минусы:

  • Это не будет работать с тремя или более языками.
  • Microsoft Word и, возможно, некоторые другие программы не смогут определить, на каком языке вы печатаете, и проверка орфографии может работать некорректно. Для русского это решается включением автоматического определения языка; Это может не работать так же хорошо для пар латинского языка (например, английский + итальянский).

Прежде чем я нашел это решение, я использовал SwitchIt! программа, чтобы сделать настройку языка ввода глобальным. Он больше не разрабатывается, поэтому я не знаю, работает ли он в XP / Vista / Win7.

hamstergene
источник
6
«Windows поддерживает разные языки ввода для каждого потока». <Вещь, которую я не понимаю, заключается в следующем: Google Chrome использует несколько потоков. ДА, изменение раскладки клавиатуры / языка относится ко всему браузеру, а не к каждой вкладке / потоку в отдельности. Я не могу понять, почему Microsoft не сделала то же самое с Internet Explorer, когда они стали многопоточными в IE. Один парень, работающий в MS, даже оправдал это странное поведение как «правильный способ работы приложения» WTF! (Извиняюсь за напыщенную речь.)
ADTC
1
К сожалению, Microsoft Keyboard Layout Creator не поддерживает опцию «Ctrl + SGCAP + <Key>». Я работаю с макетом Dvorak и не могу заставить работать ярлыки, такие как «ctrl + S» (сохранить), пока включена функция caps lock.
mathijsuitmegen
4
Это сводит меня с ума. Я думаю, что это за процесс, а не за поток. В Windows 8 есть возможность установить ее для всей системы, что замечательно, хотя это решение не для всех ...
Tass
1
@mathijsuitmegen Я настроил это таким образом, и для меня такие вещи, как Ctrl + C, Ctrl + V, работают, как и ожидалось, во всех приложениях, которые я пробовал, независимо от того, включен CapsLock или нет. (К сожалению, тем не менее, Inkscape не принимает русский ввод напрямую, нам может показаться, что CapsLock ON эквивалентен Shift down, а это не так, с этой настройкой.) Я проверил на Windows7 и Vista.
Евгений Сергеев
4
@ADTC - Chrome использует несколько потоков и процессов, но сохраняет все свои окна как принадлежащие одному потоку, а затем заставляет другие потоки отправлять сообщения этому потоку, чтобы они сообщали ему об обновлении окна при каждом изменении. Вы можете увидеть это в диспетчере задач Chrome как «Браузер».
Жюль
6

Я надеюсь, что это решение, которое вы искали. У меня сейчас была та же проблема, когда я пытался поиграть с разными языками, так как они понадобятся мне в ближайшем будущем. Я заметил, что каждый раз, когда я нажимал на «значок звука» в правом нижнем углу (я использую Vista), он изменялся на корейский ввод, или, если я открою Mozilla Firefox, ввод автоматически изменится на корейский (тогда как я используя английский все время). Короче говоря, в зависимости от того, какую программу я открываю или нажимаю на изменение языка ввода .... раздражает правильно? Вот что вы хотите сделать, если хотите, чтобы значение по умолчанию было установлено для всей системы независимо от того, какую программу вы открываете :

щелкните правой кнопкой мыши на языковой панели, а затем в раскрывающемся меню настройки, язык ввода по умолчанию .... выберите, что вы хотите.

D'о! Мне потребовалось 3 часа, чтобы понять ... это должно было прийти ко мне сразу, так как я в значительной степени родился с компьютером, теперь это должно быть своего рода здравым смыслом для меня? хе-хе

SirSmeagol
источник
4

Это хороший вопрос, у меня та же проблема, но мне нужны оба языка, поэтому деинсталляция не возможна.

Я понял, что язык переключается, когда вы переключаетесь на определенные приложения, которые зарегистрированы на другом языке. Пока не нашли решение.

Совет: Вы можете (вручную) переключать языки, нажимая alt-shifttleft . Это, по крайней мере, немного помогает.


источник
2

Если вы не используете оба языка ввода, просто удалите другой.


источник
Я сделал это, но Windows все еще удается установить неправильный макет. Чтобы избавиться от него, сначала я должен установить его снова.
Мартин
2

Георгий почти наверняка ответил, почему ОП воспринимает это как «автоматически», особенно будучи разработчиком и использующим всевозможные комбинации ctrl-shift и alt-shift.

Если вы идете в Панель управления-> Региональные и языковые параметры-> Изменить клавиатуру, а затем измените последовательность клавиш для опции для переключения между языками ввода

деревенщина
источник
2

Я согласен с Гидо. На многих разных машинах Windows я переключал раскладки клавиатуры случайным образом.

Для некоторых может быть полезен совет Nevist:

Если вы не используете оба языка ввода, просто удалите другой.

Но я лично использую много разных раскладок клавиатуры во время моей повседневной жизни, и не ценю, что они постоянно переключаются на меня. На английском я печатаю в Дворжаке. Я был вынужден установить стандартную QWERTY-клавиатуру в Великобритании с помощью (в остальном отличного) приложения, которое у меня есть для изучения раскладки кириллической клавиатуры (Keyboard Tsar). Однако даже до этого я помню, что моя раскладка клавиатуры была случайно переключена на QWERTY без какого-либо вмешательства с моей стороны. Так, например, в веб-браузере, если я набрал что-то в текстовое поле и попытался скопировать его с помощью CTRL + C, он отправил бы CTRL + R и обновил страницу, вероятно, заставив меня потерять то, что я набрал! Вы можете себе представить, как это может быть неприятно, особенно для пользователя, ориентированного преимущественно на клавиатуру, такого как я, который злобно выполняет многозадачные задачи.

Я согласен, что ярлык по умолчанию для переключения языков ввода - ALT + L-SHIFT может быть ответственен в некоторых случаях - тем более, что я иногда использую ALT + SHIFT + TAB для переключения назад через приложения. Тем не менее, для меня отключение этого ярлыка, похоже, работает временно. Неизменно после отключения я проверяю настройку через день или два и обнаруживаю, что она снова включена! В любом случае, у меня были проблемы со случайно меняющимися раскладками клавиатуры в Windows XP в течение столь длительного времени, и я уверен, что большую часть времени это не могло быть связано с тем, что я случайно нажал эту комбинацию клавиш.

Я думаю, что стороннее приложение для лучшего управления раскладками клавиатуры было бы чрезвычайно полезно. Он может иметь функции для настройки раскладки клавиатуры в масштабе всей системы или для установки постоянных автоматических раскладок клавиатуры, связанных с различными приложениями. Например, когда я открываю свою программу испано-английского словаря, она может автоматически переключать макет для этого приложения на испанский международный. И это может помешать Windows капризно переключать макеты, как это, кажется, так нравится делать.

PS, @Adam: Windows управляет раскладками клавиатуры для каждого приложения. Как я уже говорил в предыдущем абзаце, мне это тоже не всегда нравится, так как иногда я хочу работать на определенном общесистемном языке и вынужден изменять каждое отдельное приложение в соответствии с макетом этого языка в отдельности. Однако возможный обходной путь для вас - если вы хотите, чтобы каждое приложение открывалось с корейским макетом, - это установить корейский макет в качестве входного макета по умолчанию. Конечно, я могу понять, что это может быть не идеальным решением для вас, так как вы также можете интенсивно использовать английский в другое время и просто столкнуться с противоположной проблемой, если вы переключите значение по умолчанию на корейский. Но я подумал, что просто расскажу вам о логике Windows в отношении этой «функции»: теоретически каждое работающее приложение должно запустите с системным макетом по умолчанию, затем запомните, на какой макет вы переходите, пока он не будет закрыт.

Кейси Джонс
источник
2

Я нашел простое решение или реальную проблему для меня. Я использую WinXP и установил клавиатуру урду вместе с английским языком. Я имел эту настройку раньше, но никогда не было проблем до сих пор. После некоторого разочарования и осмотра я нашел проблему. XP была установлена ​​с использованием английского языка. «Язык ввода по умолчанию» (через региональные и языковые параметры, вкладку «Язык», кнопку «Подробности», вкладку «Настройки») был случайно установлен на урду. Когда я изменил его обратно на английский - США, проблема была исправлена.

Музаффар Султан
источник
2

У меня была та же проблема с Windows 7. Каждую минуту или две она тихо менялась с дворака на qwerty; крайне нервирующее поведение, когда я пытаюсь запомнить пароль к системе Linux.

Решение состояло в том, чтобы установить язык ввода по умолчанию на dvorak в выпадающем меню в окне Text Services and Input Languages.

Уверенная "особенность", я уверен ...

atraudes
источник
Нашел решение моей проблемы, которое я проиллюстрировал здесь: superuser.com/questions/304488/…
atraudes
1
«Молча переходить с дворака на qwerty каждую минуту или две»
проникновение на
Правильно? Как будто они изобрели QWERTY или что-то ...
atraudes
1

Я думаю, что Windows переключается случайным образом. На моем компьютере он переключался в разные приложения без причины ... или, по крайней мере, ни с одним из тех, о которых я мог думать. Я не использовал alt-shift-left вообще.

Например, в Internet Explorer 7 он использовал одну настройку клавиатуры для полей формы, а другую - для адресной строки, к которой я обратился через alt-d. Через несколько мгновений настройки изменились, но я ничего не сделал ...

Также другие приложения имеют такую ​​же проблему, особенно такие символы, как - / _ * [и] будут перемещаться из-за внезапных изменений раскладки клавиатуры. Я уже знаю, где они находятся в другом макете, но это действительно раздражает ...

Я недавно получил эту проблему, когда я обновил Internet Explorer с версии 6 до 7 (немного поздно, я знаю). Я теперь отключил сочетания клавиш для изменения раскладки, надеюсь, что это работает ... :-)


источник
0

В подавляющем большинстве случаев достаточно удалить раскладку клавиатуры, которая не соответствует вашей реальной клавиатуре. Многие установки Windows по умолчанию поставляются (например) с американской раскладкой клавиатуры, а также с британской клавиатурой. Клавиатура для США не имеет смысла (в этом примере вы можете присоединить американский английский как язык, который использует раскладку в Великобритании).

Для нескольких западноевропейских языков на одной клавиатуре вы можете использовать раскладку клавиатуры США-Международная (лучше всего, если у вас физическая клавиатура США) или использовать генератор раскладок клавиатуры MS для создания аналогичной многоязычной раскладки, полученной из конкретной национальной клавиатуры.

Brent.Longborough
источник
Неплохая идея - хотя для этого потребуется изучить третий макет для слепого набора текста (будут использоваться оба варианта: международный / другой с дополнительными гласными звуками / новый гибридный в целом). Генератор раскладки клавиатуры MS можно найти здесь: msdn.microsoft.com/en-us/globalization/keyboardlayouts
nsandersen
0

Я тоже столкнулся с этой проблемой, поскольку у моего macbook есть свои нестандартные настройки клавиатуры. Windows работает, открывая любое новое окно на языке DEFAULT. Я нашел обходной путь для этого все же.

Когда я подключаю USB-клавиатуру (для которой требуются другие языковые настройки), я:

  • щелкните правой кнопкой мыши на языковой панели и выберите «Настройки ...»
  • В «Вводе языка по умолчанию» измените его на тот, который я хочу использовать сейчас.

Любые окна, открытые после этой точки, будут использовать настройку языка по умолчанию.

Однако любое окно, которое было открыто до смены языка по умолчанию, все равно будет иметь прежнюю настройку языка, поэтому окна будут менять языки, если вы переключитесь на него (так что вам нужно будет переключать их вручную).

Надеюсь, это поможет!


источник