6

OS X имеет эту действительно хорошую функцию, когда у вас есть 3+ источника ввода с клавиатуры (языки) и нажмите Cmd + пробел, вы переключаетесь между только двумя из них.

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

Как я могу иметь подобную функциональность в Windows 10? У меня есть 3 источника входного сигнала, и циклический просмотр их, чтобы найти тот, который мне нужен, действительно раздражает.

7 ответов7

6

В Windows 10 можно назначить сочетание клавиш для языка:

  1. Перейдите в Панель управления -> Часы, Язык и Регион -> Язык -> Расширенные настройки.

  2. В разделе « Переключение методов ввода» нажмите « Сменить горячие клавиши языковой панели», затем нажмите на своем языке и, наконец, на « Изменить последовательность клавиш».

  3. Откроется диалоговое окно, в котором вы можете назначить горячую клавишу этому языку:

образ

Поскольку вышеупомянутые сочетания клавиш весьма ограничены, можно использовать, например, AutoHotkey, чтобы изменить его на любую другую комбинацию клавиш. Как только вы изучите AutoHotkey, вам будет легко воспроизвести точное поведение OSX (вы также можете попросить помощи на их форуме).

Многие сценарии AutoHotkey можно найти в Интернете, и их можно адаптировать под любые потребности.

Следующий пример скрипта направлен на улучшение работы Alt+Shift как переключателя между английской и русской клавиатурами для текущего окна:

; 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.
ru := DllCall("LoadKeyboardLayout", "Str", "00000419", "Int", 1)
en := DllCall("LoadKeyboardLayout", "Str", "00000409", "Int", 1)

!Shift::
w := DllCall("GetForegroundWindow")
pid := DllCall("GetWindowThreadProcessId", "UInt", w, "Ptr", 0)
l := DllCall("GetKeyboardLayout", "UInt", pid)
if (l = en)
{
    PostMessage 0x50, 0, %ru%,, A
}
else
{
    PostMessage 0x50, 0, %en%,, A
}

Вот несколько потоков, предлагающих скрипты для изменения раскладки клавиатуры с различными функциями:

Вот некоторые бесплатные продукты, которые делают это также:

  • keyla - может определять сочетания клавиш или использовать значок на панели задач
  • Резюме - использует CapsLock для переключения языка клавиатуры
2

Как переключать языки в Windows 10 (почти) как в OS X, Android, IPhone

В Windows 7 есть (почти идеальное) решение этой проблемы, которое можно реализовать в Windows 10 с помощью нескольких дополнительных шагов.

Фон

Решение основано на том факте, что в Windows есть две разные сущности: язык ввода и раскладка клавиатуры.

По умолчанию Alt+Shift проходит через настроенные языки ввода, и это язык ввода, который люди обычно добавляют, когда им требуются дополнительные языки в их системах.

Но.

  1. Можно изменить поведение Alt+Shift (или Ctrl+Shift, если вы предпочитаете), чтобы переключаться между раскладками клавиатуры и не изменять язык ввода.
  2. Можно указать разные сочетания клавиш для каждого языка ввода (как это также описано в одном из других ответов на этот вопрос)
  3. Самое главное, что можно добавить несвязанную раскладку клавиатуры к языку ввода (даже раскладку с другим сценарием), например раскладку иврита на английский язык. Этот шаг немного сложен в Windows 10, но выполним.

Наконец, у вас будет несколько разных языков ввода, для каждого из которых у вас будет отдельное сочетание клавиш, но как только вы выберете язык ввода, вы сможете использовать обычные Alt+Shift, которые будут циклически переключаться между определенными раскладками клавиатуры внутри. «языка ввода.

Конфигурация в Windows 10

Для простоты предположим, что вы хотите использовать 3 языка: английский, русский и иврит. После выполнения шагов ниже у вас будет три режима работы:

  • Английский режим, используемый по умолчанию, выбирается с помощью циклов Ctrl+1 и Alt+Shift (или Ctrl+Shift) между английским и русским
  • Режим иврита, выбранный с помощью Ctrl+2 и циклически переключающихся между английским и ивритом Alt+Shift (или Ctrl+Shift)
  • Русский режим, выбранный с помощью Ctrl+3 и циклически переключающихся между английским и русским языками Alt+Shift (или Ctrl+Shift)

Шаги для настройки.

  1. Ctrl-Esc (который открывает меню "Пуск") или кнопка Windows в левом нижнем углу экрана
  2. Введите Language (который должен вызвать пункт Language из панели управления), нажмите Enter
  3. В зависимости от вашего поставщика у вас может быть английский и ваш региональный язык. Если у вас есть только английский, добавьте русский и иврит с помощью кнопки Добавить язык
  4. Каждый язык поставляется с методом ввода по умолчанию, который соответствует языку. Теперь мы добавим "несвязанный" метод ввода для каждого языка ввода:
    1. Скачать Microsoft Keyboard Layout Creator
    2. Файл -> Загрузить существующую клавиатуру.
    3. Выберите макет, который вы хотите добавить (давайте начнем с русского макета для английского языка ввода)
    4. Проект -> Недвижимость
    5. Измените язык в соответствии с языком ввода, для которого вы хотите, чтобы эта раскладка клавиатуры была доступна. Это был бы английский (США) в нашем случае.
    6. Нажмите ОК Возможно, вам придется немного изменить описание, если вы получите сообщение об ошибке "Описание клавиатуры идентично". Просто добавьте суффикс.
    7. Откройте меню "Проект" и выберите « Построить DLL и установочный пакет». Не обращайте внимания на предупреждение, согласитесь открыть каталог, в котором был собран пакет установщика Windows.
    8. Запустите setup.exe, чтобы установить раскладку клавиатуры для выбранного языка ввода.
    9. Если вы снова откроете (закроете и еще раз откроете) экран « Язык» (из шага 2) и выберите « Параметры для английского языка (США)», вы должны увидеть два метода ввода: « Американский» и « Недоступный метод ввода».
    10. Повторите шаги 4.1-4.9 для всех необходимых раскладок клавиатуры (для примера, который мы обсуждаем, нам понадобятся еще два повторения: загрузить набор английских клавиатур Language на русский в Project -> Properties и собрать его, снова загрузить английскую клавиатуру, set Язык на иврите в Project -> Свойства и построить его).
  5. После успешного завершения предыдущих шагов у вас должен быть недоступный метод ввода на экране параметров для каждого языка, который вы использовали в качестве целевого языка на шаге 4.5.
  6. Последний шаг - настройка сочетаний клавиш. Экран «Открыть язык» (шаги 1-2)
    1. Выберите « Дополнительные настройки» (на левой панели экрана « Язык» ).
    2. Выберите Изменить языковые панели горячие клавиши
    3. Выберите « Между языками ввода» (щелкните левой кнопкой мыши) и нажмите кнопку « Изменить последовательность клавиш».
    4. Выберите « Не назначено» на панели « Переключить язык ввода»
    5. Выберите Левый Alt + Shift (или тот, который вы предпочитаете) на панели Switch Keyboard Layout
    6. Подтвердите (ОК).
    7. Выберите « На английском (США) - США» (щелкните левой кнопкой мыши), нажмите кнопку « Изменить последовательность клавиш», установите флажок "Включить последовательность клавиш", выберите « Ctrl» и « (или любой другой предпочтительный вариант), подтвердите
    8. Выберите На иврите (Израиль) - Иврит (Стандартный) (щелкните левой кнопкой мыши), нажмите кнопку « Изменить последовательность клавиш», установите флажок "Включить последовательность клавиш", выберите « Ctrl» и « (или любой другой предпочтительный вариант), подтвердите
    9. Выберите « Русский (Россия) - Русский» (щелчок левой кнопкой мыши), нажмите кнопку « Изменить последовательность клавиш», установите флажок "Включить последовательность клавиш", выберите « Ctrl» и « (или любой другой предпочтительный вариант), подтвердите
  7. Перезагрузка (да, сочетания клавиш в Windows довольно глючные, после того, как вы их измените, вам нужно перезагрузить компьютер, чтобы они были зарегистрированы правильно).

Конфигурация в Windows 7

Настройка того же варианта использования в Windows 7 проще и не требует загрузки дополнительных инструментов.

  1. Ctrl-Esc (который открывает меню «Пуск») или кнопка Windows в левом нижнем углу экрана
  2. Введите Region и Language (который должен вызвать пункт Language из панели управления), нажмите Enter
  3. Вкладка « Клавиатуры и языки » -> « Сменить клавиатуру»
  4. Нажмите кнопку « Добавить» и найдите раздел « Английский (США) ».
  5. Нажмите + (знак плюс), чтобы открыть раздел Keybord
  6. Откройте его и нажмите пункт Показать больше ..., который дополнит список всеми различными языками, найдите русский язык в этом списке и проверьте его (убедитесь, что вы выбрали русский язык внутри клавиатуры в списке английского языка (США).
  7. После подтверждения у вас должно быть две клавиатуры под английским (США): американская и русская.
  8. Нажмите «Добавить», выполните поиск на иврите (Израиль) и выберите « Иврит», « Показать больше ...», « США-международные» (который будет доступен только после выбора « Показать больше»), подтвердите
  9. Нажмите «Добавить», найдите « Русский (Россия)» и выберите « Россия», « Показать больше ...», « США» (которые будут доступны только после выбора « Показать больше»), подтвердите
  10. Перейти на вкладку « Дополнительные настройки ключа »
  11. Выберите Между языками ввода (щелчок левой кнопкой мыши)
  12. Кнопка « Изменить последовательность клавиш»
  13. Установите Переключить язык ввода на Нет, Переключите раскладку клавиатуры влево Alt + Shift (или Ctrl + Shift), подтвердите
  14. На английский (США) - США -> Изменить последовательность клавиш -> Включить последовательность клавиш, установите Ctrl + 1, подтвердите
  15. На иврит (Израиль) - США-Международный -> Изменить последовательность клавиш -> Включить последовательность клавиш, установите Ctrl + 2, подтвердите
  16. На русский (Россия) - США -> Изменить последовательность клавиш -> Включить последовательность клавиш, установить Ctrl + 3, подтвердить
  17. Подтвердите (ОК).
  18. Перезагружать.

Заметки

Есть одна особенность: в некоторых программах вы можете получить искаженные символы, если вы не переключитесь на правильный язык ввода (например, если вы получаете искаженный русский ввод, используйте Ctrl+3 для переключения на русскую раскладку клавиатуры). Но это случается довольно редко и только в некоторых необычных обстоятельствах (для большинства пользователей Windows) меня не особо беспокоит.

1

Вы можете просто использовать сочетание клавиш Alt + Shift для итерации по заданным языкам (и оно зацикливается;)).

0

Прямой параметр реестра для отключения горячих клавиш с раскладкой клавиатуры:

reg add "HKCU\Keyboard Layout\Toggle" /v "Layout Hotkey" /d 3

Вы могли бы также хотеть

reg add "HKCU\Keyboard Layout\Toggle" /v "Language Hotkey" /d 3
reg add "HKCU\Keyboard Layout\Toggle" /v "Hotkey" /d 3

А для новых пользователей попробуйте это (в повышенном режиме):

reg load HKEY_USERS\temp "%USERPROFILE%\..\Default\NTUSER.DAT"
reg add "HKEY_USERS\temp\Keyboard Layout\Toggle" /v "Layout Hotkey" /d 3
reg unload HKEY_USERS\temp
0

Введите в строке поиска меню Пуск Панель управления -> Нажмите Язык -> Нажмите Дополнительные параметры -> Нажмите Изменить горячие клавиши языковой панели -> Нажмите Изменить последовательность клавиш

0

Если вам нужно точное поведение, как в macOS, без необходимости настройки, вы можете использовать Ctrl+Win+Space для переключения между двумя недавно использованными языками, например, что вы получаете из Cmd+Space.

Чтобы переключиться на другие методы ввода, например, когда вы дважды нажмете Cmd+Space , просто используйте Win+Space.

-1

Я понял ваше значение.Вы имеете в виду IME (метод ввода). Вы можете использовать Ctrl + Пробел, чтобы установить поражение IME, и Ctrl + Shift, чтобы перейти к следующему IME.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .