뇌졸중으로 인한 장애로 한손으로만 키보드를 사용할 수 있게 되어, 한손 키보드 입력기를 개발
- 한글 입력: 이건구님의 한손 오른손 키보드 (libhangul 기반 구현)
- 영어 입력: Half-QWERTY 키보드 구현 (양쪽 왼손, 오른손키 모두)
한손 키보드 안정성 테스트를 계속 진행 중... 현재 한글 키보드에서 오른손을 사용할 수 없는 상태인데, 사용하기엔 더 편해서 오른손 키보드를 우선 구현
CLI 스크립트 사용:
- 빌드:
./Scripts/build.sh - 설치:
./Scripts/install.sh - 제거:
./scripts/uninstall.sh
Xcode 사용:
- Xcode에서 빌드:
⌘+B - 빌드된
.app파일을~/Library/Input Methods/에 복사 - 시스템 환경설정 > 키보드 > 입력 소스에서 추가
- Caps Lock으로 한/영 전환
원래 구름 입력기에도 적힌 방법이다. macOS에서 기본 영어 입력소스를 제거하여 한손 영문 키보드만 사용하도록 설정:
-
기본 영어 입력소스 삭제:
- 시스템 환경설정 > 키보드 > 입력 소스
+키 클릭- 일본어 > Romaji 선택하여 추가
- 기본 영어 입력소스 선택 후
-키로 삭제 - 일본어 Romaji 선택 후
-키로 삭제
-
한손영문 제거 시:
- 영어 > 기본 영어 입력소스 선택하여 추가
- 한손영문 입력소스 선택 후
-키로 제거
참고: 기본 영어 입력소스는 macOS에서 최소 1개의 영어 입력소스를 요구하기 때문에 임시로 다른 입력소스를 추가한 후 삭제해야 합니다.
현상:
- 한손한글로 타이핑 중 Caps Lock으로 영문 전환 시, 이전 조합 상태가 남아있음
- 한손영문에서 한손한글로 전환 시, 영문 입력 버퍼가 잔존함
- 양방향 전환 모두에서 발생하는 문제
예시:
한글 입력 중: "안녕하" (조합 중) → Caps Lock → 영문 입력기
→ 나중에 한글로 복귀 시: "하" + 새 입력 = 예상치 못한 조합
영문 입력 중: "hello wo" → Caps Lock → 한글 입력기
→ 나중에 영문 복귀 시: "wo" + 새 입력 = 중복/오타
원인:
- macOS IME 시스템에서 각 입력기가 독립적인 상태를 가짐
- 입력기 전환 시점에 상태 초기화가 완전하지 않음
deactivateServer호출 타이밍이 일관되지 않음
현재 해결책 (단기):
- 각 입력기의
deactivateServer/activateServer에서 강제 상태 초기화 - 전환 시점에 조합 중인 문자 즉시 커밋
장기 해결 계획:
- 단일 입력기 내 모드 전환 구조로 변경
- 내장 합성기 방식으로 상태 동기화 문제 원천 차단