키보드의 키를 빠르게 누르거나 1초 이상 누르고 있는지에 따라 키를 다시 매핑하는 방법은 무엇입니까?

키보드의 키를 빠르게 누르거나 1초 이상 누르고 있는지에 따라 키를 다시 매핑하는 방법은 무엇입니까?

새 키보드(Keychron K6)를 받았는데 간단히 말해서, 키를 잠시 누르고 있을 때만 Esc키가 매핑되도록 하고 싶습니다 . Esc일반 키 입력처럼 탭하는 경우에는 대신 백틱/틸드 키를 사용해야 합니다.

그래서:

  • 누르기 Esc: 결과~
  • Esc잠시 동안 누르고 있으면 다음이 발생합니다.Esc

PowerToys의 키보드 관리자 도구를 살펴보고 AutoHotKey도 약간 만져봤는데 둘 다 매우 강력해 보이지만 둘 중 누구도 키가 누르고 있는지 또는 짧게 누르고 있는지를 고려하지 못하는 것 같습니다.

이것이 가능합니까?

건배!

답변1

방금 이것을 시도해 보면 이 AutoHotKey 스크립트가 작동할 것입니다.

$esc::
 KeyWait,esc,T0.5 ;wait 0.5 seconds for release key
 If (ErrorLevel) ;more than 0.5 sec have passed
 {
  Send {esc}
  keyHeld = 1
  KeyWait,esc
 }
Return

$esc up::
 If (keyHeld = 0) ;If not held down
  Send ``
 Else
  keyHeld = 0
Return

shift & esc::
 Send ~
 keyHeld = 1
Return

관련 정보