Карта Capslock для управления в Windows 10

73420
Chiel ten Brinke

В Windows 8 я использовал переназначение моего ключа capslock для управления с помощью скрипта реестра

REGEDIT4  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00 

После обновления до окна 10 это больше не работает. Как это можно сделать?

61
Обратите внимание, что это только переназначает Caps Lock на другую клавишу Ctrl. Я хочу, чтобы они менялись местами, поэтому я воспользовался приведенными здесь инструкциями, чтобы настроить скрипт выше: https://superuser.com/a/1202601/315584 jia103 7 лет назад 0

6 ответов на вопрос

66
hugh

Вы не забыли перезагрузить? Кажется, работает хорошо для меня, так же, как в 7 и 8.

Windows Registry Editor Version 5.00  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00 
Должно быть, так оно и было. Спасибо! Chiel ten Brinke 9 лет назад 0
Проблема для меня заключалась в том, что обновление Windows 10 * сбросило * сопоставление моих заглавных букв. Но сделать это снова так же, как и после другого перезапуска. Jack O'Connor 8 лет назад 7
Если кому-то еще, как мне, нужен последний кусок головоломки: вставьте приведенное выше в новый текстовый файл, сохраните его с расширением `.reg`, дважды щелкните файл, чтобы применить изменения к реестру, затем перезагрузите компьютер. Mike Niebling 8 лет назад 29
Как вы потом сопоставите его с «Caps Lock»? Ehtesh Choudhury 7 лет назад 2
@EhteshChoudhury Вы можете удалить запись «Карта кодов сканирования» в разделе реестра, перезагрузиться, и поведение по умолчанию будет восстановлено. bojolais 7 лет назад 2
60
Frison Alexander

In case anyone needed this done via PowerShell:

$hexified = "00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00".Split(',') | % { "0x$_"}; $kbLayout = 'HKLM:\System\CurrentControlSet\Control\Keyboard Layout'; New-ItemProperty -Path $kbLayout -Name "Scancode Map" -PropertyType Binary -Value ([byte[]]$hexified); 

Run it as Administrator and reboot.

Иметь ответ на вопрос "скопировать и вставить в оболочку" в стиле Linux! mikezter 7 лет назад 8
Шутки в сторону. Я скучаю по наличию * initrc скриптов. Благодарю. stewSquared 6 лет назад 1
18
moeabdol

You can use SharpKeys to map any key to any other key in Windows 7, 8, or 10. It's much easier and cleaner to do than to modify the registry yourself.

Hope this helps.

5
mnemotronic

Я использую следующее, чтобы отправить CTRL для клавиши CAPS LOCK, отправить ALT для клавиши CTRL и отправить CAPS LOCK для клавиши ALT. CTRL находится слева от «A», где Бог и задумал, ALT ниже SHIFT, и совершенно бесполезная клавиша CAPS LOCK надежно спрятана там, где мне нужно сломать запястье, чтобы ударить его.

Windows Registry Editor Version 5.00  ; The hex data is in five groups of four bytes: ; 00,00,00,00,\ header version (always 00000000) ; 00,00,00,00,\ header flags (always 00000000) ; 04,00,00,00,\ # of entries (3 in this case) plus a NULL terminator line. ; Entries are in 2-byte pairs: Key code to send & keyboard key to send it. ; Each entry is in LSB, MSB order. ; 1d,00,3a,00,\ Send LEFT CTRL (0x001d) code when user presses the CAPS LOCK key (0x003a)  ; 38,00,1d,00,\ Send LEFT ALT (0x0038) code when user presses the LEFT CTRL key (0x001d)  ; 3a,00,38,00,\ Send CAPS LOCK (0x3A) code when user presses the LEFT ALT key (0x0038)  ; 00,00,00,00 NULL terminator  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,\ 00,00,00,00,\ 04,00,00,00,\ 1d,00,3a,00,\ 38,00,1d,00,\ 3a,00,38,00,\ 00,00,00,00 
Я действительно ценю комментарии. Мне всегда было интересно, что означают коды. Очень полезно. zaphodtx 6 лет назад 1
1
Andrew K.

Вы можете использовать lswitch для переназначения ввода языка в CapsLock.

Используйте любую клавишу для переключения входных языков, использования: lswitch [keycode]. Код ключа не является обязательным и по умолчанию используется ключ контекстного меню. Другим хорошим кандидатом является ключ CapsLock с кодом ключа 20.

lswitch 20 

Добавьте его в автозагрузку.

0
loxaxs

Я использовал AutoHotKey, чтобы сделать это.

У меня была бы ссылка в каталоге автозагрузки для запуска очень простого ахк-скрипта:

Capslock::Ctrl 

Дело в том, что Autohotkey не запускается от имени администратора, поэтому не влияет на привилегированные окна, если вы не используете планировщик задач вместо каталога запуска для запуска сценария при входе в систему с более высокими привилегиями. Вторая проблема заключается в том, что иногда сценарий зависает при возобновлении сна, поэтому вам может потребоваться перезагрузить его, что раздражает.

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