Expand description
geulbus-core — 날개셋(nalgaeset) 입력 설정을 해석하는 한글 조합 엔진.
ibus 등 프런트엔드와 무관한 순수 라이브러리. 임의의 nalgaeset.xml 설정을
파싱하여(config), 값-식을 평가하고(expr), 자모 단위를 모델링하며(unit),
한글 오토마타로 음절을 조합한다(automaton, engine).
설계 근거는 저장소의 research/01..04-*.md 참고.
Modules§
- config
nalgaeset.xml(날개셋 입력 설정) 파싱과 엔진용 컴파일.- engine
- 한글 조합 엔진: 컴파일된
Layout위에서 키 입력을 받아 음절을 조합한다. - evdev
- Linux evdev keycode → 물리 키 위치의 US-QWERTY ASCII(shift 없는 기준) 매핑.
- expr
- 날개셋 값-식(value expression) 언어: 렉서 + 우선순위 파서 + 평가기.
- unit
- 날개셋 낱자(단위) 모델과 니모닉/operand 해석.
Structs§
- Config
- 전체 설정.
- Engine
- 한글 조합 엔진.
- Jamo
- 해결된 한글 자모 단위: 위치 + 조합용 자모 코드포인트.
- KeyOutcome
- 키 한 번 처리 결과.
- Layout
- 한 입력 항목을 엔진이 바로 쓰도록 컴파일한 배열.
Enums§
Functions§
- evdev_
to_ ascii - evdev keycode → 그 물리 키의 US-QWERTY 기본(비-shift) ASCII 문자.
KeyTable 인덱스(0x21..0x7E)와 같은 공간이다. 매핑이 없으면
None. - us_
qwerty_ ascii - evdev keycode + shift → US-QWERTY 가 만들어낼 ASCII(shift 반영).
이게 날개셋 KeyTable 의 인덱스 공간이다. 사용자 XKB 가 드보락이어도 같은 결과 →
물리 위치 기준으로 세벌식이 고정된다. 매핑이 없으면
None.