본문 바로가기

Learning/.programming

[오토핫키 AutoHotKey] 방향키 리맵핑 스크립트 (Alt, CapsLock)

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] 컴퓨터 켤 때 자동 실행시키기

오토핫키 방향키 다시 설정하기 프로젝트 중 마지막 단계, 작성한 스크립트를 실행 파일로 만들고 컴퓨터 부팅 시 자동 실행되게 만들어보자~ ▶ 상위 포스팅 ↓ [오토핫키 AutoHotKey] 방향키 리맵

blumay.tistory.com

 

 

오토핫키 AutoHotKey 방향키 리맵핑

1) 오토핫키 설치하기 & Script 파일 만들기
2) 방향키 리맵핑 Script 작성하기 (Alt + 영문키 / CapsLock + 영문키
3) 컴퓨터 부팅 시 오토핫키 자동 실행 설정하기

 

300x250