요약. 표준 Bluetooth HID 키보드는 Unicode 음절 한을 직접
보내지 못합니다. 폰에서 음절을 ㅎ + ㅏ + ㄴ으로 분해하고, 이를 두벌식 물리 키
g + k + s로 바꿔 보낸 뒤, 상대 기기의 한글 IME가 다시 조합하게 해야 합니다.
도토리 한글 키보드Android 폰을 표준 Bluetooth 키보드와 마우스로 페어링하므로 PC·태블릿·TV 쪽에는 별도 프로그램이 필요하지 않습니다.
폰을 실제 Bluetooth 키보드로 사용할 때와 전용 원격 제어 앱으로 사용할 때의 차이가 여기서 생깁니다. 전용 앱은 자기 프로토콜로 문자열을 보낼 수 있지만, HID 키보드는 report descriptor에 정의된 키만 보냅니다. 그 키가 어떤 문자가 되는지는 상대 기기가 결정합니다.
Bluetooth HID는 완성된 문장이 아니라 키를 보낸다
키보드 report에는 Shift 같은 modifier bit와 A·G·Enter 같은 key usage가 들어갑니다. “이 Unicode 문자열을 넣어라”라는 범용 필드는 없습니다. 영문이 단순해 보이는 것은 US 키보드 배열에서 물리 키와 표시 문자의 대응이 익숙하기 때문입니다.
한글 음절은 초성·중성·선택적 종성으로 한 번 더 분해해야 합니다. 겹모음과 겹받침은 두벌식 keystroke 여러 개로 펼쳐집니다. 상대 기기의 한글 IME가 이 키 순서를 받아 다시 음절로 조합합니다.
한 → ㅎ + ㅏ + ㄴ → g + k + s
과 → ㄱ + ㅘ → r + h + k
상대 기기 배열과 폰의 profile을 맞춘다
문장을 보내기 전에 양쪽에서 세 가지가 맞는지 확인해야 합니다.
- 상대 기기에 한국어 두벌식 입력기가 설치되어 있어야 합니다.
- 한글 자모 키가 도착할 때 상대 기기가 한글 모드여야 합니다.
- 폰에서 US 전용이 아니라 상대 기기에 맞는 입력 profile을 골라야 합니다.
긴 문장을 보내기 전에 가나다처럼 결과를 아는 probe를 보내는 방법이 유용합니다.
영문이 찍히면 Bluetooth 연결은 정상이고 상대 기기가 아직 영문 모드인 것입니다. 예상과 다른
한글이 나오면 상대 배열과 폰 mapping이 서로 다릅니다.
결과가 다를 때 확인할 것
| 표시 결과 | 가능성 높은 원인 | 조치 |
|---|---|---|
한 대신 gks | 상대 기기가 영문 모드 | 한글로 전환한 뒤 probe 재전송 |
| 예상과 다른 한글 | 상대 배열과 폰 profile 불일치 | 양쪽을 한국어 두벌식으로 통일 |
| 아무 문자도 없음 | 입력란 focus 없음, HID 연결 끊김, 폰 profile 미지원 | 입력란과 Bluetooth HID 연결 상태 확인 |
| 일부 특수 키만 다름 | 상대 기기별 키보드 동작 차이 | Windows·iOS·Android TV 중 맞는 profile 선택 |
키보드와 트랙패드 화면
같은 HID 연결로 키보드 report와 마우스 report를 함께 보냅니다. 세로 화면은 키보드 위에 트랙패드를 두고, 가로 화면은 키보드와 트랙패드를 각각 넓게 사용하도록 나눕니다. 설정에는 상대 기기 profile, 포인터 감도와 입력 보정 기능이 모여 있습니다.




호환성의 경계
Android 폰 자체가 Bluetooth HID Device profile을 제공해야 하고, 상대 기기도 표준 Bluetooth 키보드를 받아야 합니다. 언어 전환·특수 키·가로 스크롤의 최종 동작은 여전히 상대 기기에 달려 있습니다. Bluetooth HID는 대부분 단방향이므로 폰이 상대 입력란을 읽어 배열 오류를 몰래 보정할 수 없습니다. 그래서 추정보다 눈에 보이는 probe가 더 정확합니다.
도토리 한글 키보드는 하나의 Bluetooth HID 연결로 한국어 두벌식, 문장 입력, 상대 기기 profile, 입력 보정과 트랙패드를 제공합니다. 도토리 한글 키보드 자세히 보기