28

Я использую Windows 7 Ultimate (w/ SP1), и у меня установлено несколько языков пользовательского интерфейса - в основном для снимков экрана и т.д. Среди них китайский (традиционный) и китайский (упрощенный), которые настаивают на подключении клавиши CTRL+пробел, хотя у меня есть отключить / переопределить эти назначения горячих клавиш в настройках языковой панели / расширенных клавиш.

(Это вступает в конфликт с CTRL+Пробел в IDE Visual Studio, и это довольно раздражает.)

Есть идеи?

6 ответов6

41

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

Процедура

  1. Зайдите в Start > Введите regedit и запустите его
  2. Перейдите к HKEY_CURRENT_USER/Control Panel/Input Method/Hot Keys
  3. Выберите ключ с именем:
    • 00000070 для китайского (традиционного) IME - горячая клавиша Chinese (Traditional) IME - Ime/NonIme Toggle
    • 00000010 для китайского (упрощенного) IME - горячая клавиша Chinese (Simplified) IME - Ime/NonIme Toggle
  4. В правом подокне есть три подключа.
    • Ключевые модификаторы обозначают Alt/Ctrl/Shift/и т.д. И имеют значение Ctrl (02c00000).
    • Виртуальный ключ обозначает завершающий ключ и имеет значение Пробел (20000000).
  5. Измените первый байт в Key Modifiers с 02 на 00
  6. Измените первый байт в Virtual Key с 20 на FF
  7. Выйдите из системы и войдите снова. Я не думаю, что это необходимо перезагрузить.
  8. Не меняйте Hot keys for input languages на панели управления, если вы не хотите делать это снова и снова.

Примечания: симптомы

Каждый раздел реестра (который выглядит как папка) предназначен для каждой конкретной настройки горячих клавиш, которую вы обычно найдете в Control Panel > Region and Language > Keyboards and Languages > Change keyboards... > Advanced Key Settings > Hot keys for input languages . Повторяющаяся ошибка заключается в том, что горячая клавиша автоматически сбрасывается на Ctrl+пробел, даже если она изменена через графический интерфейс.

Я могу лично подтвердить это для Windows 7 64-bit и Windows 8.1, хотя из моих исследований видно, что она может работать и для XP и Vista.

Источники:

Настройки реестра горячих ключей для карманного IME традиционного китайского языка

Упрощенный китайский MSPY 3.0 IME Настройки реестра горячих ключей

4

Спасибо, это сработало. Для справки я экспортировал измененные ключи реестра:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000010]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00

[HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys\00000070]
"Key Modifiers"=hex:00,c0,00,00
"Virtual Key"=hex:ff,00,00,00
2

Я только что получил помощь по связанной проблеме, и я думаю, что это может быть полезно и для многих из вас: https://www.neowin.net/forum/topic/1261058-windows-81-is-forgetting-ctrl12345 -shortcuts отведенный-для-клавиатура макет-коммутация-после-в /

Похоже, что в некоторых случаях Windows перезаписывает конфигурацию персональных элементов управления макетом настройками по умолчанию. Следовательно, способ получить "постоянное" решение в основном заключается в переписывании HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys с тем, что у вас есть в вашем HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys после правильной настройки ярлыков IME (или в этом случае их отсутствия).

1

Можете попробовать отредактировать реестр, в котором параметры хранятся напрямую, как это предлагается в ответе на аналогичный вопрос: как не дать Windows XP украсть мой ввод Ctrl-Space, предназначенный для Emacs? (в ответе упоминается и Windows 7).

1

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

Поскольку китайский язык был удален отсюда, ярлык также перестал работать, поэтому я смог снова использовать его в visual studio.

-1

Кроме того, на что ответил Кач, хитрость для предотвращения дальнейших изменений / обращений (например, если вы случайно пытаетесь изменить его из-за каких-либо настроек Windows) заключается в том, чтобы просто ОТКАЗАТЬ "полный контроль" всем в реестре.

Манекены пошаговые:

  • Если вы используете RegEdit, щелкните правой кнопкой мыши на кнопке "00000010" в левом дереве навигации.
  • выберите «Разрешения ...»
  • для каждого элемента "Группы или имена пользователей" установите все флажки в столбце "Запретить"
  • нажмите "ОК"
  • повторите для клавиши "00000070" в левом дереве навигации

Изменения разрешений реестра вступают в силу немедленно (попробуйте установить или сбросить тумблер IME сейчас - он не будет работать). Как указано в первоначальном ответе, за фактический ключ CTRL-пробел , чтобы быть "отключена" (для целей переключая IME), вам нужно будет выйти и снова войти в систему .

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