삼성스마트TV 앱을 개발할 때 많이 사용되는 모듈 중에 하나가 IME인데요.
IME는 사용자로부터 문자입력을 받기 위해 사용되는 모듈입니다. 만약 앱 개발할 때 이러한 것을 만들어야 한다면...
여하튼 기본적인 사용법은 아래 링크에 잘 설명이 되어 있습니다.
http://www.samsungdforum.com/upload_files/files/guide/data/html/html_3/javascript/input_control/tut_js_ime_intro.html
다만, 숫자를 입력받아야 하는 경우 매번 입력 변경을 통해 숫자키패드로 변경해야 하는 불편함이 있는데요. 예전에는 공개되어 있는 내용이 아닌 방법으로 진행하였으나 최근 포럼에 답변을 해주셨네요. 해당 내용은 아래와 같습니다.
IME 모듈에 setMode(mode)라는 메소드가 있고, mode 값으로 전달 가능한 값은 '_latin_small', '_latin_cap', '_latin_big', '_num', '_special' 이며 숫자 모드는 '_num'가 되겠습니다.
단, focus()를 실행 한 후에 setMode를 호출해야 합니다. 이유는 .focus() 실행할 경우 관련 IME 초기화 로직이 실행되어 아무리 setMode로 숫자모드를 지정하더라도 초기화 됩니다.
간단하게 샘플을 작성하면
var imePhoneNum = new IMEShell('phone_num', function(ime) {
ime.setKeypadPos(627, 25);
ime.getInputObj().focus();
ime.setMode('_num');
});
정도가 되겠네요.