KeyClean은 맥북 키보드를 청소할 때 키 입력을 일시적으로 차단해주는 가벼운 macOS용 토이 프로젝트입니다.
이 프로젝트는 Gemini CLI와 대화하며 함께 코드를 짜고 에러를 고쳐나간 협업의 결과물입니다.
- 청소 모드 (Key Block): 활성화 시 모든 키보드 입력을 차단하여 청소 중 오타나 원치 않는 명령 실행을 방지합니다. (F열 및 미디어 키 포함)
- 쉬운 토글:
Left Shift+Right Shift+Enter를 동시에 눌러 모드를 즉시 켜고 끌 수 있습니다. - 자동 해제 (Safe Timeout): 모드 활성화 후 1분이 지나면 자동으로 차단이 해제되어 시스템을 다시 사용할 수 있습니다.
아래 명령어를 통해 간편하게 설치할 수 있습니다:
brew install 4BMtolobPL/homebrew-tap/keyclean- Rust (Cargo 패키지 매니저 포함)가 설치되어 있어야 합니다.
- 저장소를 클론하거나 코드를 다운로드합니다.
- 터미널에서 프로젝트 디렉토리로 이동합니다.
- 아래 명령어를 실행합니다.
cargo run
이 프로그램은 시스템 전체의 이벤트를 감시하고 차단해야 하므로 '손쉬운 사용(Accessibility)' 권한이 필요합니다.
cargo run실행 시 권한 요청 팝업이 뜨면 시스템 설정 열기를 누릅니다.- 개인정보 보호 및 보안 > 손쉬운 사용에서 사용 중인 터미널(예: Terminal, iTerm2, VS Code 등)을 허용으로 체크해 주세요.
- 활성화:
왼쪽 Shift+오른쪽 Shift+Enter를 동시에 꾹 누릅니다. 터미널에🧹 Key Clean Mode: ENABLED메시지가 뜹니다. - 비활성화: 동일한 키 조합을 다시 누르거나 1분 동안 기다립니다. 터미널에
✅ Key Clean Mode: DISABLED메시지가 뜹니다.
이 프로젝트는 AI 에이전트인 Gemini CLI와 함께 개발되었습니다.
- 코드 구현: macOS의
Core Graphics및Core Foundation프레임워크를 활용한 로우레벨 이벤트 핸들링 구현. - 트러블슈팅:
FlagsChanged이벤트 누락으로 인한 시프트 키 인식 문제 해결 및 라이브러리 버전업에 따른 API 변경점 수정. - 기능 확장: 단순 차단에서 시작해 토글 로직, 타이머 기능, F-열 차단까지 점진적으로 기능을 추가했습니다.
개인적인 용도의 토이 프로젝트이므로 자유롭게 수정 및 배포가 가능합니다. (MIT License 권장)
Clean your keyboard safely! 🧼⌨️