소개
Windows는 편리한 기본 단축키를 제공하지만, 사용자마다 더 편한 키 조합이 다릅니다. 예를 들어 작업 관리자를 여는 기본 단축키는 Ctrl + Shift + Esc이지만, 더 짧거나 일관된 조합으로 바꾸고 싶을 수 있습니다. Windows 자체에는 기본 단축키를 직접 바꾸는 설정이 없어, AutoHotkey(AHK) 같은 도구로 키 매핑을 대체합니다.
중요: 시스템 전체 단축키를 바꿀 때는 관리자 권한, 보안, 다른 앱과의 충돌 가능성을 항상 고려하세요.
AutoHotkey 소개
AutoHotkey는 키보드 단축키, 매크로, 자동화 스크립트를 작성하는 오픈소스 도구입니다. 텍스트 기반 스크립트로 키 매핑, 프로그램 실행, 마우스 자동화 등 다양한 작업을 정의할 수 있습니다. 초보자도 기본 문법 몇 줄만 알면 쉽게 시작할 수 있습니다.
간단 정의: AutoHotkey — 키와 동작을 연결하는 스크립트 언어 및 런타임.
기본 문법
다음 표는 단축키를 정의할 때 가장 자주 쓰는 기호와 의미입니다.
AutoHotkey 문법 | 의미 |
---|---|
^ | Ctrl 키 |
! | Alt 키 |
+ | Shift 키 |
# | Win 키 |
Up, Down, Left, Right | 방향키 |
run, | 파일/폴더/프로그램을 실행 |
send, | 지정한 키 입력을 대신 전송 |
문자 자체를 입력하면 해당 문자 키를 보냅니다. Esc, Del 같은 특수키는 이름 그대로 스크립트에 적습니다. 더 많은 키 이름과 확장 문법은 AutoHotkey 공식 문서를 참조하세요.
참고: send, sendInput, sendPlay 등 전송 방식에는 차이가 있습니다. 간단한 키 전송은 send로 충분하지만 호환성 문제가 있으면 sendInput을 고려하세요.
기본 단축키 바꾸기
바꿀 단축키를 정한 뒤 바탕화면에서 빈 공간을 마우스 오른쪽 클릭하고 새로 만들기 -> AutoHotkey Script를 선택해 새 스크립트를 만듭니다. 이름은 알아보기 쉽게 지정하세요(예: Task Manager.ahk).
스크립트를 마우스 오른쪽 클릭해 편집을 선택하고 아래처럼 입력합니다. 예시: 단축키 Ctrl + X를 눌러 작업 관리자(원래 Ctrl + Shift + Esc)를 열게 하려면:
^+x::Send^+{Esc}
구문 설명: 왼쪽은 새로 쓸 핫키, ::
는 동작 구분자, 오른쪽은 수행할 액션입니다. Esc는 특수키이므로 중괄호로 감쌉니다.
추가 팁: 트레이 아이콘이 뜨는 것을 원하지 않으면 스크립기 상단에 다음 줄을 추가하세요.
#NoTrayIcon
그런 다음 파일을 저장하고(편집기에서 닫기), 스크립트를 더블클릭해 실행합니다. 바로 동작을 테스트하세요.
프로그램 단축키 재지정 예시
예: 기본 Windows 검색(Win + S)을 다른 검색 도구인 Everything으로 바꾸려면 다음처럼 씁니다.
#s::run,"C:\Program Files\Everything\Everything.exe"
구문 팁: ::
앞은 핫키, run
뒤는 실행할 프로그램 경로입니다. 경로에 공백이 있으면 따옴표로 묶습니다. 실제 설치 경로가 다를 수 있으니 실행 파일 위치를 확인하세요.
중요: 외부 프로그램 실행은 권한 요구(UAC)나 관리자 권한 필요 여부에 따라 실패할 수 있습니다. 관리자 권한으로 AHK 스크립트를 실행하거나 바로 가기 실행 옵션을 조정해야 합니다.
Windows 시작 시 단축키 자동 실행하기
정의한 모든 .ahk 스크립트를 시작 시 자동으로 실행하려면 다음 폴더에 복사하세요:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
파일 탐색기에서 경로를 붙여넣고 스크립트(.ahk 파일)를 여기로 이동하면 Windows 부팅 시 자동으로 실행됩니다. 여러 스크립트가 있으면 관리가 번거로우므로 한 파일에 여러 핫키를 넣어 관리하는 것을 권장합니다.
자주 쓰는 스니펫 모음
여러 상황에서 유용한 간단 스크립트 예시입니다.
- CapsLock을 Ctrl로 바꾸기
CapsLock::Ctrl
- Alt+F4 대신 Win+Q로 창 닫기
#q::Send !{F4}
- 텍스트 단축(서명 자동 입력)
::sig::회사명 | 이름 | 연락처
- 특정 윈도우 활성화 후 키 전송
^!t::
IfWinExist, 메모장
{
WinActivate
Send, Hello{!}
}
return
이와 같은 스니펫은 개인 워크플로우에 맞춰 확장하면 생산성이 크게 올라갑니다.
대안과 비교
AutoHotkey 외에 단축키를 바꾸는 방법은 다음과 같습니다.
- Microsoft PowerToys의 Keyboard Manager: GUI 기반으로 간단한 키 재매핑에 좋음. 복잡한 매크로나 창 제어에는 한계.
- SharpKeys: 레지스트리 편집을 통해 낮은 수준에서 키 코드를 바꾸며, 리부팅 필요. 단순 키 교환에 적합.
- 레지스트리 직접 편집: 영구적이지만 오류 시 복구가 어려움.
간단 비교 표:
방법 | 난이도 | 장점 | 단점 |
---|---|---|---|
AutoHotkey | 중 | 매우 유연, 복잡한 자동화 가능 | 스크립트 관리 필요, 런타임 요구 |
PowerToys | 낮 | GUI, 안전함 | 고급 자동화 제한 |
SharpKeys/레지스트리 | 중 | 시스템 레벨 적용 | 리부팅 필요, 복구 어려움 |
선택 팁: 단순 키 교환이면 PowerToys 또는 SharpKeys, 창 제어나 프로그램 실행 등 복합 동작이면 AutoHotkey가 적절합니다.
언제 작동하지 않거나 제한되는 경우
- 특정 앱(게임, 일부 보안 프로그램)은 키 후킹을 막아 AHK가 동작하지 않을 수 있습니다.
- 관리자 권한으로 실행되는 앱은 같은 권한으로 AHK를 실행하지 않으면 키 이벤트를 주입 못 할 수 있습니다.
- UWP(스토어) 앱이나 로그인 화면에서는 단축키가 적용되지 않거나 제한됩니다.
- 시스템 수준 훅을 차단하는 보안 소프트웨어가 설치된 경우 충돌이 날 수 있습니다.
해결 방법: AHK를 관리자 권한으로 실행하거나 대상 앱과 동일한 권한으로 실행, 또는 앱별로 예외를 두는 방법을 검토하세요.
보안 및 개인정보 주의사항
- 인터넷에서 받은 .ahk 스크립트는 코드를 확인하세요. 스크립트는 키 입력, 파일 실행, 네트워크 호출 등 민감한 동작을 할 수 있습니다.
- 회사 환경에서는 보안 정책을 확인하고 IT 부서와 협의하세요. 무분별한 자동화는 보안 경고를 유발할 수 있습니다.
- 스크립트를 배포할 때는 서명 또는 검증 절차를 마련하세요.
운영자/사용자 체크리스트
시작 전에 확인할 것들:
- 백업: 기존 설정과 중요한 레지스트리, 사용자 데이터 백업
- 계획: 변경할 단축키 목록과 우선순위 작성
- 테스트: 신규 단축키를 별도 계정이나 VM에서 먼저 테스트
- 배포: 시작 폴더에 배치 또는 그룹 정책으로 배포(엔터프라이즈 환경)
- 모니터링: 충돌 보고 채널 마련(사용자 리포트)
관리자용 배포 체크리스트:
- 중앙 관리 스크립트 버전 관리
- 디지털 서명 또는 무결성 확인
- 역할 기반 권한으로만 변경 허용
작은 운영 절차(간단 SOP)
- 요구 수집: 어떤 단축키를 누구에게 적용할지 정의
- 스크립트 작성: 주석 포함, 변경 이력 기록
- 로컬 테스트: 최소 24시간 사용 테스트
- 배포: 시작 폴더 또는 자동화 도구로 배포
- 롤백 계획: 기존 상태로 되돌리는 스크립트 준비
롤백 예시: 모든 변경을 주석 처리한 스크립트나 이전 버전으로 교체하고 재부팅 후 확인.
호환성 및 마이그레이션 팁
- Windows 11과의 호환성: 대부분 AHK 스크립트는 작동하나 일부 키 매핑이나 UI 자동화는 업데이트로 영향 받을 수 있음.
- 다중 사용자 환경: 각 사용자 프로필의 시작 폴더에 배치하거나 중앙 그룹 정책으로 배포.
- 휴대용 설정: 노트북에서 여러 컴퓨터로 이동 시 스크립트에 절대 경로 대신 상대 경로나 환경 변수를 사용하세요.
문제 해결 가이드
스크립트가 동작하지 않음
- AHK 런타임이 설치되어 있는지 확인
- 스크립트를 수동으로 더블클릭해 실행해 보고, 출력(트레이)을 확인
- 관리자 권한으로 실행해 보기
- 다른 AHK 스크립트와 충돌 여부 확인(같은 핫키 중복)
프로그램이 실행되지 않음
- 경로가 정확한지 확인, 공백이 있는 경우 따옴표 사용
- 관리자 권한 필요 여부 확인
원래 키가 완전히 동작하지 않음
- 일부 시스템 단축키는 Windows 자체 수준에서 우선권을 가집니다. 이 경우 완전 대체가 불가능할 수 있습니다.
결정 트리(간단)
flowchart TD
A[원하는 동작: 단축키 재매핑?] --> B{단순 키 교환?}
B -- 예 --> C[PowerToys 또는 SharpKeys 사용]
B -- 아니오 --> D[AutoHotkey 사용]
D --> E{관리자 권한 필요?}
E -- 예 --> F[AHK를 관리자 권한으로 실행]
E -- 아니오 --> G[일반 사용자 권한으로 실행]
마무리 요약
AutoHotkey는 Windows 기본 단축키를 교체하고, 더 복잡한 자동화를 구현하는 데 매우 유용한 도구입니다. 간단한 문법부터 시작해 안전한 배포와 테스트 절차를 따르면 안정적으로 운영할 수 있습니다. 대안으로 PowerToys와 같은 GUI 도구도 있으니 용도에 따라 선택하세요.
요점 정리:
- 간단한 스크립트로 기본 단축키를 재할당할 수 있음
- 트레이 아이콘 숨기기(#NoTrayIcon)와 시작 폴더 등록으로 자동화 가능
- 관리자 권한, 보안, 앱 충돌을 항상 확인
추가 학습: AutoHotkey 공식 문서와 포럼에서 키 이름, Send 옵션, 윈도우 제어 함수 등 고급 기능을 참고하세요.