728x90
오토핫키 방향키 다시 설정하기 프로젝트 중 두번째 단계 - AutoHotKey Script 작성하기!
▶ 상위 포스팅 : 오토핫키 방향키 리맵핑하기
상위 포스팅에서 소개한 것처럼 나는 방향키와 Home, End 키 등등을 오른손 영자판에 맵핑했다.
처음에는 Alt 키를 활용했었다.
인터넷에 많이 나와있는 방법이기도 하고, 스크립트가 훨씬 간단하기 때문.
그런데 실제로 사용하다보니 왼손이 영 불편해서 결국 CapsLock 키를 활용하는 것으로 변경했다.
이 포스팅에서는 두 코드 모두 소개할 예정이다.
Original Key | Alt + 영문키 | CapsLock + 영문키 |
방향키 ↑ , UP | Alt + I | CapsLock + I |
방향키 ↓ , Down | Alt + K | CapsLock + K |
방향키 ← , Left | Alt + J | CapsLock + J |
방향키 → , Right | Alt + L | CapsLock + L |
Home | Alt + U | CapsLock + U |
End | Alt + O | CapsLock + O |
Page Up | Alt + Y | CapsLock + Y |
Page Down | Alt + P | CapsLock + P |
Backspace | Alt + H | CapsLock + H |
Delete | Alt + N | CapsLock + N |
Enter | Alt + Space | CapsLock + Space |
0. AutoHotkey 기본 심볼
오토핫키에서는 각 기능 키를 하나의 문자(심볼)을 사용해서 간략하게 표현하곤 한다.
지금 우리가 알아야 하는 건 Ctrl, Alt, Shift, Win 키 4개 정도~
Ctrl | Alt | Shift | Win |
^ | ! | + | # |
더 많은 심볼은 아래 오토핫키 위키에서 확인할 수 있다.
https://www.autohotkey.com/docs/Hotkeys.htm
+그리고 ahk 파일 문법에서 Semicolon(;)은 주석이다.
1. Alt + 영문 키 맵핑
; Symbol: Ctrl^ Alt! Shift+ Win#
!k:: Send {Down} ; Alt + k : 아래 화살표
!i:: Send {Up} ; Alt + i : 위 화살표
!j:: Send {Left} ; Alt + j : 왼쪽 화살표
!l:: Send {Right} ; Alt + l : 오른쪽 화살표
!u:: Send {Home} ; Alt + u : Home 버튼
!o:: Send {End} ; Alt + o : End 버튼
!n:: Send {Del} ; Alt + n : Del 버튼
!h:: Send {BS} ; Alt + h : Backspace 버튼
!;:: Send {Enter} ; Alt + ; : Enter 버튼
; +Shift
+!k:: Send +{Down}
+!i:: Send +{Up}
+!j:: Send +{Left}
+!l:: Send +{Right}
+!u:: Send +{Home}
+!o:: Send +{End}
; +Ctrl | +Shift+Ctrl
^!j:: Send ^{Left}
^!l:: Send ^{Right}
+^!j:: Send ^+{Left}
+^!l:: Send ^+{Right}
2. CapsLock + 영문 키 맵핑
; Ctrl^ Alt! Shift+ Win#
; SetCapsLockState, AlwaysOff ; CapsLock 비활성화
; UP Key
CapsLock & i::
if GetKeyState("Shift", "D")
if GetKeyState("Alt", "D")
Send +^{Up}
else if GetKeyState("Ctrl", "D")
Send +!{Up}
else
Send +{Up}
else if GetKeyState("Ctrl", "D")
if (GetKeyState("Alt", "D"))
Send !^{Up}
else
Send !{Up}
else if GetKeyState("Alt", "D")
Send ^{Up}
else
Send {Up}
return
; DOWN Key
CapsLock & k::
if GetKeyState("Shift", "D")
if GetKeyState("Alt", "D")
Send +^{Down}
else if GetKeyState("Ctrl", "D")
Send +!{Down}
else
Send +{Down}
else if GetKeyState("Ctrl", "D")
if (GetKeyState("Alt", "D"))
Send !^{Down}
else
Send !{Down}
else if GetKeyState("Alt", "D")
Send ^{Down}
else
Send {Down}
return
; LEFT Key
CapsLock & j::
if GetKeyState("Shift", "D")
if GetKeyState("Alt", "D")
Send +^{Left}
else if GetKeyState("Ctrl", "D")
Send +!{Left}
else
Send +{Left}
else if GetKeyState("Ctrl", "D")
if (GetKeyState("Alt", "D"))
Send !^{Left}
else
Send !{Left}
else if GetKeyState("Alt", "D")
Send ^{Left}
else
Send {Left}
return
; RIGHT Key
CapsLock & l::
if GetKeyState("Shift", "D")
if GetKeyState("Alt", "D")
Send +^{Right}
else if GetKeyState("Ctrl", "D")
Send +!{Right}
else
Send +{Right}
else if GetKeyState("Ctrl", "D")
if (GetKeyState("Alt", "D"))
Send !^{Right}
else
Send !{Right}
else if GetKeyState("Alt", "D")
Send ^{Right}
else
Send {Right}
return
; HOME Key
CapsLock & u::
if GetKeyState("Shift", "D")
if GetKeyState("Alt", "D")
Send +^{Home}
else if GetKeyState("Ctrl", "D")
Send +!{Home}
else
Send +{Home}
else if GetKeyState("Ctrl", "D")
if (GetKeyState("Alt", "D"))
Send !^{Home}
else
Send !{Home}
else if GetKeyState("Alt", "D")
Send ^{Home}
else
Send {Home}
return
; END Key
CapsLock & o::
if GetKeyState("Shift", "D")
if GetKeyState("Alt", "D")
Send +^{End}
else if GetKeyState("Ctrl", "D")
Send +!{End}
else
Send +{End}
else if GetKeyState("Ctrl", "D")
if (GetKeyState("Alt", "D"))
Send !^{End}
else
Send !{End}
else if GetKeyState("Alt", "D")
Send ^{End}
else
Send {End}
return
; etc - Page Up/Dn, Baskspace, Delete, Enter
CapsLock & y:: Send, {PgUp}
CapsLock & p:: Send, {PgDn}
CapsLock & h:: Send, {BS}
CapsLock & n:: Send, {Del}
CapsLock & Space:: Send, {Enter}
코드 작성을 마쳤다면 디버그 (초록색 벌레모양), 실행 (파란 세모) 버튼을 눌러 프로그램이 잘 실행되는지 확인하자~
잘 실행된다면 그 다음 단계는 스크립트를 실행 파일로 만들기 + 자동 실행 설정하기!
★ 오토핫키 AutoHotKey 방향키 리맵핑 1) 오토핫키 설치하기 & Script 파일 만들기 2) 방향키 리맵핑 Script 작성하기 (Alt + 영문키 / CapsLock + 영문키 3) 컴퓨터 부팅 시 오토핫키 자동 실행 설정하기 |
300x250
'Learning > .programming' 카테고리의 다른 글
[오토핫키 AutoHotKey] 컴퓨터 켤 때 자동 실행시키기 (0) | 2022.09.12 |
---|---|
[오토핫키 AutoHotKey] 설치 & Script 파일 만들기 (0) | 2022.09.12 |
[오토핫키 AutoHotKey] 방향키 리맵핑하기 (Alt, CapsLock) (0) | 2022.09.12 |
[AWS 프리티어 종료 후 과금] 인스턴스 종료, 환불문의, 계정탈퇴 (0) | 2022.04.03 |