PC
[맥북] 한영키 변환 속도 개선
크크크크
2025. 6. 17. 17:44
728x90
반응형
문제는
Caps Lock을 한영 전환키로 사용하려고 하는데, 너무 빠르게 누르면 인식이 잘 안 돼서 전환이 안 된다
느려진 이유는 macOS가 Caps Lock 입력에 디바운스(지연) 를 걸어두기 때문이고, 기본적으로 “의도치 않은 오입력 방지”를 위해 눌렀다 떼는 동작을 약간 느리게 처리하도록 설계되어 있다(.. 왜 그렇게....)
여러가지 이유로 옵션 설정을 제공하지 않다고 한다.
- Caps Lock은 시스템 예약키
- macOS는 디바운스를 설정할 옵션을 제공하지 않음
- 시스템 보안 구조상 HID Hook 제한(맥 자체 하드웨어 접근 관련 기술 이겠지..)
- 이게 커널 수준인데 커널 수준에서는 수정하지 않게 하기 위함이라나... (보안 이슈와 관련 있음)
아무튼 이러한 이유로 자체 설정 옵션이 없다.
여러가지 방법들이 있지만 프로그램 설치 없이 맥북 기본 기능으로 설정 해두는게 가장 빠르다.
다른 앱들은 디바이스 입력 키를 받아서 드라이버 영역에서 입력 키를 가로채서
macOS에게 전달한다. (즉, 한 단계 추가되어있는 경우다)
설정 방법
앱을 거치지 않고 macOS 로그인 중에 바로 적용되게 하는 가장 빠른 방법만 사용한다.
1. 스크립트 파일 생성
예) ~/caps_delay.zsh
#!/bin/zsh
/usr/bin/hidutil property --set '{"CapsLockDelayOverride":0}'
실행권한 필수: chmod +x ~/caps_delay.sh
2. Launch Agent 생성
- 컴터 실행 후 자동 실행하는 기능이라고 생각하면된다.
- ~/Library/LaunchAgents/com.user.capsdelay.plist 파일을 아래 내용으로 만든다
- ~/Library/LaunchAgents/ 는 원래 있는 경로
- com.user.capsdelay.plist 임의의 파일명이고 ".plist" 반드시 명시
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.capsdelay</string>
<key>ProgramArguments</key>
<array>
<string>/bin/zsh</string>
<string>-c</string>
<string>~/caps_delay.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
3. Launch Agent 로드
프로그램 실행 시 자동으로 실행할 수 있게 등록해주자
launchctl load ~/Library/LaunchAgents/com.user.capsdelay.plist
4. 적용 시기
- 매 실행 시
- 로그아웃 후 다시 로그인 시
아니면, 쉘에서 일회성으로 얘만 실행해도 된다.
/usr/bin/hidutil property --set '{"CapsLockDelayOverride":0}'
728x90
반응형