Shift 키를 누른 상태에서 Caps Lock의 AutoHotKey Ctrl이 작동하지 않음


0

나는 큰 손가락이 없으며 손바닥으로 Ctrl 키를 누를 수 없습니다. Ctrl 키를 너무 많은 단축키에 사용하기 때문에 capslock 버튼으로 다시 매핑해야했습니다. 나는 그것으로 잘 살면서 Ctrl과 대문자를 교환하기위한 레지스트리 방법을 사용했지만, 지금은 쌍 프로그래밍을 위해이 키보드를 공유해야합니다. 내가 가지고있는 주된 문제는 Capslock 버튼과 함께 ctrl-shift-shortcuts를 사용할 수 없다는 것입니다. 여기 내 오토 핫키 스크립트가있다.

+Space::Send _
#InstallKeybdHook
Capslock::
Send {LControl Down}
KeyWait, CapsLock
Send {LControl Up}
if ( A_PriorKey = "CapsLock" )
{
 if GetKeyState("CapsLock", "T") = 1
 {
   SetCapsLockState, off
 }
 else if GetKeyState("CapsLock", "F") = 0
 {
   SetCapsLockState, on
 }
}
return

나는 시프트 스페이스가 밑줄을 보내기위한 라인을 가지고 있음을 주목하라. 나는 모든 가능한 구멍을 덮기 위해 이것을 어떻게 설정해야할지 모르겠다. 이 스크립트를 최적화 할 때 어떤 의견을 주셔서 감사합니다.

답변:


0

#ahk의 + Dymn 덕분에이 문제를 해결하고 모든 버그를 해결할 수있었습니다. 우리가 직면 한 결함 중 일부는 Ctrl + Shift +가 Ctrl 키를 누른 경우에만 작동하고, 다른 키를 누르기 전에 첫 번째 키가 눌러지지 않았을 때 Capslock은 계속 토글됩니다. 나는 이것을 테스트했으며 명백한 버그없이 훨씬 더 견고 해 보입니다.

#InstallKeybdHook
+Space::Send _
CapsLock::
#UseHook On
Send {LControl Down}
KeyWait,CapsLock
Send {LControl Up}
KeyWait, CapsLock
IF (A_PriorKey = "CapsLock") {
  IF GetKeyState("CapsLock", "T") = 1 {
    SetCapsLockState, OFF
  }
  Else If GetKeyState("CapsLock", "F") = 0 {
    SetCapsLockState, ON
  }
}
Return
+CapsLock::
Send {LControl Down}
KeyWait,CapsLock
Send {LControl Up}
Return
#UseHook OFF

이 스크립트는 저에게 매우 중요합니다. 나는 다른 사람들이 내가 그랬던 것처럼 그것을 유용하다고 생각하기를 바란다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.