![오토핫키 Ctrl+Shift - Zbrush/Photoshop](https://rvso.com/image/1388784/%EC%98%A4%ED%86%A0%ED%95%AB%ED%82%A4%20Ctrl%2BShift%20-%20Zbrush%2FPhotoshop.png)
나는 오랫동안 Autohotkey를 사용해 CG 소프트웨어(주로 Zbrush와 Photoshop) 내에서 키를 다시 매핑하여 왼손잡이에게 친숙하게 만들었습니다.
기본적으로 Numpad 키를 프로그램 내에서 변경할 수 없는 키(Ctrl, Alt, Shift 등)에 다시 매핑합니다. 이렇게 하면 왼손으로 그래픽 태블릿 펜을 사용할 수 있고 Numpad를 사용하여 Ctrl, Alt 등에 액세스할 수 있습니다. 이는 전체 키보드를 오른쪽으로 오프셋하는 것보다 훨씬 편리합니다.
어쨌든 내 스크립트는 다음과 같습니다.
#IfWinActive, ahk_class ZBrush
#MaxHotkeysPerInterval 200
NumPad1::Alt
Numpad2::LControl
Right::Shift
up::Space
return
매우 간단하지만 몇 년 전에 이 기능을 만든 이후로 버그가 있었습니다. 기본적으로 Numpad2+오른쪽(Ctrl+Shift)을 누른 상태에서 Numpad2를 놓으면 프로그램이 계속 누르고 있는 것처럼 동작합니다. Numpad2를 빠르게 누르면 다시 정상으로 돌아가지만 매우 짜증납니다. 다음은 문제를 더 잘 설명하는 몇 가지 이미지입니다.
왜 이런 일이 일어나는지 아십니까? 저는 프로그래머가 아니므로 확실히 도움을 받을 수 있습니다.
답변1
Numpad2 직전에 놓으면 문제가 발생하지 않는 것 같습니다. 마치 오른쪽(Shift)을 누르면 Numpad2(Ctrl)가 해제되지 않는 것과 같습니다...
현재 보고 있는 문제는 숫자 키패드가 에 의해 변경되었기 때문에 발생합니다 ⇧Shift. 누르는 것은 키를 ⇧Shift토글하는 것과 비슷 NumLock하지만 그 효과는 더 복잡하고 명확하지 않습니다.
예를 들어, 키를 누르면 Numpad-4다음과 같은 결과가 생성됩니다.
│ Num On │ Num Off
──────────┼────────┼───────────
Shift Off │ 4 │ ←
──────────┼────────┼───────────
Shift On │ ← │ Shift + ←
당신 이 숫자 패드의 키와 함께 그것을 다시 매핑하고 사용하기 때문에 →AutoHotkey 를 복잡하게 만들고 예상치 못한 결과로 당신을 혼란스럽게 하는 상호 작용을 얻게 됩니다.⇧Shift논리적으로 정확하다, 그러나 확실히 예상치 못한 원치 않는 결과).
보조 키를 Numpad-2다음과 같은 다른 키로 변경해 보세요.~ 아니다⇧Shift와 같이 에 의해 수정되었습니다 K. 더 이상 예상치 못한 결과가 나오지 않는다는 것을 알게 될 것입니다.
이 동작은 소프트웨어가 아닌 키보드 컨트롤러에서 발생하므로 불행하게도 수정자로 사용해야 하는 경우 ⇧Shift이와 같은 복잡한 재매핑에 숫자 패드 키를 사용할 수 없습니다.
⇧Shift한 가지 옵션은 (수학적 연산자, Numpad-5및 Numpad-Enter) 에 의해 수정되지 않는 편집 블록이나 숫자 패드 키를 사용하는 것입니다 .
또 다른 옵션은 더 낮은 수준에서 키를 확인하는 키보드 후크를 생성하는 보다 복잡한 스크립트를 작성하여 키가 눌려져 있는지 확인한 ⇧Shift다음 필요에 따라 보정할 수 있도록 하는 것입니다.
(저는 얼마 전 유니코드 입력 프로그램을 작성할 때 바로 이 문제에 부딪혔습니다. 특정 문자에 대해 키 이동을 지원하도록 하려고 했지만 수정으로 인해 문제가 발생했습니다. 결국 후자의 제안에 의지하여 글을 썼습니다. 복잡한 대본이었는데 답답하고 어지러웠고 결국엔 한계가 좀 있더군요.)
답변2
우와! 답변이 정말 훌륭해요! 빠르고 정확합니다. 매우 감사합니다. 저는 해당 키가 Shift에 의해 수정되어 이런 짜증나는 동작이 발생한다는 것을 몰랐습니다. 문제는 제가 이 Numpad2 재맵핑에 너무 익숙해서 몇 주간의 정신운동 재적응을 거치지 않고는 변경할 여유가 없다는 것입니다 ^^
NumpadDown을 Ctrl로 다시 매핑하여 문제를 우회할 수 있었습니다 ^^ 이제 놀라운 일이 일어났습니다!
NumPad1::Alt
Numpad2::Ctrl
NumpadDown::Ctrl
Right::Shift
up::Space
return
문제의 원인을 지적해주셔서 정말 감사드립니다. 이것은 수년 동안 나를 괴롭혔습니다.