私は Vim を使用しているので、capslockに再マップしましたesc。しかし、それでも時々必要になります。そこで、 +にcapslock再マップしようかと考えています。shiftshiftcapslock
- 通常の方法で使用する場合: 長押しして放すと、入力を大文字に変更するキーshiftとして機能します。shift
- をタップするとshift(短く押して放す)、 が切り替わりますcapslock。
このようなことは可能ですか? AutoHotkey スクリプトや、これを行うためのヒントを知っている人はいますか?
答え1
このAutoHotkeyスクリプトを少し変更して使用しますエリオット・デノルフの回答:
~Shift::
duration := 0
If (GetKeyState("Shift","p"))
{
start := A_TickCount
While (GetKeyState("Shift"))
Sleep, 1
duration := A_TickCount - start
}
if (duration < 100) ;Change this value as needed
if GetKeyState("CapsLock", "T") = 1
{
SetCapsLockState, off
}
else if GetKeyState("CapsLock", "T") = 0
{
SetCapsLockState, on
}
Return
Shiftキーが 100 ミリ秒未満押されて放されると、キーが切り替わりますCapsLk。100 ミリ秒を超えると、通常の修飾キーとして機能します。
100 ミリ秒が長すぎる場合は、条件で適切な値を選択してくださいif
。