Autohotkeyを使ってキーやキーの組み合わせを再マップする方法を知っています。キャップスロックにCtrl, Capslock+ は+Anykeyのように動作します。CtrlAnykey
CapsLock単独で別のホットキー (たとえばCtrl+ ) にバインドし、 +を+にバインドするにはどうすればよいでしょうか?1CapslockAnykeyCtrlAnykey
答え1
さて、不完全な回避策があります:
Capslock::Control ;--Holding Caps = holding Ctrl
Capslock Up:: ;--If you press Caps fast, it types "No"
SendInput, {Control Up} ;--For stability
If A_TimeSincePriorHotkey < 100 ;--Vary the time as it suits you
{
Sendinput, No ;--Replace with what you want Caps to do on its own
}
Else
return
return
Caps キーを 100 ミリ秒以上押して放すと、何も起こりません。100 ミリ秒未満押して放すと、「No」と入力されます。押したまま任意のキーを押すと、control+Key が実行されます。Caps キーを 100 ミリ秒未満押して、Caps キーを放す前に任意のキーを押すと、control+Key が実行され、「No」と入力されます。タイミングは変更できます。これが私ができる最善のことですが、もっと良い方法があるかもしれません。
答え2
私はC++でまさにこれと同じことを行うプログラムを書きました。CapsLockではなくAppsキーを再マッピングしますが、変更するのは簡単です。ソースコード(および詳細情報)はgithubにあります。https://github.com/russelldavis/KeyFix4000