Caps Lock может быть отключен только с помощью клавиши Shift, независимо от настроек

Я использую Windows 7 Home Premium на ноутбуке Sony VAIO VPC-F23BFX.
Проблема в том, что ключ блокировки крышки можно отключить только с помощью клавиши Shift.
В региональных настройках панели управления не имеет значения, настроил ли я его отключение с помощью клавиши Caps Lock или клавиши Shift, он всегда ожидает клавишу Shift.
Я проверил, и значение реестра для этой опции сохраняется правильно.
Я также проверил с помощью этой утилиты и генерируемые коды сканирования:

OnKeyDown, Key code=20, Control keys=, Key name CAPS LOCK  
OnKeyup, Key code=20, Control keys=, Key name CAPS LOCK  

при нажатии заглушки блокируются первый раз (включается); а также:

OnKeyup, Key code=20, Control keys=, Key name CAPS LOCK  

при повторном нажатии (не выключается).
Если я затем нажму Shift, он генерирует:

OnKeyDown, Key code=16, Control keys=Shift{Left}, Key name SHIFT
OnKeyDown, Key code=20, Control keys=Shift{Left}, Key name CAPS LOCK
OnKeyup, Key code=20, Control keys=Shift{Left}, Key name CAPS LOCK
OnKeyup, Key code=16, Control keys=, Key name SHIFT

Может, какая-то программа балуется с событиями клавиатуры? (Я не использую AutoHotkey или что-то подобное).

5 ответов

Решение

После некоторого расследования я нашел виновника: я использовал пользовательскую раскладку клавиатуры, которая отключала мертвые клавиши, и, очевидно, это также заставляло использование клавиши Shift для отключения caps-lock (ShiftLock, как некоторые называют это).

Я уже пытался переключиться на макет по умолчанию, и он, похоже, не работал, теперь я понимаю, что, вероятно, это потому, что я тестировал на существующем окне Блокнота, а не открывал новое.

Решение: я скачал MSKLC и создал новый макет, основанный на этом, но без включения ShiftLock.

Я не знаю, почему это произошло. Но я мог бы решить это с помощью этого обходного пути:

  1. Панель управления> Регион и язык
  2. Вкладка "Клавиатуры и языки"
  3. Изменить клавиатуру...
  4. Расширенные настройки ключа
  5. Выберите "Нажмите клавишу SHIFT", чтобы отключить Caps Lock
  6. Применять
  7. Нажмите клавишу SHIFT сейчас. Кепки должны быть выключены сейчас.
  8. Снова выберите "Нажмите клавишу CAPS LOCK", чтобы отключить Caps Lock.
  9. Применять

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

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

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

Основываясь на этом посте с форума ответов Microsoft,

Идти к Control Panel > Regional and Language Options > Keyboards & Languages > Change Keyboard > Advanced Key Settings,

Там вы найдете настройки для отключения Caps Lock with the SHIFT key, как и должно быть по умолчанию.

и включи Press the CAPS LOCK key, Если вы не можете найти этот параметр, используйте виртуальную клавиатуру или утилиту, например Caps Lock.

Другие вопросы по тегам