4.12. InputMethod
InputMethod Automata 관련 함수들이다. 각 단말기 환경에 따라 작성된 오토마타 에서 현재 입력 키 값에 따라 문자(열)를 처리하여 InputMethod 에 넘겨주게 된다. InputMethod 에 전달되는 문자(열)를 현재 조합중인 문자(열)과 조합이 끝나서 완 성된 문자(열)이 존재할 경우 완성된 문자(열)을 넘겨주게 된다.
InputMethod 와 사용자 텍스트 입력 컴포넌트에서는 오토마타로부터 넘겨받은 문 자(열)을 삽입하거나 삭제, 수정하는 작업을 처리한다.
현재 오토마타에서 지원하는 입력 모드에 대한 정보는 MH_IMAgetSurpportModeCount()와 MH_IMAgetSupportedModes(), MH_IMAgetCurrentMode를 통해서 얻을 수 있다. 여기서 MH_IMAgetSupportedModes()의 경우 리턴값은 오토마타에서 지원하는 언어코드를 넘겨주게 되며, 언어코드는 ISO 639 코드를 따른다. 단, 해당 언어가 대소문자를 구분하는 경우 각 언어코드에 “/S”,“/L”를 추가하여 지정할 수 있다. 예를 들어 영문 소문자의 경우 “EN/S”의 언어코드를 넘겨주게 된다.
한글의 경우에는 “KO”의 언어코드를 넘겨주게 된다. 숫자의 경우 언어코드에서 정 의되어 있지 않으므로, “N123”으로 정한다. 심볼 코드는 폰에서 제공하는 코드의 형태가 다양하므로 HAL 에서 정의 하지 않고, 상위의 사용자 컴포넌트에서 공통적 으로 구현하도록 한다.
관련 자료형
#define MH_IMA_NUM_MODE "N123" /* 숫자 입력 모드. 숫자의 경우 표준 언어 코드에서 지원하지 않으므로 숫자 입력에 대한 코드를 지정한다. */
#define MH_IMA_FLUSH (-99) /* 사용자에 의해서 현재 조합 중인 문자를 강제로 완성시켜야 할 경우 사용되는 특수 키. 이 키가 MH_IMAhandleInput 으로 입력된 경우 현재 조합 중인 문자를 완성하여 반환한다. 키 입력을 받아서 일정 시간 후 키가 완성되는 방식의 오토마타 구현 시, 이 키 값을 MH_pltEvent 를 이용하여 플랫폼으로 전달하여 구현할 수 있다. */MH_IMAgetSurpportModeCount
섹션 제목: “MH_IMAgetSurpportModeCount”설명
오토마타에서 지원는 입력모드의 수를 얻어온다.
프로토타입
_Int32 MH_IMAgetSurpportModeCount()매개 변수
없음반환 값
입력모드의 수
부작용
없음
참고 항목
없음
MH_IMAgetSupportedModes()
섹션 제목: “MH_IMAgetSupportedModes()”설명
오토마타에서 지원하는 입력모드의 언어코드를 얻어온다. 언어코드는 ISO 639 코드를
따른다. 단, 해당 언어가 대소문자를 구분하는 경우 각 언어코드에 "/S","/L"를 추가하여 지정할 수 있다. 예를 들어 영문 소문자의 경우 “EN/S”의 언어코드를 넘겨주게 된다. 한글의 경우에는 “KO”의 언어코드를 넘겨주게 된다.
프로토타입
char** MH_IMAgetSupportedModes()매개 변수
없음
반환 값
언어코드 (스트링 어레이 포인터)
부작용
없음
참고 항목
없음
MH_IMAsetCurrentMode
섹션 제목: “MH_IMAsetCurrentMode”설명
오토마타에서 사용할 모드를 지정한다.이 값은 MH_IMAgetSupportedModes()로 얻은 언어코드의 인덱스값이다.
프로토타입
M_Int32 MH_IMAsetCurrentMode (M_Int32 mode)매개 변수
입력모드
반환 값
지정한 입력모드가 바르게 적용된 경우 “1”. 그렇지 않은 경우 “0”.
부작용
없음
참고 항목
없음
MH_IMAgetCurrentMode()
섹션 제목: “MH_IMAgetCurrentMode()”설명
오토마타의 현재 입력모드를 얻어온다. 이 값은 MH_IMAgetSupportedModes()로 얻은 언어코드의 인덱스값이다.
프로토타입
M_Int32 MH_IMAgetCurrentMode()매개 변수
없음
반환 값
오토마타의 현재 입력모드.
부작용
없음
참고 항목
없음
MH_IMAhandleInput
섹션 제목: “MH_IMAhandleInput”설명
사용자 컴포넌트로 부터받은 키 입력을 현재 입력모드에 따라 처리하며 문자를 생성하고, 생성된 문자를 넘긴다.
(주의)MH_IMA_FLUSH가 키값으로 입력된 경우 현재 조합중인 문자를 완성하여 반환한다.
프로토타입
M_Int32 MH_IMAhandleInput(char key, M_Int32 type, char *buf1, M_Int32 *size1, char *buf2, M_Int32 *size2);매개 변수
key- [in] 입력된 키값 (MH_KeyCode에 정의된 것,MH_IMA_FLUSH)type- [in] 입력된 키 타입 (MH_Event에 정의된 것.)buf1- [out] 완성된 문자열버퍼size1- [in] 완성된 문자열 버퍼의 크기buf2- [out] 조합중인 문자열버퍼size2- [in] 조합중인 문자열 버퍼의 크기
반환 값
없음
부작용
없음
참고 항목
없음