윈도우에서 오토핫키를 사용하시는 분들이 많으실텐데요. 오토핫키 이용 중에 불편했던 부분을 개선하여 스크립트를 짰는데 충분히만족하고 사용하고 있어서 공유 드립니다.
우선 제가 오토핫키를 사용하는 부분은 다음과 같습니다.
1. 캡스락으로 한영전환
2. 캡스락 + ijkl 로 방향키
3. 기타 캡스락 조합키
기존에 인터넷 상에 공유가 많이 되었던 스크립트는 몇가지 불편한 점이 존재했습니다.
1. 캡스락 한영 전환 시 딜레이
2. 캡스락 + ijkl 방향키 사용 시 원치 않는 한영 전환
구글링을 열심히 해봐도 답이 나오지 않아 공식 문서 보면서
위 2가지 문제를 해결한 스크립트를 공유 드립니다.
SetCapsLockState, AlwaysOff
#If GetKeyState("Capslock","P")
i::Up
j::Left
k::Down
l::Right
u::BackSpace
o::Del
p::+Enter
h::Home
SC027::End
n::^Home
m::^End
7::PgUp
8::PgDn
r::=
t::_
c::CapsLock
w::Up
a::Left
s::Down
d::Right
q::BackSpace
e::Del
#If
*CapsLock::
KeyWait, CapsLock
If A_ThisHotkey = *CapsLock
Send, {vk15}
Return
키조합은 아래와 같은데 입맛에 맞게 변형해서 사용하시면 되겠습니다.
캡스락 = 한영전환
(아래 부터는 캡스락을 누른채로)
i, j, k, l, w, a, s, d = 방향키
u, o, q, e = backspace, delete
h, ; = home, end
n, m = ctrl + home, ctrl + end
7, 8 = PageUp, PageDown
c = 캡스락
r, t = =, _
p = shift + enter
저도 맥북을 회사에서 주로 사용하느라 집에 윈도우 쓸때 영 했갈리더라고요..ㅎㅎ
다행이 fc660c + ble660으로 매핑해서 해결하긴 했지만 일단 다른 키보드 쓸때 대비해서 스크랩 했습니다.
감사합니다.
원래 capslock (바꾼걸로는 ctrl) + hjkl 로 이동.
shift + space 한영전환
모든 에디터는 vi 모드로 변경 -_-;
이러니 다른 사람들이 제 키보드를 못 만지는 효과가 나타나네요 !!
powertoy 로 사용했는데요.
궁금한게 있습니다. 알파벳 대소문자 원래 capslock기능이 현재 c로 되어있는데... 우측 한영키로 바꾸려면 어떤 키를 매칭시켜야 할까요?
c::CapsLock 대신
vk15::CapsLock 을 넣으시면 되실 것 같습니다.
(혹시 안되면 vk15 대신 vk15sc138 를 넣으시면 됩니다.)
추가로 오토핫키를 여시고 ctrl + k 를 누르시면 나오는
Key History And Script Info 창에서
키보드를 누르면 각 키 코드를 확인하실 수 있습니다.
(https://iamaman.tistory.com/2223)
저도 겪었던 시행 착오군요.
관리자 권한으로 실행해주시면 됩니다.
관리자 권한으로 시작 앱 설정이 안되는데
https://m.dcinside.com/board/toweroffantasy/217523
이런 방법을 활용해보시면 되실거에요.
하나만 더 질문드려도 될까요?? capslock+c 가 대소문자 변경인데요. 이 키를 빼고 한/영전환 키를누르면 대소문자 변경기능이 되게 하려면 어떤 코드를 추가해야 할까요? 결국 capslock - 한영전환키 두 키를 반대로 바꾸는 셈이네요..
아래처럼 변경하셔서 사용하시면 원하시는 방식대로 사용 가능하실거에요.
SetCapsLockState, AlwaysOff
SC138::Capslock
#If GetKeyState("Capslock","P")
i::Up
j::Left
k::Down
l::Right
u::BackSpace
o::Del
p::+Enter
y::#
h::Home
SC027::End
n::^Home
m::^End
7::PgUp
8::PgDn
r::=
t::_
w::Up
a::Left
s::Down
d::Right
q::BackSpace
e::Del
#If
*CapsLock::
KeyWait, CapsLock
If A_ThisHotkey = *CapsLock
Send, {vk15}
Return
제가 바로바로 확인 못 드려도 확인하는대로 쪽지 드릴 수 있도록 하겠습니다 :)
덕분에 캡스락 기능 변경 했습니다.
300밀리 세컨드 딜레이도 사라졌네요 :)
딜레이도 영 거슬렸던 부분인데
캡스락 두번 누르게 짜면 딜레이가 있을 수 밖에 없어서
캡스락 + c 로 기존 캡스락 기능을 하게 했습니다.