web-dev-qa-db-ja.com

ウィンドウ10でマップキャップをコントロールにロック

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にアップグレードした後、これはもう機能しません。どうすればそれができますか?

74

再起動を忘れませんでしたか。 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
77
hugh

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);

管理者として実行して再起動してください。

71

SharpKeys を使用すると、Windows 7、8、または10の任意のキーを他のキーにマップできます。自分で登録してください。

お役に立てれば。

18
moeabdol

CAPS LOCKキーにCTRLを送り、CTRLキーにALTを送り、ALTキーにCAPS LOCKを送ります。 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
7
mnemotronic

無尽蔵のsysinternalsツールボックスには、コントロールを使用してcapslockを切り替えるための小さなプログラム(ctrl2cap.exe)もあります。

2
Ernst

言語入力をCapsLockに再マップするには、 lswitch を使用できます。

入力言語、使用法を切り替えるには任意のキーを使用してください:lswitch [keycode]。キーコードはオプションで、デフォルトはコンテキストメニューキーです。もう1つの良い候補は、キーコードが20のCapsLockキーです。

lswitch 20

自動ロードに追加してください。

2
Andrew K.

これはCTRLとCAPS LOCKキーを交換するスクリプトです。

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,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00
2
ady

私はこれを行うためにAutoHotKeyを使用していました。

私は起動ディレクトリに非常に基本的なahkスクリプトを実行するためのリンクがあると思います。

Capslock::Ctrl

問題は、AutohotkeyはAdministratorとしては実行されないため、スタートアップディレクトリではなくタスクスケジューラを使用してログイン時に高い特権でスクリプトを実行しない限り、特権ウィンドウには影響しません。 2つ目の問題は、スリープを再開するとスクリプトがハングすることがあるため、再ロードする必要があることがあり、これは面倒なことです。

AutoHotKeyは、マクロを書くなど、より複雑なタスクに適しています。

0
loxaxs