KR20100116058A - 휴대단말에서 멀티터치 입력 처리 방법 - Google Patents

휴대단말에서 멀티터치 입력 처리 방법 Download PDF

Info

Publication number
KR20100116058A
KR20100116058A KR1020090034786A KR20090034786A KR20100116058A KR 20100116058 A KR20100116058 A KR 20100116058A KR 1020090034786 A KR1020090034786 A KR 1020090034786A KR 20090034786 A KR20090034786 A KR 20090034786A KR 20100116058 A KR20100116058 A KR 20100116058A
Authority
KR
South Korea
Prior art keywords
data
touch
buffer
event
valid
Prior art date
Application number
KR1020090034786A
Other languages
English (en)
Inventor
조영호
김동섭
김학열
김필준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020090034786A priority Critical patent/KR20100116058A/ko
Priority to US12/762,455 priority patent/US20100265200A1/en
Priority to EP10160415.5A priority patent/EP2244177A3/en
Priority to CN201010167034A priority patent/CN101872274A/zh
Priority to JP2010097748A priority patent/JP2010257458A/ja
Publication of KR20100116058A publication Critical patent/KR20100116058A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/045Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using resistive elements, e.g. a single continuous surface or two parallel surfaces put in contact
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger

Abstract

본 발명은 멀티터치 인식이 불가능한 터치스크린에서 멀티터치 발생으로 인한 오류를 방지할 수 있는 멀티 터치 입력 처리 방법 및 장치에 관한 것으로, 이러한 본 발명은 멀티터치 입력 처리 방법에 있어서, 제1터치 시 상기 제1터치에 따른 제1데이터를 표시하는 과정; 상기 제1터치가 유지된 상태에서 제2터치를 감지하는 과정; 상기 제1터치 및 제2터치에 대응하는 중간 데이터를 비유효데이터로 구분하는 과정; 상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시 상기 비유효데이터를 삭제하고, 상기 제2터치에 따른 제2데이터를 표시하는 과정을 포함한다.
휴대단말, 터치스크린, 멀티터치, 저항막 방식, 유효데이터, 버퍼

Description

휴대단말에서 멀티터치 입력 처리 방법{METHOD FOR PROCESSING MULTI-TOUCH INPUT IN A PORTABLE TERMINAL}
본 발명은 휴대단말의 터치스크린에서 터치 입력을 처리하는 방법 및 장치에 관한 것으로, 특히 멀티터치(Multi-touch) 인식이 불가능한 저항막 방식의 터치스크린에서 멀티터치 발생으로 인한 오류를 방지할 수 있는 휴대단말에서 멀티터치 입력 처리 방법에 관한 것이다.
최근 들어, 휴대단말은 사용자의 요구에 발맞추어 소형화, 슬림화 되고 있다. 이러한 추세에 발맞추어 많은 부피를 차지하는 종래 버튼 식 입력 장치의 문제를 해결하기 위한 새로운 입력 장치에 대한 관심이 증가하고 있다. 특히, 종래 입력 방식을 완전히 탈피한 터치스크린(Touch-screen)을 이용한 입력 방식이 주목을 받고 있다.
일반적으로, 터치스크린은 각종 디스플레이를 이용하는 정보통신기기와 사용자 간의 인터페이스를 구성하는 입력 장치 중 하나로, 사용자가 손가락이나 터치펜 등의 입력도구를 이용하여 화면을 직접 접촉함으로서, 상기 정보통신기기와 사용자 간의 인터페이스가 가능하게 해준다. 상기 터치스크린은 손가락, 터치펜 등의 입력 도구를 접촉하는 것만으로 남녀노소 누구나 쉽게 사용할 수 있기 때문에 ATM(Automated Teller Machine), PDA(Personal Digital Assistant), 핸드폰 등 다양한 기기에서 활용되고 있으며, 그 분야 역시도 은행, 관공서, 관광 및 교통안내 등 많은 분야에서 다양하게 활용되고 있다.
이러한 터치스크린은 저항막 방식(Resistive Overlay), 정전용량 방식(Capacitive Overlay), 표면 초음파 방식(Surface Acoustic Wave), 적외선 방식(Infrared Beam) 등 다양한 방식이 사용될 수 있다. 현재, 휴대단말에는 값이 저렴하고, 손가락 및 펜 등의 다양한 입력도구를 사용할 수 있는 저항막 방식의 터치스크린이 주로 사용되고 있다.
하지만, 상기 저항막 방식의 터치스크린은 한 번에 하나의 터치이벤트만을 처리할 수 있다. 다시 말해, 상기 저항막 방식의 터치스크린은 멀티터치 발생 시 멀티터치된 두 지점의 중간 지점이 터치된 것으로 인식하는 문제가 있다. 특히, 이러한 문제점을 가지는 터치스크린에서 문자 입력 시 사용자가 처음 터치된 지점에서 손가락을 떼기 전에 두 번째 터치 지점을 터치하여 멀티터치가 발생하게 되면, 종래 휴대단말은 터치이벤트를 인식하지 못하거나, 다른 영역을 터치한 것으로 인식하게 되는 문제가 있다. 이로 인해, 사용자가 의도한 바와 다르게 문자가 입력되는 불편함이 따른다.
본 발명의 목적은 휴대단말에서 터치스크린을 이용한 문자 입력 시, 사용자의 입력 인식 오류를 미연에 방지할 수 있는 방법을 제공함에 있다.
본 발명의 다른 목적은 멀티터치 인식이 불가능한 저항막 방식의 터치스크린에서 문자 입력 시 멀티터치 발생으로 인한 입력 오류를 방지할 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 저항막 방식의 터치스크린에서 사용자의 문자 입력 시 발생하는 인식 오류를 제거할 수 있는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 저항막 방식의 터치스크린을 이용한 사용자의 빠른 문자 입력 시 발생하는 인식 오류를 제거하여, 멀티 입력에 의한 빠른 문자 입력이 가능하게 하는 방법을 제공함에 있다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 방법은, 멀티터치 입력 처리 방법에 있어서, 제1터치 시 상기 제1터치에 따른 제1데이터를 표시하는 과정과; 상기 제1터치가 유지된 상태에서 제2터치를 감지하는 과정과; 상기 제1터치 및 제2터치에 대응하는 중간 데이터를 비유효데이터로 구분하는 과정과; 상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시 상기 비유효데이터를 삭제하고, 상기 제2터치에 따른 제2데이터를 표시하는 과정을 포함한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 방법은, 터 치스크린에서 멀티터치 입력 처리 방법에 있어서, 제1터치에 따른 제1데이터를 제1버퍼에 저장하고, 상기 제1데이터를 표시하는 과정과; 상기 제1터치가 유지된 상태에서 입력되는 제2터치에 따른 제2데이터를 제2버퍼에 저장하는 과정과; 상기 제1터치 및 제2터치 중 어느 하나의 터치가 유지된 상태에서 입력되는 제3터치에 따른 제3데이터를 제3버퍼에 저장하는 과정과; 상기 제1버퍼의 제1데이터와 상기 제3버퍼의 제3데이터를 이용하여 상기 제2버퍼의 제2데이터에 대한 유효 여부를 판별하는 과정과; 상기 제2데이터가 유효할 시 상기 제2데이터를 표시하고, 상기 제2버퍼 및 제3버퍼의 데이터들을 쉬프트하는 과정과; 상기 제2데이터가 유효하지 않을 시 상기 제2데이터를 삭제하고, 상기 제3버퍼의 데이터를 쉬프트하는 과정을 포함한다.
본 발명의 실시 예에 따르면, 상기 제1터치 시 상기 제1터치에 따른 상기 제1데이터를 제1버퍼에 저장하고 상기 제1데이터를 유효데이터로서 출력하는 과정; 상기 제1터치가 유지된 상태에서 제2터치에 대응하는 상기 비유효데이터를 제2버퍼에 저장하는 과정; 상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시 상기 제2버퍼의 상기 비유효데이터를 삭제하는 과정; 상기 제2버퍼의 비유효데이터 삭제 후 상기 제2터치에 따른 상기 제2데이터를 상기 제2버퍼로 쉬프트하는 과정을 포함하는 것을 특징으로 한다. 또한, 상기 제2데이터에 대한 유효데이터로서 출력 시 상기 제2데이터를 상기 제1버퍼의 위치로 쉬프트하고, 상기 제3버퍼에 상기 제2데이터 저장 후 나머지 다른 하나의 터치가 해제될 시 상기 제1버퍼 내지 제3버퍼를 초기화하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1터치가 유지된 상태에서 상기 제2터치가 감지될 시, 가상의 터치업 이벤트 및 가상의 터치다운 이벤트 발생에 의하여 유효데이터 및 비유효데이터를 구분하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1터치에 의한 터치다운 이벤트에 따라 상기 제1데이터를 표시하고; 상기 제1터치가 유지된 상태에서 제2터치를 감지할 시 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생하고; 상기 가상의 터치업 이벤트에 의하여 상기 제1터치에 대응하는 상기 제1데이터를 입력 완료 처리하고, 상기 가상의 터치다운 이벤트에 의하여 상기 비유효데이터를 발생하는 것을 특징으로 한다. 또한, 상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시 가상의 터치업 이벤트 및 터치다운 이벤트를 발생하고; 상기 가상의 터치업 이벤트에 의하여 상기 비유효데이터의 발생 종료 및 상기 비유효데이터를 삭제하고; 상기 터치다운 이벤트에 의하여 상기 제2터치에 대응하는 상기 제2데이터를 유효데이터로 입력하여 표시하는 것을 특징으로 한다. 또한, 상기 제1터치 및 제2터치의 모든 터치가 해제될 시 터치업 이벤트를 발생하고, 상기 터치업 이벤트에 따라 상기 제2데이터를 입력 완료 처리하는 것을 특징으로 한다. 또한, 상기 비유효데이터 삭제 및 상기 제2데이터의 유효데이터 처리 후, 상기 제2데이터를 제1버퍼의 위치로 쉬프트하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1터치가 유지된 상태에서 상기 제2터치가 감지될 시, 상기 제1터치에 따른 영역과 상기 제2터치에 따른 영역 사이에 존재하는 중간 데이터들을 상기 비유효데이터로 처리하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제된 후 해제된 지점에 제3터치가 발생할 시 설정 방식에 따라 상기 제3터치에 따른 제3데이터를 비유효데이터로 처리하거나; 또는 설정 방식에 따라 상기 제3터치에 따른 제3데이터를 유효데이터로 처리하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1터치 및 제2터치의 모든 터치가 해제될 시 상기 비유효데이터를 삭제하고, 상기 제2터치에 따른 상기 제2데이터를 입력 완료 처리하여 표시하며, 상기 제1터치 및 제2터치의 모든 터치가 해제될 시 상기 제1버퍼 내지 제3버퍼를 초기화하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1터치가 발생할 시 하드웨어적인 터치다운 이벤트를 발생하고; 상기 제1터치가 유지되는 상태에서 제2터치가 감지되면 모든 터치가 해제될 때까지 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생에 의하여 유효데이터 및 비유효데이터를 구분하고; 상기 제1터치 및 제2터치의 모든 터치가 해제될 시 하드웨어적인 터치업 이벤트를 발생하는 것을 특징으로 한다. 이때, 상기 비유효데이터에 대한 출력은 생략하고, 상기 유효데이터에 대해서만 출력하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 제1버퍼의 제1데이터와 상기 제3버퍼의 제2데이터를 이용하여 상기 제2버퍼에 저장되는 데이터의 유효 여부를 판별하고; 상기 제2버퍼에 저장되는 데이터가 유효하지 않은 경우 해당 데이터를 상기 비유효데이터로 처리하여 삭제하고; 상기 제2버퍼에 저장되는 데이터가 유효한 경우 해당 데이터를 유효데이터로서 이벤트를 처리하는 것을 특징으로 한다. 또한, 상기 제2 버퍼의 데이터에 대한 유효 여부 판별 시, 사용자로부터 발생하는 이벤트 타입 및 3개의 버퍼들의 상태를 판별한다.
본 발명의 실시 예에 따르면, 상기 이벤트 타입이 터치업 이벤트가 아니고 상기 3개의 버퍼들이 풀 상태이면, 상기 제1버퍼의 데이터와 상기 제3버퍼의 데이터를 이용하여 제2버퍼의 데이터에 대한 유효 여부를 판별하며; 상기 제2버퍼의 데이터가 유효하지 않은 경우 상기 제2버퍼의 데이터를 비유효데이터로서 삭제하고; 상기 제2버퍼의 데이터가 유효한 경우 상기 제2버퍼의 데이터를 유효데이터로서 출력하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 이벤트 타입이 터치업 이벤트이고 상기 3개의 버퍼들이 풀 상태이면, 상기 제1버퍼의 데이터와 상기 제3버퍼의 데이터를 이용하여 제2버퍼의 데이터에 대한 유효 여부를 판별하고; 상기 제2버퍼의 데이터가 유효하지 않은 경우 상기 제2버퍼의 데이터를 비유효데이터로서 삭제하고, 상기 제3버퍼의 데이터를 유효데이터로서 출력하며; 상기 제2버퍼의 데이터가 유효한 경우 상기 제2버퍼의 데이터를 유효데이터로서 출력하고, 상기 제3버퍼의 데이터를 분석하는 것을 특징으로 한다. 상기 분석에 의하여 제3버퍼의 데이터가 중간값인 경우 상기 제3버퍼의 데이터를 비유효데이터로서 삭제하고; 상기 제3버퍼의 데이터가 중간값이 아닌 경우 상기 제3버퍼의 데이터를 유효데이터로서 출력하는 것을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 이벤트 타입이 터치업 이벤트이고 상기 2개의 버퍼들이 풀 상태이면, 상기 제2버퍼의 데이터를 분석하고; 상기 제2버퍼의 데이터가 중간값인 경우 상기 제2버퍼의 데이터를 비유효데이터로서 삭제하며; 상기 제2버퍼의 데이터가 중간값이 아닌 경우 상기 제2버퍼의 데이터를 유효데이터로서 출력하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에서 제안하는 휴대단말에서 멀티터치 입력 처리 방법에 따르면, 저항막 방식과 같이 멀티터치 인식이 불가능한 터치스크린에서 소프트웨어적으로 멀티터치 인식이 가능하도록 한다. 이에 따라, 멀티터치 인식이 불가능한 터치스크린에서 사용자의 멀티터치 발생으로 인한 오류를 방지할 수 있으며, 결국 사용자는 빠른 문자 입력이 가능하다.
또한, 본 발명에 따르면 저항막 방식의 터치스크린에서 멀티터치 발생으로 인한 오류를 제거함으로써, 오류 문자 입력으로 인한 삭제 동작과 같은 불필요한 입력 동작을 줄일 수 있다. 이는 결국 문자 입력에 따른 키 입력 횟수를 줄이고, 사용자의 빠른 문자 입력이 가능하도록 한다.
또한, 본 발명에 따르면 기존의 멀티터치 인식이 불가능한 터치스크린을 가지는 휴대단말에 대해서도 하드웨어적인 수정 없이 소프트웨어 업그레이드만으로 멀티터치가 가능하도록 함으로써, 사용자는 간단하게 소프트웨어 업그레이드를 통해서 멀티터치 기능을 이용할 수 있다. 이에 따라, 사용자의 하드웨어 업그레이드에 따른 비용 부담을 줄일 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명 한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
제안하는 본 발명의 휴대단말에서 멀티터치 입력 처리 방법에 관한 것이다. 특히, 본 발명의 실시 예에 따르면, 저항막 방식(Resistive Overlay)의 터치스크린(Touch-screen)과 같은 멀티터치(Multi-touch) 인식이 불가능한 터치스크린에서, 사용자의 빠른 문자 입력 등에 의해 멀티터치가 발생할 시, 그의 인식 오류를 제거할 수 있는 방안을 제안한다. 이를 통해, 제안하는 본 발명에서는 사용자의 빠른 문자 입력 시 발생하는 인식 오류를 줄일 수 있으며, 결국 멀티터치 인식이 불가능한 터치스크린 상에서도 멀티 입력이 가능하도록 하고, 사용자의 빠른 문자 입력 동작이 가능하도록 한다.
본 발명의 실시 예에서, "터치(Touch)"는 터치스크린 상에서 사용자가 손가락 및/또는 터치펜 등의 입력도구를 이용하여 압력을 가하고 있는 상태를 나타낼 수 있다. 또한, 본 발명의 실시 예에서, "멀티터치"는 터치스크린의 적어도 두 개의 포인트에서 동시에 상기 "터치"가 발생하는 것을 나타낼 수 있다. 또한, 본 발명의 실시 예에서 "터치 해제"는 손가락이나 터치펜 등의 입력도구가 터치스크린의 특정 포인트에 압력을 가하여 "터치"가 이루어진 상태에서, 이후 상기 가해지는 압력이 해제되면서 상기 입력도구가 상기 터치스크린의 표면으로부터 이격되는 동작을 나타낼 수 있다.
그러면 이하, 첨부한 도면들을 참조하여 전술한 바와 같은 본 발명의 실시 예에 따른 멀티터치 인식이 불가능한 터치스크린을 구비하는 휴대단말에서 멀티 입력이 가능하도록 하는 본 발명의 실시 예에 대하여 살펴보기로 한다. 하지만, 본 발명이 하기에서 기술하는 내용에 한정되는 것은 아니므로, 하기의 실시 예에 의거하여 다양한 실시 예들에 적용할 수 있음에 유의하여야 한다.
도 1은 저항막 방식의 터치스크린을 가지는 일반적인 휴대단말에서 두 개의 포인트들이 동시에 눌려지는 경우에 이벤트 데이터를 출력하는 동작 예시를 도시한 도면이다.
특히, 상기 도 1에서는 문자 입력 모드에서 제1터치가 유지되는 상태에서 제2터치가 입력되는 경우의 동작 예시를 나타낸 것이다. 상기 문자 입력 모드는 다이얼링, 단문 메시지, 멀티 메시지, 메모, 이메일 작성 등의 기능이 활성화되어 사용자가 의도하는 다양한 형태의 문자를 입력할 수 있는 모드를 나타낸다.
상기 도 1을 참조하면, 상기 도 1은 저항막 방식의 터치스크린에서 문자 입력 시 두 개의 포인트가 동시에 눌려지는 경우, 즉 멀티터치가 발생하는 경우의 이벤트 데이터 출력 동작을 나타낸다. 특히, 상기 도 1에서는 저항막 방식의 터치스크린에서 사용자가 터치스크린을 통해 제공되는 가상 키패드의 키 영역들 중 숫자 1과 숫자 3을 연속되게 반복하여 입력하는 경우를 나타낸다. 따라서 상기 도 1은 상기 숫자 1과 숫자 3에 대한 사용자 입력(User Input)이 동시에 눌려지는 경우에서 발생하는 이벤트 데이터를 읽어와서 출력하는 동작 예시를 나타낸다.
상기 도 1에서, 숫자 1 및 숫자 3은 상기 가상 키패드의 키 영역들 중에서 사용자 입력이 숫자 1과 숫자 3에 연속되게 반복하여 입력됨을 나타내고, 참조부호 171 내지 참조부호 175는 상기 숫자 1 및 숫자 3이 연속되게 입력될 시, 숫자 1의 포인트와 숫자 3의 포인트가 동시에 눌려진 상태 즉, 멀티터치가 발생된 구간을 나타낸다.
참조부호 100은 사용자 입력에 따라 터치스크린으로부터 전달되는 이벤트 데이터를 나타내는 것으로, 휴대단말이 특정 키 영역이 눌려지고 있는 동안 특정 주기(예컨대, 25ms)마다 해당 포인트에 대한 이벤트 데이터를 수신하게 된다. 즉, 참조부호 100은 사용자 입력에 따른 실제 샘플링되는 좌표 데이터(x, y data)를 나타낸다.
참조부호 111 내지 113은 상기 터치스크린의 가상 키패드에서 숫자 1의 영역이 눌려지고 있는 동안 휴대단말이 특정 주기마다 인식하는 이벤트 데이터를 나타내고, 참조부호 131 내지 참조부호 132는 상기 터치스크린의 가상 키패드에서 숫자 3의 영역이 눌려지고 있는 동안 휴대단말이 특정 주기마다 인식하는 이벤트 데이터를 나타내고, 참조부호 121 내지 참조부호 123 및 참조부호 141 내지 참조부호 149는 상기 숫자 1의 영역과 상기 숫자 3의 영역이 동시에 눌려지는 구간 즉, 상기 참조부호 171 내지 참조부호 173 구간에서 휴대단말이 특정 주기마다 인식하는 이벤트 데이터를 나타낸다.
일반적으로 사용자는 숫자 1 입력을 위해, 터치스크린의 키 영역에서 숫자 1이 할당된 키 영역(이하, 숫자1영역)에 터치다운 이벤트(Touch Down Event)의 터치를 입력할 수 있다. 이후, 사용자는 숫자 3 입력을 위해, 상기 숫자1영역에 발생한 터치다운 이벤트를 터치 해제 즉, 터치업 이벤트(Touch Up Event)를 발생하고, 이 어서 상기 숫자3영역에 터치다운 이벤트의 터치를 입력함으로써, 숫자 1과 숫자 3을 입력하게 된다.
그러나 상기 도 1에 나타낸 바와 같이, 사용자가 숫자1영역과 숫자3영역을 연속하여 빠르게 반복하여 입력하는 경우, 참조부호 171 내지 참조부호 175에 나타낸 바와 같이 두 개의 포인트들이 동시에 눌려지는 경우가 빈번하게 발생할 수 있다. 이러한 경우, 저항막 방식의 터치스크린에서는 상기 두 개의 포인트들에 각각의 터치다운 이벤트가 동시에 발생함에 따라 상기 숫자1영역과 숫자3영역의 중간 영역에 대하여 데이터로 인지하거나, 또는 어떠한 값도 읽어 들이지 않게 된다.
따라서 휴대단말은 상기와 같이 두 개의 포인트들에 대하여 터치다운 이벤트가 발생하는 경우, 에러(error)로 처리하거나, 또는 사용자 희망에 따른 이벤트 데이터가 아닌 다른 데이터로 인식하여 출력하게 된다. 이러한 예시가, 상기 도 1에서 참조부호 121 내지 참조부호 123과 참조부호 141 내지 참조부호 149에 나타나 있다.
즉, 사용자는 실제 사용자 입력으로 1, 3, 1, 3, ...과 같이 숫자 1과 숫자 3을 연속으로 입력하였으나, 사용자가 이를 빠르게 입력할 경우에 숫자1영역을 누르고 있는 손가락이 떨어지기 전에 숫자3영역이 눌려질 수 있다. 이러한 경우가 반복적으로 발생하면, 반복 동작이 끝날 때까지 터치스크린에는 터치 해제 상태가 이루어지지 않고, 터치스크린에 항상 눌려짐 상태가 발생하게 된다. 이에 따라, 상기 휴대단말이 마지막 손가락이 떨어지는 시점까지 인식하는 이벤트 데이터들(좌표 데이터)은 상기 숫자1영역의 숫자 1과 숫자3영역의 숫자 3을 비롯하여, 상기 숫자1영 역 및 숫자3영역의 중간에 위치하는 숫자2영역의 숫자 2와 상기 숫자2영역의 앞뒤에 위치하는 다른 영역들의 이벤트 데이터들까지 포함하게 된다.
즉, 상기 휴대단말은 사용자가 의도하는 숫자 1 및 숫자 3과 더불어, 상기 숫자1영역과 숫자3영역의 중간에 위치하는 숫자 2도 출력하게 된다. 또한, 이러한 경우에 숫자 2를 기준으로 2의 앞뒤 데이터들과 같이 유효하지 않은 중간값들도 포함된다. 이러한 예시가 상기 도 1의 참조부호 121 내지 참조부호 123과, 참조부호 141 내지 참조부호 149에 나타나 있다.
따라서 실제로 사용자는 숫자 2가 할당된 키 영역(이하, 숫자2영역)을 누르지 않았으나, 휴대단말은 숫자2영역의 이벤트 데이터인 숫자 2(참조부호 121 내지 참조부호 123)와 상기 숫자2영역의 앞뒤의 데이터(참조부호 141 내지 참조부호 149)와 같은 비유효데이터를 인식하여 출력하게 된다. 즉, 사용자는 숫자2영역을 누르지 않았으나, 실제 표시창에 출력되는 정보는 사용자가 의도하지 않은 숫자 2에 대한 정보가 포함되어 출력되거나, 또는 일부 구간에서는 상기 숫자2영역의 앞뒤 데이터에 따른 에러 데이터로 인식되어 어떠한 값도 출력이 이루어지지 않게 된다. 따라서 마지막에 터치업 이벤트 즉, 터치 해제가 이루어진 경우 터치스크린의 표시창에 제공되는 이벤트 데이터는 1, 2, 3, 2, 3, 1, 2, ...와 같이 사용자가 의도하지 않은 부적절한 데이터가 포함되어 출력된다.
이와 같이, 기존의 저항막 방식의 터치스크린을 구비하는 휴대단말에서는 상기와 같은 경우 어떤 이벤트를 처리해야 하는지에 대한 판단이 불가능함에 따라, 사용자 입력에 따른 실제 정보와는 다른 값의 정보를 출력하게 된다.
이상에서 살펴본 바와 같이, 저항막 방식의 터치스크린과 같이 멀티터치 인식이 불가능한 터치스크린에서는 한 번에 하나의 터치 이벤트만을 처리할 수 있다. 다시 말해, 상기 터치스크린은 멀티터치 발생 시 멀티터치가 이루어진 두 개의 포인트들 간의 중간 포인트가 터치된 것으로 인식하게 된다. 즉, 터치스크린 상에 하나의 제1터치 입력이 유지되는 상태에서 제2터치 입력이 발생할 경우, 전술한 바와 같이 해당 터치 이벤트를 제대로 인식하지 못하거나, 다른 영역을 터치한 것으로 인식하게 된다. 결국 사용자가 의도한 바와 다르게 문자가 입력되게 된다.
도 2a 및 도 2b는 본 발명의 실시 예에 따른 휴대단말에서 두 개의 포인트들이 동시에 눌려지는 경우에 이벤트 데이터를 출력하는 동작 예시를 도시한 도면이다.
특히, 상기 도 2a 및 도 2b에서는 문자 입력 모드에서 사용자의 제1터치가 유지되는 상태에서 제2터치가 입력되는 경우의 동작 예시를 나타낸 것이다. 이러한 경우 본 발명의 실시 예에서는 휴대단말에서 가상의 이벤트를 발생하여 비유효데이터 및 유효데이터를 구분하고, 비유효데이터에 대해서는 이벤트 데이터로 발생하지 않고, 유효데이터에 대해서만 이벤트 데이터로 발생한다. 이에 따라, 본 발명에서는 사용자가 의도하는 문자 입력이 가능하며, 상기 도 2a 및 도 2b는 이러한 본 발명의 동작을 나타낸다. 본 발명의 실시 예에서 상기 문자 입력 모드는 다이얼링, 단문 메시지, 멀티 메시지, 메모, 이메일 작성 등의 기능이 활성화되어 사용자가 의도하는 다양한 형태의 문자를 입력할 수 있는 모드를 나타낸다.
상기 도 2a 및 도 2b를 참조하면, 상기 도 2a 및 도 2b는 저항막 방식의 터 치스크린에서 문자 입력 시 두 개의 포인트들이 동시에 눌려지는 즉, 멀티터치가 발생하는 경우의 이벤트 데이터 출력 동작을 나타낸다. 특히, 상기 도 2a 및 도 2b에서는 사용자가 터치스크린을 통해 제공되는 가상 키패드의 키 영역들 중 숫자 1과 숫자 3을 연속되게 반복하여 입력할 시, 상기 숫자 1과 숫자 3에 대한 사용자 입력이 동시에 눌려지는 경우에서 발생하는 이벤트를 비유효데이터와 유효데이터로 구별하고, 유효데이터에 대해서만 출력하는 동작 예시를 나타낸다.
이때, 상기 도 2a 및 도 2b를 설명함에 있어서, 상기 도 1과 대응되는 부분들에 대해서는 그에 대한 구체적 설명은 생략하기로 한다. 예를 들면, 상기 도 2a 및 도 2b에서 참조부호 200은 상기 도 1의 참조부호 100에 대응되는 부분으로, 그에 대한 설명은 생략한다.
상기 도 2a 및 도 2b에서, 참조부호 240 및 참조부호 250은 본 발명의 가상 이벤트를 통해 비유효데이터와 유효데이터를 구분하고, 비유효데이터에 대해서는 이벤트 데이터 출력을 생략하고, 유효데이터에 대해서만 이벤트 데이터를 출력하는 상태를 나타낸 것이다.
상기 참조부호 240 및 참조부호 250에서, 참조부호 210은 사용자가 터치스크린을 통해 제공되는 가상 키패드의 키 영역들 중 특정 키 영역에 발생하는 하드웨어적인 터치다운 이벤트 즉, 사용자에 의해 입력되는 터치다운 이벤트를 휴대단말이 인지하는 시점을 나타낸 것으로, 가상 키패드의 키 영역들 중 어느 하나의 포인트에 사용자 입력이 최초 발생된 경우를 나타낸다.
참조부호 230은 사용자가 터치스크린을 통해 제공되는 가상 키패드의 특정 키 영역에 발생하는 하드웨어적인 터치업 이벤트 즉, 사용자에 의해 입력된 터치의 해제에 따라 발생하는 터치업 이벤트를 휴대단말이 인지하는 시점을 나타낸 것으로, 가상 키패드의 키 영역들 중 적어도 하나의 포인트에 발생된 사용자 입력이 해제 즉, 모든 터치가 해제되는 경우를 나타낸다.
참조부호 211 내지 참조부호 216 및 참조부호 231 내지 참조부호 236은 가상 키패드의 키 영역들 중 두 개의 키 영역들이 동시에 눌려지는 멀티터치가 발생하는 경우, 휴대단말이 유효데이터 생성을 위해 가상으로 발생하는 가상의 터치다운 이벤트(Virtual Touch Down event)(참조부호 211 내지 참조부호 216) 및 가상의 터치업 이벤트(Virtual Touch Up event)(참조부호 231 내지 참조부호 236)를 나타낸다.
상기 도 2a 및 도 2b에 나타낸 바와 같이, 사용자가 터치스크린을 통해 제공되는 가상 키패드의 키 영역들 중 숫자 1과 숫자 3을 연속되게 반복하여 입력할 시, 상기 숫자 1과 숫자 3에 대한 사용자 입력이 동시에 눌려지는 구간이 발생할 수 있다. 이때, 본 발명의 실시 예에 따르면, 숫자 1이 할당된 키 영역(숫자1영역)과 숫자 3이 할당된 키 영역(숫자3영역)이 동시에 눌려지는 구간에서, 참조부호 211 내지 참조부호 216 및 참조부호 231 내지 참조부호 236에 나타낸 바와 같이 가상의 터치다운 이벤트 및 가상의 터치업 이벤트를 발생한다.
먼저, 상기 도 2a를 참조하면, 상기 도 2a는 사용자가 제1터치다운 이벤트(예컨대, 숫자1영역 상의 터치다운 이벤트)를 유지하는 상태에서 제2터치다운 이벤트(예컨대, 숫자3영역 상의 터치다운 이벤트)를 발생하는 경우를 나타낸다. 따라서 상기 도 2a에서 나타낸 데이터는, 숫자1영역이 눌려진 상태에서 숫자3영역이 눌려 지는 경우에, 상기 휴대단말이 인식하는 모든 이벤트 데이터들 즉, 비유효데이터와 유효데이터가 혼재된 데이터들을 나타낼 수 있다. 상기 휴대단말은 사용자 입력에 대응하여 1, 2, 3, 2, 1, ..., 1, 2, 3과 같은 이벤트 데이터를 인식할 수 있다.
다음으로, 상기 도 2b를 참조하면, 상기 도 2b는 상기 도 2a에서와 같이 휴대단말이 인식하는 모든 이벤트 데이터들 중, 가상 이벤트를 통해 구별한 비유효데이터를 제거하고, 표시창에 실제 출력하는 데이터를 유효데이터만으로 구성하여 출력하는 동작을 나타낸다. 따라서 상기 도 2b에서 나타낸 데이터는, 상기 휴대단말이 인식하는 모든 이벤트 데이터들 중에서, 가상의 터치다운 이벤트 및 가상의 터치업 이벤트에 따라 구분되는 이벤트 데이터들 즉, 유효데이터들을 나타낼 수 있다. 상기 휴대단말은 사용자 입력에 대응하여 1, 3, 1, 3, ..., 1, 3과 같이 비유효데이터가 제거된 유효데이터만을 출력한다. 즉, 휴대단말은 실제 사용자가 빠르게 입력한 물리적인 입력인 숫자 1과 숫자 3에 대한 정보만을 출력할 수 있다.
구체적으로, 상기 도 2a 및 도 2b에서와 같이, 본 발명에서 실제 이벤트 데이터의 도출은, 사용자 입력 즉, 하드웨어적인 터치다운 이벤트가 없는 상태에서는 대기상태를 유지하고, 하드웨어적인 터치다운 이벤트가 발생되는 순간부터 일정 주기(예컨대, 25ms 또는 4ms 등)마다 터치스크린으로부터 전달되는 데이터를 읽고 분석한다. 여기서, 상기 휴대단말은 설정된 샘플링 주기마다 터치다운 이벤트에 따른 실제 샘플링 데이터를 획득하게 된다.
이때, 참조부호 240에 나타낸 바와 같이, 사용자의 터치다운 이벤트 이후에 터치업 이벤트 즉, 터치 해제가 이루어지 전까지는 일정 주기에 의해 많은 데이터 가 확보될 수 있다. 휴대단말은 이러한 데이터의 분포에 따라서 사용자가 특정 영역을 계속하여 누르는 것인지, 아니면 특정 영역이 눌린 상태에서 계속적인 변화가 있는 것인지를 판단할 수 있다. 휴대단말은 각 데이터 간의 거리, 기울기 및 분포 등을 통해 상기의 판단을 수행할 수 있다.
여기서, 본 발명의 실시 예에서는, 두 개의 포인트들이 동시에 눌려지는 구간에서 가상의 터치다운 이벤트 및 가상의 터치업 이벤트를 발생한다. 이를 통해, 상기 휴대단말은 비유효 영역의 비유효데이터와 유효 영역의 유효데이터를 구분할 수 있다. 이후, 상기 휴대단말은 비유효 영역의 비유효데이터에 대해서는 출력으로 처리하지 않고 제거하며, 유효 영역의 유효데이터에 대해서만 출력으로 처리함으로써, 사용자의 양손을 이용하는 빠른 문자 입력이 가능하게 한다. 예를 들면, 본 발명의 휴대단말은 (Touch Down, Move, Move, ..., Move, Virtual Touch Up), (Virtual Touch Down, Move, Move, ..., Move, Virtual Touch Up), ..., (Virtual Touch Down, Move, Move, ..., Move, Touch Up)을 통해서 유효데이터를 생성할 수 있다. 이하, 가상의 터치다운 이벤트 및 가상의 터치업 이벤트를 이용한 본 발명의 필터링 동작에 대하여 살펴보기로 한다.
도 3은 본 발명의 실시 예에 따른 휴대단말에서 문자 입력 시 발생하는 멀티터치를 처리하는 동작을 도시한 도면이다.
상기 도 3을 참조하면, 먼저 휴대단말은 사용자 요청에 따른 문자 입력 모드를 활성화할 수 있다(S301단계). 예를 들면, 상기 휴대단말은 다이얼링, 단문 메시지, 멀티 메시지, 메모, 이메일 작성 등의 문자 입력 기능을 실행할 수 있다. 이 때, 휴대단말은 터치스크린 상에 가상 키패드와 표시창 등을 표시할 수 있다. 이하에서는 상기 가상 키패드를 이용하여 숫자를 입력하는 것을 예로서 설명하기로 한다. 따라서 본 발명에 따르면 숫자뿐만 아니라, 자국문자, 영문자 및 특수문자 등 모든 문자의 입력 시에도 적용될 수 있음은 물론이다.
다음으로, 상기 휴대단말은 상기 문자 입력 모드에서 사용자의 터치다운 이벤트 입력이 감지되면(S303단계), 상기 터치다운 이벤트에 대응하는 데이터를 읽어와 문자 입력을 처리한다(S305단계). 즉, 상기 휴대단말은 사용자가 문자를 입력하기 위하여 상기 가상 키패드의 특정 영역을 터치하는 경우, 터치된 포인트의 좌표 데이터를 터치스크린으로부터 전송받을 수 있다. 이때, 상기 휴대단말은 상기 전송되는 좌표 데이터를 본 발명의 3개의 버퍼들 중 첫 번째 위치의 버퍼 예컨대, 제1버퍼에 저장함과 아울러, 상기 좌표 데이터에 대응하는 숫자 정보를 상기 표시창에 출력한다.
다음으로, 상기 휴대단말은 상기 문자 입력 처리 후 사용자로부터 상기에서 입력된 터치에 대한 터치 해제가 있는지 여부를 판별한다(S307단계). 즉, 상기 휴대단말은 상기 S303단계에서 발생된 상기 터치다운 이벤트에 대한 터치업 이벤트가 발생하는지 여부를 판별한다. 이때, 사용자가 터치업 이벤트를 발생하면(S307단계의 YES), 즉, 상기 가상 키패드 상에 발생된 터치를 해제하면, 상기 휴대단말은 상기에서 출력한 정보의 표시를 유지하는 상태에서 문자 입력을 위한 프로세싱을 초기화하고, 다음 입력을 대기할 수 있다(S309단계).
반면, 사용자로부터 터치업 이벤트가 없으면(S307단계의 NO), 즉, 상기 터치 다운 이벤트를 유지하는 상태이면, 상기 터치다운 이벤트에 따라 해당 포인트가 눌러진 상태에서 다른 포인트에 대한 새로운 터치다운 이벤트가 있는지 여부를 체크한다(S311단계).
다음으로, 상기 S311단계의 체크결과 새로운 터치다운 이벤트가 없으면(S311단계의 NO), 상기 휴대단말은 설정 동작을 수행할 수 있다(S313단계). 예를 들어, 상기 S303단계의 터치다운 이벤트에 대한 다른 액션(action) 예컨대, 터치 해제 등이 발생할 때까지 상기 터치다운 이벤트에 따라 전달되는 샘플링 데이터를 무브(Move) 처리함으로써, 해당 데이터의 표시를 유지할 수 있다. 또는 롱 프레스(long press)에 따른 기능이 설정된 경우, 상기 터치다운 이벤트가 설정된 시간 이상 입력될 시 이를 롱 프레스에 의한 기능으로 인지하고, 해당 키에 매핑된 롱 프레스 기능 예를 들면, 해당 키에 매핑된 전화번호에 의한 다이얼링 등을 수행할 수 있다. 또는 롱 프레스에 따른 기능이 설정된 경우, 상기 터치다운 이벤트가 설정된 시간 이상 입력될 시 이를 롱 프레스에 의한 기능으로 인지하고, 상기 표시창에 표시되는 숫자를 다른 문자로 변환하여 표시할 수도 있다.
다음으로, 상기 S311단계의 체크결과 새로운 터치다운 이벤트가 있으면(S311단계의 YES), 상기 휴대단말은 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생한다(S315단계). 이때, 상기 휴대단말은 상기 가상의 터치업 이벤트를 통해 상기 S303단계의 터치다운 이벤트에 따른 데이터(유효데이터)의 입력을 완료 처리하고, 상기 가상의 터치다운 이벤트를 통해 새로운 데이터(비유효데이터)의 입력을 발생한다. 이때, 상기 휴대단말은 두 포인트들의 터치에 따라 발생되는 두 포인트 들 간의 중간값(비유효데이터)의 데이터를 3개의 버퍼들 중 두 번째 위치의 버퍼 예컨대, 제2버퍼에 저장하고, 그의 출력은 생략한다(S317단계). 이러한 상기 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생하는 동작에 대해서는 후술하는 도면을 참조하여 상세히 설명하기로 한다.
다음으로, 상기 휴대단말은 터치업 이벤트의 발생 여부를 체크한다(S319단계). 이때, 상기 터치업 이벤트가 발생하지 않으면(S319단계의 NO), 상기 휴대단말은 상기 S317단계로 진행하여 상기와 같이 터치스크린으로부터 전달되는 중간값인 비유효데이터를 계속하여 상기 제2버퍼에 누적하고, 상기 비유효데이터에 대한 처리를 수행한다.
반면, 상기 터치업 이벤트가 발생하면(S319단계의 YES), 상기 휴대단말은 상기 터치업 이벤트가 어느 하나의 포인트에 대한 터치업 이벤트인지 또는 두 포인터들에 대한 터치업 이벤트 즉, 모든 터치에 대한 터치 해제인지 여부를 판별한다(S321단계).
다음으로, 상기 S321단계의 판별결과 어느 하나의 포인트에 대한 터치업 이벤트이면(S321단계의 YES), 상기 휴대단말은 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생한다(S323단계). 이때, 상기 휴대단말은 상기 가상의 터치업 이벤트를 통해 상기 S315단계의 가상의 터치다운 이벤트에 따른 데이터(비유효데이터)의 입력을 완료 처리하고, 상기 가상의 터치다운 이벤트를 통해 새로운 데이터(유효데이터)의 입력을 발생한다. 이때, 상기 휴대단말은 상기 가상의 터치다운 이벤트에 따른 비유효데이터를 상기 가상의 터치업 이벤트 발생 시까지 제2버퍼에 누 적하여 저장할 수 있으며, 상기 가상의 터치다운 이벤트에 따라 생성하는 새로운 데이터(유효데이터)를 3개의 버퍼들 중 세 번째 위치의 버퍼 예컨대, 제3버퍼에 저장할 수 있다.
다음으로, 상기 휴대단말은 상기 가상의 터치업 이벤트를 통해 상기 가상의 터치다운 이벤트에 따른 비유효데이터의 입력을 완료 처리하고, 상기 제2버퍼에 저장하는 상기 비유효데이터를 삭제한다(S325단계). 그리고 휴대단말은 상기 가상의 터치다운 이벤트에 따라 상기 제3버퍼에 저장하는 상기 유효데이터를 읽어와 문자 입력을 처리한다(S327단계). 즉, 상기 휴대단말은 상기 제3버퍼에 저장하는 데이터를 상기 표시창에 출력한다.
다음으로, 상기 휴대단말은 상기 문자 입력 처리 후 모든 터치에 대한 해제 여부를 판별할 수 있다(S329단계). 즉, 상기 휴대단말은 상기 S321단계에서 어느 하나의 포인트에 대한 터치업 이벤트 이후, 나머지 다른 하나의 포인트에 대한 터치업 이벤트 즉, 터치 해제가 이루어지는지를 판별할 수 있다. 이때, 모든 포인트들에 대한 터치 해제를 감지하면(S329단계의 YES), 상기 휴대단말은 S337단계로 진행하여 터치업 이벤트를 발생할 수 있다. 반면, 상기 S321단계에서 어느 하나의 포인트에 대한 터치업 이벤트 이후, 나머지 다른 하나의 포인트에 대해 계속하여 터치가 발생하는 경우(S329단계의 NO), 상기 휴대단말은 상기 S311단계로 진행하여, 전술한 과정을 문자 입력 모드 종료 시까지 수행할 수 있다.
다음으로, 상기 S321단계의 판별결과 모든 포인트들에 대한 터치업 이벤트이면(S321단계의 NO), 상기 휴대단말은 가상의 터치업 이벤트 및 가상의 터치다운 이 벤트를 발생한다(S331단계). 이때, 상기 휴대단말은 상기 가상의 터치업 이벤트를 통해 상기 S315단계의 가상의 터치다운 이벤트에 따른 데이터(비유효데이터)의 입력을 완료 처리하고, 상기 가상의 터치다운 이벤트를 통해 새로운 데이터(유효데이터)의 입력을 발생한다. 이때, 상기 휴대단말은 상기 가상의 터치다운 이벤트에 따른 비유효데이터를 상기 가상의 터치업 이벤트 발생 시까지 제2버퍼에 누적하여 저장할 수 있으며, 상기 가상의 터치다운 이벤트에 따라 생성하는 새로운 데이터(유효데이터)를 제3버퍼에 저장할 수 있다.
다음으로, 상기 휴대단말은 상기 제2버퍼에 저장하는 상기 비유효데이터를 상기 가상의 터치업 이벤트에 대응하여 입력 완료 처리하고, 해당 데이터를 삭제한다(S333단계). 그리고 상기 휴대단말은 상기 가상의 터치다운 이벤트에 따라 상기 제3버퍼에 저장하는 상기 유효데이터를 읽어와 문자 입력을 처리한다(S335단계). 즉, 상기 휴대단말은 상기 제3버퍼에 저장하는 데이터를 상기 표시창에 출력한다.
다음으로, 상기 휴대단말은 사용자의 상기 모든 터치 해제 시, 터치업 이벤트 발생으로 인지하고(S337단계), 상기 S331단계에서 발생한 가상의 터치다운 이벤트에 따른 데이터 입력을 완료한다. 그리고 상기 휴대단말은 상기 제3버퍼의 데이터의 표시를 유지하는 상태에서 문자 입력을 위한 프로세싱을 초기화하고, 다음 입력을 대기할 수 있다(S339단계).
도 4는 본 발명의 실시 예에 따른 저항막 방식의 터치스크린에서 멀티터치 입력 처리 과정을 설명하기 위한 예시도이다.
상기 도 4를 참조하면, 먼저, 상기 휴대단말은 문자 입력 모드 예컨대, 다이 얼링, 단문 메시지, 멀티 메시지, 메모, 이메일 작성 등의 기능이 활성화 되면, 참조부호 S401의 예시와 같이 터치스크린의 일측 예컨대, 하단에 가상 키패드(430)를 표시하고, 상단에 표시창(410)을 표시할 수 있다. 이하에서는 상기 가상 키패드(430)를 이용하여 숫자를 입력하는 것을 예로 설명하기로 한다.
다음으로, 참조부호 S403에 나타낸 바와 같이, 사용자가 숫자 1을 입력하기 위해 왼손을 이용하여 상기 가상 키패드(430)의 숫자1영역을 터치하면, 상기 휴대단말은 터치된 포인트의 좌표를 터치스크린으로부터 전송받아 제1버퍼에 저장하고, 상기 좌표에 대응하는 데이터 즉, 숫자 1을 상기 표시창(410)에 표시한다.
다음으로, 참조부호 S405에 나타낸 바와 같이, 사용자가 상기 숫자1영역에서 손을 떼기 전에, 숫자 3을 입력하기 위해 상기 가상 키패드(430)의 숫자3영역을 오른손으로 터치하면, 상기 휴대단말은 숫자1영역과 숫자3영역 중간 지점의 좌표(이하, 비유효데이터)를 터치스크린으로부터 전송받아 제2버퍼에 저장할 수 있다. 이때, 상기 휴대단말은 상기 제2버퍼에 저장하는 데이터를 비유효한 것으로 판단하여, 상기 참조부호 S405에 나타낸 바와 같이 상기 비유효데이터 즉, 숫자 2의 표시를 생략한다.
다음으로, 참조부호 S407에 나타낸 바와 같이, 사용자가 숫자1영역을 터치한 왼손을 떼어내면, 상기 휴대단말은 사용자의 오른손이 터치하고 있는 포인트의 좌표(이하, 유효데이터)를 제3버퍼에 저장하고, 상기 좌표에 대응하는 데이터 즉, 숫자 3을 상기 표시창(410)에 표시한다. 여기서, 상기 휴대단말은 전술한 바와 같이 두 개의 포인트들이 동시에 눌려진 상태에서, 먼저 입력된 하나의 포인트(숫자1영 역)에 대한 터치가 해제될 시, 나중에 입력된 다른 하나의 포인트(숫자3영역)의 데이터를 유효데이터로 판단하고, 상기 유효데이터를 제3버퍼에 저장함과 아울러, 상기 유효데이터를 상기 표시창(410)에 표시할 수 있다.
이때, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터 즉, 숫자 2의 데이터는 삭제한다. 그리고 상기 휴대단말은 상기 제3버퍼의 데이터에 대한 입력 완료 처리 시, 상기 제3버퍼를 초기의 제1버퍼로서의 기능으로 동작하여 다음 입력을 대기할 수 있다. 이러한 경우, 제1버퍼 내지 제3버퍼는 하나씩 쉬프트되어 동작할 수 있다. 즉, 제3버퍼가 초기의 제1버퍼로서의 동작 시, 초기의 제1버퍼가 초기의 제2버퍼로서 역할을 하며, 제2버퍼가 초기의 제3버퍼로서 역할을 하게 된다. 여기서, 상기 버퍼 간의 쉬프트는 실제 버퍼의 쉬프트가 아닌 기능적인 쉬프트로서, 저장 데이터를 순차적으로 쉬프트하는 동작을 나타낼 수 있다. 이러한 예시에 대해서는 후술하기로 한다.
다음으로, 참조부호 S409에 나타낸 바와 같이, 사용자가 상기 숫자3영역에서 손을 떼기 전에, 숫자 7을 입력하기 위해 상기 가상 키패드(430)의 숫자7영역을 왼손으로 터치하게 되면, 상기 휴대단말은 숫자3영역과 숫자7영역 중간 포인트의 좌표(이하, 비유효데이터)를 터치스크린으로부터 전송받아 비어 있는 쉬프트된 제1버퍼에 저장할 수 있다. 이때, 상기 휴대단말은 상기 쉬프트된 제1버퍼에 저장하는 데이터를 비유효한 것으로 판단하여, 상기 참조부호 S409에 나타낸 바와 같이 상기 비유효데이터 즉, 숫자 5의 표시를 생략한다.
다음으로, 참조부호 S411에 나타낸 바와 같이, 사용자가 숫자3영역을 터치한 오른손을 떼어내면, 상기 휴대단말은 사용자의 왼손이 터치하고 있는 포인트의 좌표(이하, 유효데이터)를 쉬프트된 제2버퍼에 저장하고, 상기 좌표에 대응하는 데이터 즉, 숫자7을 상기 표시창(410)에 표시한다. 여기서, 상기 휴대단말은 전술한 바와 같이 두 개의 포인트들이 동시에 눌려진 상태에서, 먼저 입력된 하나의 포인트(숫자3영역)에 대한 터치가 해제될 시, 나중에 입력된 다른 하나의 포인트(숫자7영역)의 데이터를 유효데이터로 판단하고, 상기 유효데이터를 쉬프트된 제2버퍼에 저장함과 아울러, 상기 유효데이터를 상기 표시창(410)에 표시할 수 있다.
이때, 상기 휴대단말은 상기 쉬프트된 제1버퍼에 저장되는 데이터 즉, 숫자 5의 데이터는 삭제한다. 그리고 상기 휴대단말은 상기 쉬프트된 제2버퍼의 데이터에 대한 입력 완료 처리 시, 상기 쉬프트된 제2버퍼를 상기 쉬프트된 제3버퍼(초기 제1버퍼)로서의 기능으로 동작하여 다음 입력을 대기할 수 있다.
한편, 전술한 바와 같은 과정을 수행하는 중에, 이후 사용자가 참조부호 S413에 나타낸 바와 같이 모든 터치를 해제하면, 상기 휴대단말은 문자 입력을 위한 프로세싱을 초기화하고, 다음 입력을 대기할 수 있다. 이때, 상기 각 버퍼들 즉, 제1버퍼 내지 제3버퍼를 초기화할 수 있다.
이상에서 설명한 본 발명은 종래에는 멀티터치가 발생하면 중간 지점에 해당하는 문자가 인식되어 표시되거나, 아무런 문자도 표시되지 않는 오류를 해결할 수 있어 사용자의 편의성을 향상시킬 수 있다.
도 5는 본 발명의 실시 예에 따른 저항막 방식의 터치스크린에서 멀티터치 입력 처리 과정을 설명하기 위한 다른 예시의 도면이다.
상기 도 5에 도시한 바와 같이, 참조부호 510은 전술한 바와 같이 가상 키패드(430)에 제공되는 키 영역의 일부를 나타낸 것이고, 참조부호 520은 사용자 입력에 따른 데이터의 버퍼 운용 과정을 설명하기 위해 나타낸 것이고, 참조부호 530은 사용자 입력에 따른 데이터가 표시창(410)에 표시되는 과정을 설명하기 위해 나타낸 것이다.
상기 도 2a 내지 도 5를 참조하면, 먼저 문자 입력 모드가 실행된 초기 상태에서는 제1버퍼 내지 제3버퍼가 초기화되어 있음을 알 수 있다. 이후, 사용자가 상기 가상 키패드(430)의 숫자1영역을 터치하면, 상기 휴대단말은 상기 숫자1영역에 대응하는 데이터를 유효데이터로서 제1버퍼에 저장하고, 상기 유효데이터(숫자 1)를 표시창(410)에 표시한다.
다음으로, 사용자가 상기 숫자1영역을 누른 상태에서 숫자3영역을 터치하면, 상기 휴대단말은 상기 숫자1영역과 숫자3영역의 중간값을 터치스크린으로부터 전달받게 되고, 상기 중간값을 비유효데이터로 처리한다. 이때, 상기 휴대단말은 상기 비유효데이터를 제2버퍼에 저장하고, 상기 비유효데이터(숫자 2)의 표시를 생략한다.
다음으로, 사용자가 숫자3영역의 터치는 유지하는 상태에서 상기 숫자1영역의 터치를 해제하면, 상기 휴대단말은 상기 숫자3영역에 대응하는 데이터를 유효데이터로서 제3버퍼에 저장하고, 상기 유효데이터(숫자 3)를 표시창(530)에 표시한다. 이때, 상기 휴대단말은 상기 제2버퍼에 저장되는 비유효데이터(숫자 2)를 삭제한다. 그리고 상기 휴대단말은 상기 제3버퍼의 데이터에 대한 입력 완료 처리 시, 상기 제3버퍼를 초기의 제1버퍼로서의 기능으로 동작하게 된다.
즉, 상기 도 5에 나타낸 바와 같이, 각 버퍼가 쉬프트되어 있음을 알 수 있다. 이때, 상기 도 5에서는 각 버퍼들이 쉬프트된 것으로 나타내었으나, 이는 설명의 편의를 위해 나타낸 것이며, 실제 버퍼의 쉬프트가 아닌 기능적인 쉬프트로서 동작할 수 있다. 즉, 저장되는 데이터가 쉬프트된다. 상기 도 5를 예시로 살펴보면, 상기 제3버퍼의 유효데이터(숫자 3)가 상기 제1버퍼로 쉬프트되어 위치할 수 있다.
다음으로, 사용자가 상기 숫자3영역을 누른 상태에서 숫자7영역을 터치하면, 상기 휴대단말은 상기 숫자3영역과 숫자7영역의 중간값을 터치스크린으로부터 전달받게 되고, 상기 중간값을 비유효데이터로 처리한다. 이때, 상기 휴대단말은 상기 비유효데이터를 쉬프트되는 제1버퍼에 저장하고, 상기 비유효데이터(숫자 5)의 표시를 생략한다.
다음으로, 사용자가 숫자3영역과 숫자7영역의 모든 터치를 해제하면, 상기 휴대단말은 상기 숫자7영역에 대응하는 데이터를 유효데이터로서 쉬프트되는 제2버퍼에 저장하고, 상기 유효데이터(숫자 7)를 표시창(530)에 표시한다. 이때, 상기 휴대단말은 쉬프트되는 제1버퍼에 저장되는 상기 비유효데이터(숫자 5)를 삭제한다. 그리고 상기 휴대단말은 모든 터치 해제 시 문자 입력을 위한 프로세싱을 초기화하고, 이때 제1버퍼 내지 제3버퍼에 대해서도 초기화한다.
이상에서와 같이, 사용자의 제1터치 입력에 따른 제1데이터를 저장하는 첫 번째 버퍼는, 사용자의 하드웨어적인 터치다운 이벤트에 의해 발생된 유효데이터를 저장하며, 상기 유효데이터의 이벤트 전달을 수행한다. 즉, 표시창에 표시하게 된다.
또한, 상기 제1터치가 입력된 상태에서 제2터치가 입력되면, 가상의 터치업 이벤트에 의해 상기 제1데이터의 입력을 완료 처리하고, 가상의 터치다운 이벤트에 의해 발생된 제2데이터를 두 번째 버퍼에 저장하며, 상기 제2데이터를 비유효데이터로서 처리한다. 즉, 상기 비유효데이터의 이벤트 전달을 생략하고, 표시창에 표시를 생략한다. 이때, 상기 첫 번째 버퍼 및 두 번째 버퍼에 저장된 제1데이터 및 제2데이터에 의한 이벤트 전달은 생략된다.
또한, 상기 제2터치가 입력된 상태에서 상기 제1터치가 해제되면, 가상의 터치업 이벤트에 의해 상기 제2데이터의 입력을 완료 처리하고, 가상의 터치다운 이벤트에 의해 발생된 제3데이터를 세 번째 버퍼에 저장하며, 상기 제3데이터를 유효데이터로서 처리한다. 즉, 상기 유효데이터의 이벤트 전달을 통해 표시창에 표시한다. 이때, 상기 두 번째 버퍼에 저장된 제2데이터를 유효하지 않은 비유효데이터로 판단함에 따라, 상기 두 번째 버퍼에 저장된 제2데이터를 버리고, 상기 세 번째 버퍼의 제3데이터에 대해서만 이벤트 전달을 처리한다.
또한, 상기 제2터치가 입력된 상태에서 제3터치가 입력되면, 가상의 터치업 이벤트에 의해 상기 제3데이터의 입력을 완료 처리하고, 상기 세 번째 버퍼의 제3데이터를 첫 번째 버퍼로 쉬프트하고, 전술한 과정의 반복에 의하여 가상의 터치다운 이벤트에 의해 발생된 제4데이터를 두 번째 버퍼에 저장하며, 상기 제4데이터를 비유효데이터로서 처리한다.
다음으로, 이하에서는 본 발명의 실시 예에 의한 가상 이벤트(Virtual Event) 즉, 가상의 터치업 이벤트 및 가상의 터치다운 이벤트가 생성되는 형태 및 상기 가상 이벤트가 생성되는 경우에서 유효데이터 및 비유효데이터를 필터링 하는 동작에 대하여 하기 도 6 내지 도 7을 참조하여 개략적으로 살펴보기로 한다.
도 6은 본 발명의 실시 예에 따른 휴대단말에서 가상 이벤트 발생 시 유효데이터 및 비유효데이터를 구분하는 동작 설명을 위해 도시한 도면이다.
상기 도 6을 참조하면, 참조부호 610 내지 참조부호 640은 가상 이벤트가 생성되는 다양한 형태의 예시를 도시한 것이다. 상기 참조부호 610은 숫자1영역과 숫자3영역이 눌려진 상태일 때, 숫자1영역과 숫자3영역 사이의 중간값인 비유효데이터(예컨대, 숫자2영역의 데이터)가 발생되는 경우의 예시를 나타낸다. 참조부호 620은 숫자1영역과 숫자9영역이 눌려진 상태일 때, 숫자1영역과 숫자9영역 사이의 중간값인 비유효데이터(예컨대, 숫자5영역의 데이터)가 발생되는 경우의 예시를 나타낸다. 참조부호 630은 숫자2영역과 숫자7영역 사이의 중간값인 비유효데이터(예컨대, 숫자5영역의 데이터 또는 숫자4영역과 숫자5영역 사이의 중간값)가 발생되는 경우의 예시를 나타낸다. 참조부호 640은 숫자1영역과 숫자7영역이 눌려진 상태일 때, 숫자1영역과 숫자9영역 사이의 중간값인 비유효데이터(예컨대, 숫자4영역의 데이터)가 발생되는 경우의 예시를 나타낸다.
이와 같이, 본 발명의 실시 예에 따르면, 두 개의 포인트들이 함께 눌려진 상태에서 전달되는 데이터가, 두 개의 포인트들 사이 범위에 존재하는 중간값이면 유효하지 않은 데이터로 판단하고, 해당 데이터를 비유효데이터로서 처리할 수 있 다. 즉, 전술한 예시에 의하면 비유효데이터는 두 번째 버퍼에 저장되고, 이후 두 번째 버퍼에 저장되는 내용은 삭제 처리한다.
이때, 상기에서는 두 번째 버퍼에 저장되는 데이터를 비유효데이터로 처리하는 것으로 설명하였으나, 반드시 본 발명이 이에 한정되는 것은 아니다. 따라서 후술하는 바와 같이, 상기 두 번째 버퍼에 저장되는 데이터의 유효 여부를 판단하는 프로세스를 수행하고, 그에 따라 상기 두 번째 버퍼에 저장되는 데이터의 유효 여부를 결정할 수도 있다. 이에 대한 동작을 후술하는 도면을 참조하여 설명하기로 한다.
도 7은 본 발명의 실시 예에 따른 휴대단말에서 멀티터치 입력에 따른 처리 과정의 다른 예시를 도시한 도면이다.
상기 도 7을 참조하면, 상기 도 7의 (a)는 전술한 도 2a 및 도 2b에서 살펴본 바와 같이, 사용자의 연속된 입력에 의해 두 개의 포인트들이 함께 눌려지는 구간에서 인식되는 비유효데이터를 가상 이벤트를 통해 제거하고, 사용자 입력에 따른 유효데이터만을 출력하는 예시를 나타낸 것이다.
이때, 상기 도 7의 (b)에 나타낸 바와 같이, 가상의 터치다운 이벤트 및 가상의 터치업 이벤트 상태에서 연속으로 같은 키 영역이 눌려지는 경우가 발생할 수 있다. 예를 들면, 사용자가 숫자1영역에 제1터치를 유지하는 상태에서 숫자3영역에 대해 제2터치 입력을 발생하고, 이어서, 상기 숫자3영역에 대한 제2터치 입력을 해제한 후 다시 상기 숫자3영역에 제3터치 입력을 수행하는 경우가 발생할 수 있다.
이러한 경우, 휴대단말은 숫자1영역의 제1터치가 유지되는 상태에서 상기 숫 자3영역의 제2터치가 발생할 시, 가상의 터치다운 이벤트 및 가상의 터치업 이벤트를 통해 비유효데이터를 제거하고 유효데이터만을 생성하여 출력한다. 구체적으로, 상기 휴대단말은 제1터치가 유지된 상태에서 제2터치가 입력된 후 해제될 시, 참조부호 710과 같이 가상의 터치업 이벤트 발생을 통해 상기 숫자3영역의 데이터에 대한 입력을 완료 처리한다. 이후, 상기 제1터치가 유지된 상태에서 새로운 터치(상기 제3터치)가 발생하면, 가상의 터치다운 이벤트 및 가상의 터치업 이벤트를 발생하여 비유효데이터를 제거하고 유효데이터만을 생성하여 출력한다.
이때, 참조부호 720 및 참조부호 730과 같이 상기 제3터치에 따른 가상의 터치다운 이벤트가 발생된 키 영역이 이전에 입력된 숫자3영역에 대응하는 경우, 상기 휴대단말은 설정 방식에 따라 다음과 같이 처리할 수 있다.
즉, 상기 도 7의 (b)와 같이, 가상의 터치다운 이벤트 및 가상의 터치업 이벤트 상태에서는, 일반적으로 연속으로 같은 키 영역에 대한 사용자 입력이 발생할 확률이 미비하다. 즉, 이러한 경우는 좌표 데이터가 체터링(chattering)이나 기타의 비정상 상황으로 인해 발생하는 데이터일 경우가 많다. 따라서 본 발명에서는 상기한 경우에 대해서도 설정 방식에 따라 필터링을 수행하여 비유효데이터로 처리하거나, 또는 해당 데이터를 유효데이터로 처리하여 이벤트로 전달할 수 있다.
상기 비유효데이터로 처리하는 경우를 예시로 살펴보면 다음과 같다. 즉, 상기 참조부호 710과 같이 가상의 터치업 이벤트 발생 후 상기 참조부호 720과 같이 가상의 터치다운 이벤트가 발생할 수 있다. 이때, 상기 가상의 터치다운 이벤트(참조부호 720)가 이전에 입력된 포인트의 좌표와 동일한 포인트의 좌표에 대한 가상 의 터치다운 이벤트이면, 현재의 이벤트를 처리하지 않고 비유효데이터 처리에서와 같이 무시하도록 할 수 있다. 즉, 상기 휴대단말은 그 전에 처리한 이벤트와 현재 처리하게 될 이벤트를 비교하여 동일한 내용이면 현재의 이벤트에 대한 처리를 비유효데이터 처리와 같은 방식으로 처리할 수 있다.
예를 들어, 상기 도 7의 (b)에 나타낸 바와 같이 이전 이벤트가 숫자 3에 대한 이벤트이고, 현재 이벤트도 그 분석결과 숫자 3에 대한 이벤트이면, 중복된 이벤트로 간주하여 현재의 이벤트만 무시하도록 한다.
이러한 방식은 휴대단말 제조 시 또는 사용자 설정에 따라 이전 이벤트와 현재 이벤트가 동일한 내용인 경우에도, 전술한 본 발명의 방식에 따라 유효데이터로서 처리하거나, 또는 비유효데이터로서 처리할 수 있다.
한편, 이상에서는 3개의 버퍼들 중 두 번째 버퍼에 비유효데이터가 저장되고, 상기 비유효데이터에 대해서 삭제하는 동작에 대하여 설명하였다. 즉, 하나의 포인트에 입력된 터치가 유지된 상태에서 다른 하나의 포인트에 새로운 터치가 입력되는 경우에 발생하는 비유효데이터를 상기 두 번째 버퍼에 저장하고, 이후 상기 두 번째 버퍼의 비유효데이터에 대해서는 이벤트를 처리하지 않고 삭제하는 동작을 설명하였다.
이때, 두 개의 포인트가 동시에 눌려지는 경우, 전술한 바와 같은 비유효데이터가 발생하지 않는 경우가 발생할 수 있다. 즉, 사용자가 처음 터치된 포인트에서 손가락을 떼기 전에 두 번째 터치 포인트를 터치하여 멀티터치가 발생하게 되더라도, 가운데 영역에서 가상의 터치다운 및 터치업 이벤트가 생성되지 않을 수 있 다. 이러한 경우는 주로 양손으로 빠르게 문자 입력 시 나타나는 경향이 있다. 따라서 이하에서는 두 개의 포인트들에 의한 멀티터치가 발생하는 경우, 그에 대응하는 데이터(예컨대, 비유효데이터)의 전달 유무에 따라 두 번째 버퍼에 저장되는 데이터의 처리 방안에 대하여 살펴보기로 한다.
도 8a 및 도 도 8b는 본 발명의 실시 예에 따른 저항막 방식의 터치스크린에서 멀티터치 입력 처리 과정을 설명하기 위한 다른 예시의 도면이다.
상기 도 8a 및 도 8b에 도시한 바와 같이, 참조부호 810은 전술한 바와 같이 가상 키패드(430)에 제공되는 키 영역의 일부를 나타낸 것이고, 참조부호 820은 사용자 입력에 따른 데이터의 버퍼 운용 과정을 설명하기 위해 나타낸 것이고, 참조부호 830은 사용자 입력에 따른 데이터가 표시창(410)에 표시되는 과정을 설명하기 위해 나타낸 것이다.
상기 도 8a 및 도 8b를 참조하면, 먼저 문자 입력 모드가 실행된 초기 상태에서는 참조부호 S811에 나타낸 바와 같이 제1버퍼 내지 제3버퍼가 초기화되어 있음을 알 수 있다. 이후, 참조부호 S813에 나타낸 바와 같이 사용자가 상기 가상 키패드(430)의 숫자1영역을 터치하면, 상기 휴대단말은 상기 숫자1영역에 대응하는 데이터를 유효데이터로서 제1버퍼에 저장하고, 상기 유효데이터(숫자 1)를 표시창(410)에 표시한다.
다음으로, 참조부호 S815에 나타낸 바와 같이, 사용자가 상기 숫자1영역을 누른 상태에서 숫자3영역을 터치할 수 있다. 이러한 경우 상기 휴대단말은 숫자1영역과 숫자3영역의 중간값을 터치스크린으로부터 전달받게 되면, 전술한 도 5의 과 정을 수행할 수 있다. 반면, 상기 숫자1영역과 숫자3영역의 중간값이 가상적으로 가상의 터치다운 이벤트 및 가상의 터치업 이벤트가 만들어지지 않으면, 상기 참조부호 S815에 나타낸 바와 같이 나타날 수 있다. 이때, 참조부호 S819에 나타낸 바와 같이 사용자가 상기 숫자3영역의 터치는 유지하는 상태에서 상기 숫자1영역의 터치를 해제하면, 상기 휴대단말은 가상의 터치업 이벤트 및 가상의 터치다운 이벤트에 따라 숫자3영역의 데이터를 생성하여 제2버퍼에 저장한다. 이때, 상기 제2버퍼에 저장하는 데이터(숫자 3)의 표시는 생략한다.
다음으로, 상기 참조부호 S819와 같은 상태에서, 참조부호 S821에 나타낸 바와 같이 사용자가 상기 숫자1영역과 상기 숫자3영역의 터치를 모두 해제할 수 있다. 이러한 경우, 상기 휴대단말은 터치업 이벤트에 따라 제2버퍼에 저장하는 데이터(숫자 3)에 대한 이벤트를 처리하여 유효데이터로서 출력한다. 즉, 상기 참조부호 S821에 나타낸 바와 같이 표시창(410)에 숫자 3을 표시한다.
한편, 상기 S819와 같은 상태에서, 상기 휴대단말은 모든 터치 해제, 멀티터치에 따른 중간값이 계속하여 전달되지 않는 경우, 또는 멀티터치에 따른 중간값이 전달되는 경우에 따라 참조부호 S821, 참조부호 S831 및 참조부호 S841 중 어느 하나로 진행할 수 있다.
즉, 상기 참조부호 S821은 상기 참조부호 S819와 같은 상태에서 모든 터치가 해제되는 경우의 처리 동작의 예시를 나타낸 것이고, 참조부호 S831 내지 참조부호 S837은 상기 참조부호 S819와 같은 상태에서 연속되게 입력되는 멀티터치에 의해 중간값이 생성되지 않는 경우의 처리 동작의 예시를 나타낸 것이고, 참조부호 S841 내지 참조부호 S849는 상기 참조부호 S819와 같은 상태에서 연속되게 입력되는 멀티터치에 의해 중간값이 생성되는 경우의 처리 동작 예시를 나타낸 것이다.
먼저, 사용자가 모든 터치를 해제하는 경우의 동작을 살펴보면 다음과 같다.
즉, 상기 참조부호 S819와 같은 상태에서, 사용자는 참조부호 S821에 나타낸 바와 같이 상기 숫자3영역의 터치를 해제할 수 있다. 즉, 모든 터치를 해제할 수 있다. 이러한 경우, 상기 휴대단말은 터치업 이벤트에 따라 제2버퍼에 저장하는 데이터(숫자 3)에 대한 이벤트를 처리하여 유효데이터로서 출력한다. 즉, 상기 참조부호 S821에 나타낸 바와 같이 표시창(410)에 숫자 3을 표시한다.
다음으로, 상기 참조부호 S819와 같은 상태에서 입력되는 멀티터치에 의해 중간값이 전달되지 않는 경우의 동작을 살펴보면 다음과 같다.
즉, 상기 참조부호 S819와 같은 상태에서, 사용자가 참조부호 S831에 나타낸 바와 같이 상기 숫자3영역을 누른 상태에서 숫자7영역을 터치할 수 있다. 이러한 경우에서 상기 휴대단말은 상기 숫자3영역과 숫자7영역의 중간값에 대한 가상의 터치다운 이벤트 및 가상의 터치업 이벤트가 터치스크린으로부터 전달되지 않으면, 버퍼나 디스플레이 상에는 변화를 발생하지 않는다. 이어서, 사용자가 참조부호 S832에 나타낸 바와 같이 숫자7영역을 누른 상태에서 숫자3영역에 대한 터치를 해제하면, 상기 휴대단말은 가상의 터치업 이벤트 및 가상의 터치다운 이벤트에 따라 숫자7영역의 데이터를 생성하여 제3버퍼에 저장한다.
그리고 상기 휴대단말은 상기 제1버퍼 및 제3버퍼에 저장되는 데이터를 이용하여 상기 제2버퍼의 데이터에 대한 유효 여부를 판별한다. 만약, 상기 제2버퍼의 데이터가 유효데이터인 경우, 상기 휴대단말은 상기 제2버퍼의 데이터(숫자 3)에 대한 이벤트를 처리하여 상기 참조부호 S832에 나타낸 바와 같이 유효데이터로서 출력한다. 즉, 상기 참조부호 S832에 나타낸 바와 같이 표시창(410)에 숫자 3을 표시한다.
이어서, 상기 휴대단말은 상기 제2버퍼의 데이터에 대한 이벤트 처리 후, 참조부호 S833에 나타낸 바와 같이 상기 제2버퍼의 데이터 및 제3버퍼의 데이터를 쉬프트 한다. 즉, 상기 휴대단말은 첫 번째 위치의 상기 제1버퍼를 클리어한 후, 두 번째 위치의 상기 제2버퍼에 저장된 데이터(숫자 3)를 첫 번째 위치의 상기 제1버퍼로 이동하여 저장하고, 상기 제3버퍼에 저장된 데이터(숫자 7)를 두 번째 위치의 상기 제2버퍼로 이동하여 저장한다. 상기 도 8a 및 도 8b에서는 설명의 편의를 위하여 각 버퍼의 데이터들이 쉬프트되는 것으로 나타내었다.
다음으로, 상기 참조부호 S833과 같은 상태에서, 사용자는 참조부호 S834에 나타낸 바와 같이 상기 숫자7영역을 누른 상태에서 숫자9영역을 터치할 수 있다. 이때, 상기 숫자7영역과 숫자9영역의 중간값이 터치스크린으로부터 전달되지 않으면, 상기 휴대단말은 버퍼나 디스플레이 상에는 변화를 발생하지 않는다. 이어서, 사용자가 참조부호 S835에 나타낸 바와 같이 숫자9영역을 누른 상태에서 숫자7영역에 대한 터치를 해제하면, 상기 휴대단말은 가상의 터치업 이벤트 및 가상의 터치다운 이벤트에 따라 숫자9영역의 데이터를 생성하여 세 번째 버퍼 즉, 제3버퍼에 저장한다.
그리고 상기 휴대단말은 상기 제1버퍼 및 제3버퍼에 저장되는 데이터(숫자 3, 숫자 9)를 이용하여 상기 제2버퍼의 데이터(숫자 7)에 대한 유효 여부를 판별한다. 만약, 상기 데이터가 유효데이터인 경우, 상기 참조부호 S835와 같이 상기 제2버퍼의 데이터(숫자7)에 대한 이벤트를 처리하여 상기 참조부호 S835에 나타낸 바와 같이 유효데이터로서 출력한다. 즉, 상기 참조부호 S835에 나타낸 바와 같이 표시창(410)에 숫자 7을 표시한다.
다음으로, 상기 제2버퍼에 대한 출력을 진행함에 따라, 상기 휴대단말은 참조부호 S836에 나타낸 바와 같이, 각 버퍼의 데이터를 쉬프트 한다. 즉, 상기 휴대단말은 첫 번째 위치의 상기 제1버퍼를 클리어한 후, 두 번째 위치의 상기 제2버퍼에 저장된 데이터(숫자 7)를 첫 번째 위치의 상기 제1버퍼로 쉬프트하여 저장하고, 상기 세 번째 위치의 제3버퍼에 저장된 데이터(숫자 9)를 두 번째 위치의 상기 제2버퍼로 쉬프트하여 저장한 후 대기한다. 이때, 상기 숫자9영역에 대한 터치를 해제하면 참조부호 S837에 나타낸 바와 같이, 상기 참조부호 S819 상태에서 상기 참조부호 S821로의 진행과 대응하는 과정을 통해 상기 제2버퍼의 데이터(숫자 9)에 대한 이벤트를 처리한 후 완료하게 된다.
다음으로, 상기 참조부호 S819와 같은 상태에서 입력되는 멀티터치에 의해 중간값이 전달되는 경우의 동작을 살펴보면 다음과 같다.
즉, 상기 참조부호 S819와 같은 상태에서, 사용자가 참조부호 S841에 나타낸 바와 같이 상기 숫자3영역을 누른 상태에서 숫자7영역을 터치할 수 있다. 이러한 경우에서 상기 휴대단말은 상기 숫자3영역과 숫자7영역의 중간값을 터치스크린으로부터 전달받게 되면, 상기 휴대단말은 상기 중간값을 제3버퍼에 저장한다.
그리고 상기 휴대단말은 상기 제1버퍼 및 제3버퍼에 저장되는 데이터(숫자 1, 숫자 5)를 이용하여 상기 제2버퍼의 데이터(숫자 3)에 대한 유효 여부를 판별한다. 만약, 상기 제2버퍼의 데이터(숫자 3)가 유효데이터인 경우, 상기 제2버퍼의 데이터(숫자 3)에 대한 이벤트를 처리하여 상기 참조부호 S841에 나타낸 바와 같이 유효데이터로서 출력한다. 즉, 상기 참조부호 S841에 나타낸 바와 같이 표시창(410)에 숫자 3을 표시한다.
이어서, 상기 휴대단말은 상기 제2버퍼의 데이터에 대한 이벤트 처리 후, 참조부호 S842에 나타낸 바와 같이 상기 제2버퍼의 데이터 및 제3버퍼의 데이터를 쉬프트 한다. 즉, 상기 휴대단말은 첫 번째 위치의 상기 제1버퍼를 클리어한 후, 두 번째 위치의 상기 제2버퍼에 저장된 데이터(숫자 3)를 첫 번째 위치의 상기 제1버퍼로 이동하여 저장하고, 상기 제3버퍼에 저장된 데이터(숫자 5)를 두 번째 위치의 상기 제2버퍼로 이동하여 저장한다. 상기 도 8a 및 도 8b에서는 설명의 편의를 위하여 각 버퍼의 데이터들이 쉬프트되는 것으로 나타내었다.
다음으로, 상기 참조부호 S842와 같은 상태에서, 참조부호 S843에 나타낸 바와 같이 사용자로부터 상기 숫자7영역의 터치는 유지하는 상태에서 상기 숫자3영역의 터치가 해제되면, 상기 휴대단말은 가상 이벤트에 대응하여 상기 제3버퍼의 데이터(숫자 7) 입력을 완료 처리한다. 즉, 상기 숫자7영역의 데이터(숫자 7)를 생성하여 상기 제3버퍼에 저장한다.
그리고 상기 참조부호 S843에 나타낸 바와 같이, 상기 휴대단말은 상기 제1버퍼 및 제3버퍼에 저장되는 데이터(숫자 3, 숫자 7)를 이용하여 상기 제2버퍼의 데이터(숫자 5)에 대한 유효 여부를 판별한다. 만약, 상기 제2버퍼의 데이터(숫자 5)가 비유효데이터인 경우, 상기 휴대단말은 참조부호 S843에 나타낸 바와 같이 상기 제2버퍼의 데이터(숫자 5)를 삭제한다. 그리고 상기 휴대단말은 참조부호 S844에 나타낸 바와 같이 상기 제3버퍼의 데이터(숫자 7)를 쉬프트하고 대기한다. 즉, 상기 휴대단말은 상기 제2버퍼를 클리어한 후, 상기 제3버퍼에 저장된 데이터(숫자 7)를 상기 제2버퍼로 쉬프트하여 저장한다.
다음으로, 이하 참조부호 S845 내지 참조부호 S849의 과정은 전술한 과정에 반복되는 형태를 보여준다. 그리고 참조부호 S848에서 참조부호 S849로의 변화는 전술한 참조부호 S819에서 참조부호 S821로 변화하는 과정에 대응한다. 따라서 이하에서는 상기 참조부호 S845 내지 참조부호 S849에 대한 동작 설명은 생략하기로 한다.
그러면 이하, 상기 도 8a 및 도 8b의 예시를 참조하여 살펴본 바와 같은 본 발명의 동작을 제어하는 방법에 대하여 살펴보기로 한다.
도 9a 및 도 9b는 본 발명의 상기 도 8a 및 도 8b에 따른 이벤트 처리 과정의 예시를 도시한 도면이다. 이때, 상기 도 9a 및 도 9b를 설명함에 있어서, 사용자의 최초 입력에 따른 이벤트에 대한 처리가 이루어진 상태에서 다음 동작을 수행하는 과정을 나타낸다. 예를 들면, 사용자의 최초 터치 입력에 따라 3개의 버퍼들 중 첫 번째 위치의 버퍼 예컨대, 제1버퍼에 상기 터치 입력에 따른 데이터가 저장되고, 그에 따른 이벤트가 처리 즉, 표시창에 출력된 상태에서의 동작을 나타낸다.
상기 도 8a 내지 도 9b를 참조하면, 먼저 휴대단말은 사용자로부터 터치스크 린 상에 이벤트가 발생하면, 해당 이벤트를 분석한다(S901단계). 그리고 상기 휴대단말은 상기 이벤트 분석에 의하여, 상기 이벤트가 터치스크린 상의 모든 터치가 해제되는 터치업 이벤트인지 또는 특정 어느 하나의 포인트가 유지된 상태에서 나머지 다른 하나의 터치가 해제되는 가상의 터치업 이벤트인지 여부를 판단한다(S903단계).
다음으로, 상기 S903단계의 판단결과 이벤트가 터치업 이벤트가 아니면(S903단계의 NO), 상기 휴대단말은 3개의 버퍼들에 모두 데이터가 저장되었는지 여부를 확인한다(S905단계). 즉, 상기 3개의 버퍼들이 모두 풀(Full) 상태인지 여부를 체크한다. 이때, 상기 3개의 버퍼들이 모두 풀 상태가 아니면 상기 S901단계로 진행하여 다음으로 발생하는 이벤트를 계속하여 체크할 수 있다.
반면, 상기 3개의 버퍼들이 모두 풀 상태이면(S905단계의 YES), 상기 휴대단말은 상기 3개의 버퍼들 중 두 번째 위치의 버퍼 예컨대, 제2버퍼의 내용을 분석한다(S907단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 분석하여, 해당 데이터가 유효데이터인지 또는 비유효데이터인지 그의 유효 여부를 판별한다(S909단계). 상기 제2버퍼의 내용에 대한 분석 및 그의 유효 여부를 판별하는 동작에 대해서는 후술하는 도 10 및 도 11을 참조하여 설명하기로 한다.
다음으로, 상기 S909단계의 판별결과 상기 제2버퍼의 내용이 비유효데이터인 것으로 판별하면(S909단계의 YES), 상기 휴대단말은 상기 제2버퍼의 내용을 삭제한다(S911단계). 즉, 상기 제2버퍼에 저장된 데이터를 비유효데이터로서 처리하여 해당 데이터를 삭제한다. 이때, 상기 제2버퍼의 데이터에 대한 이벤트 처리 즉, 표시 창에 의한 출력은 생략한다. 이어서, 상기 휴대단말의 상기 3개의 버퍼들 중 세 번째 위치의 버퍼 예컨대, 제3버퍼의 내용을 쉬프트 한다(S913단계). 이때, 상기 제3버퍼의 내용에 대하여 이벤트를 바로 처리하지 않고, 전술한 도 8a 및 도 8b를 참조한 설명 부분에서 설명한 바와 같이, 제2버퍼로 쉬프트하여 전체 버퍼 3개가 모두 채워지도록 대기할 수 있다.
다음으로, 상기 S909단계의 판별결과 상기 제2버퍼의 내용이 유효데이터인 것으로 판별하면(S909단계의 NO), 상기 휴대단말은 상기 제2버퍼의 내용에 대하여 이벤트를 처리한다(S915단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 유효데이터로서 이벤트를 처리하여, 표시창에 출력한다. 이후, 상기 휴대단말은 상기 제2버퍼의 내용 및 제3버퍼의 내용을 쉬프트 한다(S917단계). 예를 들면, 상기 제2버퍼에 저장된 데이터를 상기 제1버퍼로 이동하여 저장하고, 상기 제3버퍼에 저장된 데이터를 상기 제2버퍼로 이동하여 저장하거나, 또는 상기 제2버퍼를 첫 번째 위치의 버퍼로서 그의 역할을 변경하고, 상기 제3버퍼를 두 번째 위치의 버퍼로서 그의 역할을 변경할 수 있다. 이후, 상기 휴대단말은 다음 발생하는 이벤트 분석을 통해 전술한 동작을 재수행할 수 있다.
한편, 상기 S903단계의 판단결과 이벤트가 터치업 이벤트이면(S903단계의 YES), 상기 휴대단말은 3개의 버퍼들에 모두 데이터가 저장되었는지 여부를 확인한다(S931단계). 즉, 상기 3개의 버퍼들이 모두 풀 상태인지 여부를 체크한다.
이때, 상기 S931단계의 확인결과 상기 3개의 버퍼들이 모두 풀 상태이면(S931단계의 YES), 상기 휴대단말은 상기 3개의 버퍼들 중 두 번째 위치의 버퍼 예컨대, 제2버퍼의 내용을 분석한다(S933단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 분석하여, 해당 데이터가 유효데이터인지 또는 비유효데이터인지 그 유효 여부를 판별한다(S935단계). 상기 제2버퍼의 내용에 대한 분석 및 그의 유효 여부를 판별하는 동작에 대해서는 후술하는 도 10 및 도 11을 참조하여 설명하기로 한다.
다음으로, 상기 S935단계의 판별결과, 상기 제2버퍼의 내용이 비유효데이터인 것으로 판별하면(S935단계의 YES), 상기 휴대단말은 상기 제2버퍼의 내용을 삭제한다(S937단계). 즉, 상기 제2버퍼에 저장된 데이터를 비유효데이터로서 처리하여 해당 데이터를 삭제한다. 이때, 상기 제2버퍼의 데이터에 대한 이벤트 처리 즉, 표시창에 의한 출력은 생략한다. 이어서, 상기 휴대단말의 상기 3개의 버퍼들 중 세 번째 위치의 버퍼 예컨대, 제3버퍼의 내용에 대하여 이벤트를 처리한다(S939단계). 즉, 상기 휴대단말은 상기 제3버퍼에 저장되는 데이터를 유효데이터로서 이벤트를 처리하여, 표시창에 출력한다. 이후, 상기 휴대단말은 상기 3개의 버퍼들을 클리어 즉, 초기화한다(S949단계).
다음으로, 상기 S935단계의 판별결과, 상기 제2버퍼의 내용이 유효데이터인 것으로 판별하면(S935단계의 NO), 상기 휴대단말은 상기 제2버퍼의 내용에 대하여 이벤트를 처리한다(S941단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 유효데이터로서 이벤트를 처리하여, 표시창에 출력한다. 이어서, 상기 휴대단말은 상기 3개의 버퍼들 중 세 번째 위치의 버퍼 예컨대, 제3버퍼의 내용을 분석한다(S943단계). 즉, 상기 휴대단말은 상기 제3버퍼에 저장되는 데이터를 분석하여, 해당 데이터가 중간값의 데이터인지 또는 미리 할당된 포인트들에 대한 데이터인지 여부를 판별한다(S945단계). 이러한 판별은 상기와 같이 정상적인 포인트들에 대한 데이터 값이 미리 저장되고, 상기 각 포인트들에 대한 데이터 값과 상기 제3버퍼에 저장되는 데이터를 비교하여, 상기 제3버퍼의 데이터가 미리 저장된 데이터 값의 중간에 위치하는 경우, 이를 중간값으로 판단할 수 있다.
상기 S945단계의 판별결과 상기 제3버퍼의 내용이 중간값이 아닌 경우(S945단계의 NO), 상기 휴대단말은 상기 제3버퍼의 내용에 대하여 이벤트를 처리한다(S947단계). 즉, 상기 휴대단말은 상기 제3버퍼에 저장되는 데이터를 유효데이터로서 이벤트를 처리하여, 표시창에 출력한다. 이후, 상기 휴대단말은 상기 3개의 버퍼들을 클리어 즉, 초기화한다(S949단계).
상기 S945단계의 판별결과 상기 제3버퍼의 내용이 중간값인 경우(S945단계의 YES), 상기 휴대단말은 상기 제3버퍼의 내용에 대하여 이벤트 처리 없이 클리어 한다(S951단계). 즉, 상기 휴대단말은 상기 제3버퍼에 저장되는 데이터를 비유효데이터로서 처리하고, 그에 따른 이벤트 처리를 생략하고, 상기 3개의 버퍼들을 초기화한다.
한편, 상기 S931단계의 확인결과 상기 3개의 버퍼들이 모두 풀 상태가 아니면(S931단계의 NO), 상기 휴대단말은 상기 3개의 버퍼들 중 2개의 버퍼들에 데이터가 저장되었는지 여부를 확인한다(S953단계). 즉, 상기 2개의 버퍼들이 풀 상태인지 여부를 체크한다.
이때, 상기 S953단계의 확인결과 상기 2개의 버퍼들이 풀 상태이면(S953단계 의 YES), 상기 휴대단말은 상기 2개의 버퍼들 중 두 번째 위치의 버퍼 예컨대, 제2버퍼의 내용을 분석한다(S955단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 분석하여, 해당 데이터가 중간값의 데이터인지 또는 미리 할당된 포인트들에 대한 데이터인지 여부를 판별한다(S957단계). 이러한 판별은 상기와 같이 정상적인 포인트들에 대한 데이터 값이 미리 저장되고, 상기 각 포인트들에 대한 데이터 값과 상기 제2버퍼에 저장되는 데이터를 비교하여, 상기 제2버퍼의 데이터가 미리 저장된 데이터 값의 중간에 위치하는 경우, 이를 중간값으로 판단할 수 있다.
상기 S957단계의 판별결과 상기 제2버퍼의 내용이 중간값이 아닌 경우(S957단계의 NO), 상기 휴대단말은 상기 제2버퍼의 내용에 대하여 이벤트를 처리한다(S959단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 유효데이터로서 이벤트를 처리하여, 표시창에 출력한다. 이후, 상기 휴대단말은 상기 2개의 버퍼들을 클리어 즉, 초기화한다(S961단계).
상기 S957단계의 판별결과 상기 제2버퍼의 내용이 중간값인 경우(S957단계의 YES), 상기 휴대단말은 상기 제2버퍼의 내용에 대하여 이벤트 처리 없이 클리어 한다(S963단계). 즉, 상기 휴대단말은 상기 제2버퍼에 저장되는 데이터를 비유효데이터로서 처리하고, 그에 따른 이벤트 처리를 생략하고, 상기 2개의 버퍼들을 초기화한다.
한편, 상기 S953단계의 판별결과 상기 2개의 버퍼들이 풀 상태가 아니면(S953단계의 NO), 상기 휴대단말은 이벤트 처리 없이 클리어 한다(S965단계). 즉, 상기 휴대단말은 초기 제1버퍼에 저장되는 데이터를 클리어하고, 상기 제1버퍼 를 초기화한다.
도 10 및 도 11은 본 발명의 상기 도 8a 내지 도 9b에 다른 유효데이터 및 비유효데이터 분석 과정의 상세 예시를 도시한 도면이다.
특히, 상기 도 10 및 도 11에서는 전술한 도 9에서 3개의 버퍼들 중 두 번째 위치의 버퍼 예컨대, 제2버퍼에 저장되는 데이터의 유효 여부를 판별하는 동작을 나타낸다. 이때, 상기 도 11의 B1, B2 및 B3의 표기는 상기 도 10 및 도 11의 설명에 대응하는 제1버퍼, 제2버퍼, 제3버퍼를 지칭하는 표기를 나타낸 것으로, 설명을 편의를 위해 각 버퍼들에 저장되는 데이터의 위치에 매핑하여 나타낸 것이다.
상기 도 8a 내지 도 10을 참조하면, 휴대단말은 상기 제2버퍼에 저장되는 데이터(제2데이터)의 유효 여부 판별을 위해, 먼저 상기 3개의 버퍼들 중 첫 번째 위치의 버퍼 예컨대, 제1버퍼에 저장되는 데이터(제1데이터)와 세 번째 위치의 버퍼 예컨대, 제3버퍼에 저장되는 데이터(제3데이터)를 비교할 수 있다(S1001단계). 여기서, 상기 제1데이터 내지 제3데이터는 x,y 좌표 데이터를 나타낼 수 있다. 이때, 상기 휴대단말은 상기 제1데이터 및 제3데이터의 Y축 데이터들 간의 거리값과 미리 설정된 임계값을 비교하거나, 또는 상기 제1데이터 및 제3데이터의 X축 데이터들 간의 거리값과 미리 설정된 임계값을 비교하거나, 또는 미리 정의된 순차조건에 대응하는지 여부를 판별하는 등의 동작을 수행할 수 있다.
먼저, 본 발명의 실시 예에 따라 상기 제1데이터의 Y축 데이터(y1)와 제3데이터의 Y축 데이터(y3) 간의 거리값(제1거리값)을 미리 설정된 임계값(제1임계값)과 비교하는 동작에 대하여 살펴보면 다음과 같다.
즉, 상기 휴대단말은 상기 제1거리값이 상기 제1임계값 이하인지 여부를 판별한다(S1003단계). 여기서, 상기 제1거리값은 상기 y1과 y3 간의 거리를 나타내는 것이고, 상기 제1임계값은 각 데이터들의 Y축 데이터들(y1, y3) 간의 Y축 거리가 설정된 범위 내에 속하는지 여부를 판별하기 위한 기준 값을 나타낸다. 이러한 예시가 상기 도 11에 나타나 있다.
상기 도 11의 참조부호 1110 내지 참조부호 1130을 참조하면, y1과 y3이 동일 선상에 위치하여 있음을 알 수 있다. 이러한 경우, 상기 y1과 y3 간의 거리 즉, 제1거리값은 "0"에 근접하며, 만약 제1임계값이 "1"의 값으로 설정되는 경우, 상기 제1거리값은 상기 제1임계값의 범위에 속하는 값으로 판단할 수 있다. 반면, 상기 도 11의 참조부호 1140 내지 참조부호 1180을 참조하면, y1과 y3이 서로 떨어져 있음을 알 수 있다. 이러한 경우, 상기 y1과 y3 간의 거리 즉, 제1거리값이 "2"라고 하고, 상기 제1임계값이 "1"의 값으로 설정되는 경우, 상기 제1거리값은 상기 제1임계값의 범위 밖의 값으로 판단할 수 있다.
다시 상기 도 10을 참조하면, 상기 S1003단계의 판별결과 상기 제1거리값이 상기 제1임계값 이하이면(S1003단계의 YES), 상기 휴대단말은 상기 제2버퍼의 제2데이터의 X축 데이터(x2)를 체크하여(S1005단계), 상기 제2데이터의 X축 데이터(x2)가 상기 제1데이터의 X축 데이터(x1)와 제3데이터의 X축 데이터(x3) 사이에 존재하 는지 여부를 확인한다(S1007단계).
다음으로, 상기 S1007단계의 확인결과 상기 제2데이터의 X축 데이터(x2)가 상기 제1데이터의 X축 데이터(x1)와 제3데이터의 X축 데이터(x3) 사이에 존재하지 않으면, 즉 x1과 x3 범위 밖에 존재하면(S1007단계의 NO), 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단한다(S1009단계). 이러한 예시가 상기 도 11의 참조부호 1110에 나타나 있다. 즉, 상기 도 11의 참조부호 1110에 나타낸 바와 같이, 제1데이터의 y1과 제3데이터의 y3 간의 제1거리값이 제1임계값의 범위에 속하고, 제2데이터의 x2가 제1데이터의 x1과 제3데이터의 x3 사이에 존재하지 않으면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리를 수행한다.
다음으로, 상기 S1007단계의 확인결과 상기 제2데이터의 X축 데이터(x2)가 상기 제1데이터의 X축 데이터(x1)와 제3데이터의 X축 데이터(x3) 사이에 존재하면, 즉 x1과 x3 범위 안에 존재하면(S1007단계의 YES), 상기 휴대단말은 상기 제2버퍼의 제2데이터를 비유효데이터로 판단한다(S1011단계). 이러한 예시가 상기 도 11의 참조부호 1120 및 참조부호 1130에 나타나 있다. 즉, 상기 도 11의 참조부호 1120 및 참조부호 1130에 나타낸 바와 같이, 제1데이터의 y1과 제3데이터의 y3 간의 제1거리값이 제1임계값 이하이고, 제2데이터의 x2가 제1데이터의 x1과 제3데이터의 x3 사이 에 존재하면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 비유효데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리는 생략한다.
다음으로, 본 발명의 실시 예에 따라 상기 제1데이터의 X축 데이터(x1)와 제3데이터의 X축 데이터(x3) 간의 거리값(제3거리값)을 미리 설정된 임계값(제3임계값)과 비교하는 동작에 대하여 살펴보면 다음과 같다.
즉, 상기 휴대단말은 상기 제3거리값이 상기 제3임계값 이하인지 여부를 판별한다(S1021단계). 여기서, 상기 제3거리값은 상기 x1과 x3 간의 거리를 나타내는 것이고, 상기 제3임계값은 각 데이터들의 X축 데이터들(x1, x3) 간의 X축 거리가 설정된 범위 내에 속하는지 여부를 판별하기 위한 기준 값을 나타낸다. 이때, 상기 제3임계값은 설명의 편의를 위한 것으로, 본 발명의 실시 예에서는 전술한 상기 제1임계값을 이용할 수도 있음은 물론이다. 이러한 예시가 상기 도 11에 나타나 있다.
상기 도 11의 참조부호 1140 내지 참조부호 1160을 참조하면, x1과 x3이 동일 선상에 위치하여 있음을 알 수 있다. 이러한 경우, 상기 x1과 x3 간의 거리 즉, 제3거리값은 "0"에 근접하며, 만약 제3임계값이 "1"의 값으로 설정되는 경우, 상기 제3거리값은 상기 제3임계값의 범위에 속하는 값으로 판단할 수 있다. 반면, 상기 도 11의 참조부호 1110 내지 참조부호 1130, 참조부호 1170 및 참조부호 1180을 참조하면, x1과 x3이 서로 떨어져 있음을 알 수 있다. 이러한 경우, 상기 x1과 x3 간의 거리 즉, 제3거리값이 "3"이라고 하고, 상기 제3임계값이 "1"의 값으로 설정되는 경우, 상기 제3거리값은 상기 제3임계값의 범위 밖의 값으로 판단할 수 있다.
다시 상기 도 10을 참조하면, 상기 S1021단계의 판별결과 상기 제3거리값이 상기 제3임계값 이하이면(S1021단계의 YES), 상기 휴대단말은 상기 제2버퍼의 제2데이터의 Y축 데이터(y2)를 체크하여(S1023단계), 상기 제2데이터의 Y축 데이터(y2)가 상기 제1데이터의 Y축 데이터(y1)와 제3데이터의 Y축 데이터(y3) 사이에 존재하는지 여부를 확인한다(S1025단계).
다음으로, 상기 S1025단계의 확인결과 상기 제2데이터의 Y축 데이터(y2)가 상기 제1데이터의 Y축 데이터(y1)와 제3데이터의 Y축 데이터(y3) 사이에 존재하지 않으면, 즉 y1과 y3 범위 밖에 존재하면(S1025단계의 NO), 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단한다(S1027단계). 이러한 예시가 상기 도 11의 참조부호 1140에 나타나 있다. 즉, 상기 도 11의 참조부호 1140에 나타낸 바와 같이, 제1데이터의 x1과 제3데이터의 x3 간의 제3거리값이 제3임계값의 범위에 속하고, 제2데이터의 y2가 제1데이터의 y1과 제3데이터의 y3 사이에 존재하지 않으면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리를 수행한다.
다음으로, 상기 S1025단계의 확인결과 상기 제2데이터의 Y축 데이터(y2)가 상기 제1데이터의 Y축 데이터(y1)와 제3데이터의 Y축 데이터(y3) 사이에 존재하면, 즉 y1과 y3 범위 안에 존재하면(S1025단계의 YES), 상기 휴대단말은 상기 제1데이터의 X축 데이터(x1)와 제2데이터의 X축 데이터(x2)를 체크하여(S1029단계), 상기 제1데이터의 X축 데이터(x1)와 제2데이터의 X축 데이터(x2) 간의 거리값(제4거리값)이 미리 설정된 임계값(제4임계값) 이하인지 여부를 판별한다(S1031단계). 여기서, 상기 제4거리값은 상기 x1과 상기 x2 간의 거리를 나타내는 것이고, 상기 제4임계값은 각 데이터들의 X축 데이터들(x1, x2) 간의 X축 거리가 설정된 범위 내에 속하는지 여부를 판별하기 위한 기준 값을 나타낸다. 이때, 상기와 같은 비교는 제3데이터의 X축 데이터(x3)와 상기 제2데이터의 X축 데이터(x2)를 이용할 수도 있으며, 아울러, 상기 제4임계값은 전술한 상기 제1임계값을 이용할 수도 있음은 물론이다.
다음으로, 상기 S1031단계의 판별결과 상기 제4거리값이 상기 제4임계값보다 크면(S1031단계의 NO), 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단한다(S1027단계). 이러한 예시가 상기 도 11의 참조부호 1150에 나타나 있다. 즉, 상기 도 11의 참조부호 1150에 나타낸 바와 같이, 제1데이터의 x1과 제3데이터의 x3 간의 제3거리값이 제3임계값 이하이고, 제2데이터의 y2가 제1데이터의 y1과 제3데이터의 y3 사이에 존재하고, 상기 제1데이터의 x1과 제2데이터의 x2 간의 제4거리값이 제4임계값보다 크면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효 데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리를 수행한다.
반면, 상기 S1031단계의 판별결과 상기 제4거리값이 상기 제4임계값 이하이면(S1031단계의 YES), 상기 휴대단말은 상기 제2버퍼의 제2데이터를 비유효데이터로 판단한다(S1033단계). 이러한 예시가 상기 도 11의 참조부호 1160에 나타나 있다. 즉, 상기 도 11의 참조부호 1160에 나타낸 바와 같이, 제1데이터의 x1과 제3데이터의 x3 간의 제3거리값이 제1임계값 이하이고, 제2데이터의 y2가 제1데이터의 y1과 제3데이터의 y3 사이에 존재하고, 상기 제1데이터의 x1과 제2데이터의 x2 간의 제4거리값이 제4임계값 이하이면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 비유효데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리는 생략한다.
다음으로, 본 발명의 실시 예에 따라 미리 정의된 순차조건에 대응하는지를 판별하는 동작에 대하여 살펴보면 다음과 같다.
즉, 상기 휴대단말은 제1버퍼의 제1데이터 내지 제3버퍼의 제3데이터를 체크하여 미리 설정된 순차조건을 만족하는지 여부를 판별한다(S1041단계). 여기서, 상기 순차조건은 하기 <수학식 1>과 같이 나타낼 수 있다.
Figure 112009024155763-PAT00001
상기 <수학식 1>에 나타낸 바와 같이, 상기 휴대단말은 제1데이터 내지 제3 데이터의 X축 데이터들(x1, x2, x3)이 x1 < x2 < x3과 같은 조건을 만족하는지 체크하고, 만약 상기 조건을 만족하는 경우, 제1데이터 내지 제3데이터의 Y축 데이터들(y1, y2, y3)이 y1 < y2 < y3을 만족하거나, 또는 y1 > y2 > y3을 만족하는지 판단할 수 있다. 또한 상기 휴대단말은 제1데이터 내지 제3 데이터의 X축 데이터들(x1, x2, x3)이 x1 > x2 > x3과 같은 조건을 만족하는지 체크하고, 만약 상기 조건을 만족하는 경우, 제1데이터 내지 제3데이터의 Y축 데이터들(y1, y2, y3)이 y1 < y2 < y3을 만족하거나, 또는 y1 > y2 > y3을 만족하는지 판단할 수 있다. 이때, 상기 휴대단말은 상기한 조건들에 포함되지 않는 경우, 상기 제2버퍼의 제2데이터를 유효데이터로서 판단할 수 있다.
상기 S1041단계의 판별결과 상기 제1데이터 내지 제3데이터가 상기 순차조건을 만족하지 않으면(S1041단계의 NO), 상기 휴대단말은 상기 제2버퍼의 데이터를 유효데이터로 판단한다(S1043단계). 이러한 예시가 상기 도 11의 참조부호 1170에 나타나 있다. 즉, 상기 도 11의 참조부호 1170에 나타낸 바와 같이, 제1데이터 내지 제3데이터의 X축 데이터들(x1, x2, x3)이 x1 < x2 < x3인 경우, 상기 제1데이터 내지 제3데이터의 Y축 데이터들(y1, y2, y3)이 y1 < y2 < y3 또는 y1 > y2 > y3을 만족하지 않으면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리를 수행한다. 이때, 상기 제1데이터 내지 제3데이터의 X축 데이터들이 x1 < x2 < x3 또는 x1 > x2 > x3인 경우가 아니면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 유효데이터로 판단한다.
상기 S1041단계의 판별결과 상기 제1데이터 내지 제3데이터가 상기 순차조건을 만족하면(S1041단계의 YES), 상기 휴대단말은 상기 제2버퍼의 데이터를 비유효데이터로 판단한다(S1045단계). 이러한 예시가 상기 도 11의 참조부호 1180에 나타나 있다. 즉, 상기 도 11의 참조부호 1180에 나타낸 바와 같이, 제1데이터 내지 제3데이터의 X축 데이터들(x1, x2, x3)이 x1 < x2 < x3인 경우, 상기 제1데이터 내지 제3데이터의 Y축 데이터들(y1, y2, y3)이 y1 < y2 < y3 또는 y1 > y2 > y3을 만족하면, 상기 휴대단말은 상기 제2버퍼의 제2데이터를 비유효데이터로 판단하고, 상기 제2버퍼의 제2데이터에 대한 이벤트 처리는 생략한다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
도 1은 저항막 방식의 터치스크린을 가지는 일반적인 휴대단말에서 두 개의 포인트들이 동시에 눌려지는 경우에 이벤트 데이터를 출력하는 동작 예시를 도시한 도면,
도 2a 및 도 2b는 본 발명의 실시 예에 따른 휴대단말에서 두 개의 포인트들이 동시에 눌려지는 경우에 이벤트 데이터를 출력하는 동작 예시를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 휴대단말에서 문자 입력 시 발생하는 멀티터치를 처리하는 동작을 도시한 도면,
도 4는 본 발명의 실시 예에 따른 저항막 방식의 터치스크린에서 멀티터치 입력 처리 과정을 설명하기 위한 예시도,
도 5는 본 발명의 실시 예에 따른 저항막 방식의 터치스크린에서 멀티터치 입력 처리 과정을 설명하기 위한 다른 예시의 도면,
도 6은 본 발명의 실시 예에 따른 휴대단말에서 가상 이벤트 발생 시 유효데이터 및 비유효데이터를 구분하는 동작 설명을 위해 도시한 도면,
도 7은 본 발명의 실시 예에 따른 휴대단말에서 멀티터치 입력에 따른 처리 과정의 다른 예시를 도시한 도면,
도 8a 및 도 도 8b는 본 발명의 실시 예에 따른 저항막 방식의 터치스크린에서 멀티터치 입력 처리 과정을 설명하기 위한 다른 예시의 도면,
도 9a 및 도 9b는 본 발명의 상기 도 8a 및 도 8b에 따른 이벤트 처리 과정의 예시를 도시한 도면,
도 10 및 도 11은 본 발명의 상기 도 8a 내지 도 9b에 다른 유효데이터 및 비유효데이터 분석 과정의 상세 예시를 도시한 도면.

Claims (25)

  1. 멀티터치 입력 처리 방법에 있어서,
    제1터치 시 상기 제1터치에 따른 제1데이터를 표시하는 과정과,
    상기 제1터치가 유지된 상태에서 제2터치를 감지하는 과정과,
    상기 제1터치 및 제2터치에 대응하는 중간 데이터를 비유효데이터로 구분하는 과정과,
    상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시 상기 비유효데이터를 삭제하고, 상기 제2터치에 따른 제2데이터를 표시하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  2. 제1항에 있어서,
    상기 제1터치 시 상기 제1터치에 따른 상기 제1데이터를 제1버퍼에 저장하고, 상기 제1데이터를 유효데이터로서 출력하는 과정과,
    상기 제1터치가 유지된 상태에서 입력되는 제2터치에 따라 생성되는 상기 비유효데이터를 제2버퍼에 저장하는 과정과,
    상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시, 상기 제2버퍼의 상기 비유효데이터를 삭제하는 과정과,
    상기 제2버퍼의 비유효데이터 삭제 후 상기 제2터치에 따른 상기 제2데이터 를 상기 제2버퍼로 쉬프트하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  3. 제2항에 있어서,
    상기 제2데이터를 유효데이터로서 출력 시 상기 제2데이터를 상기 제1버퍼의 위치로 쉬프트하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  4. 제2항에 있어서,
    상기 제3버퍼에 상기 제2데이터 저장 후 나머지 다른 하나의 터치가 해제될 시, 상기 제1버퍼 내지 제3버퍼를 초기화하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  5. 제2항에 있어서,
    상기 제1터치가 유지된 상태에서 상기 제2터치가 감지될 시, 가상의 터치업 이벤트 및 가상의 터치다운 이벤트 발생에 의하여 유효데이터 및 비유효데이터를 구분하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  6. 제5항에 있어서,
    상기 제1터치에 의한 터치다운 이벤트에 따라 상기 제1데이터를 표시하는 과정과,
    상기 제1터치가 유지된 상태에서 제2터치를 감지할 시 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생하는 과정과,
    상기 가상의 터치업 이벤트에 의하여 상기 제1터치에 대응하는 상기 제1데이터를 입력 완료 처리하는 과정과,
    상기 가상의 터치다운 이벤트에 의하여 상기 비유효데이터를 발생하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  7. 제6항에 있어서,
    상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제될 시, 가상의 터치업 이벤트 및 터치다운 이벤트를 발생하는 과정과,
    상기 가상의 터치업 이벤트에 의하여 상기 비유효데이터의 발생 종료 및 상기 비유효데이터를 삭제하는 과정과,
    상기 터치다운 이벤트에 의하여 상기 제2터치에 대응하는 상기 제2데이터를 유효데이터로 입력하여 표시하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  8. 제7항에 있어서,
    상기 제1터치 및 제2터치의 모든 터치가 해제될 시 터치업 이벤트를 발생하고, 상기 터치업 이벤트에 따라 상기 제2데이터를 입력 완료 처리하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  9. 제7항에 있어서,
    상기 비유효데이터 삭제 및 상기 제2데이터의 유효데이터 처리 후, 상기 제2데이터를 제1버퍼의 위치로 쉬프트하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  10. 제2항에 있어서,
    상기 제1터치가 유지된 상태에서 상기 제2터치가 감지될 시, 상기 제1터치에 따른 영역과 상기 제2터치에 따른 영역 사이에 존재하는 중간 데이터들을 상기 비유효데이터로 처리하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  11. 제2항에 있어서,
    상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제된 후 해제된 포인트에 제3터치가 발생할 시, 설정 방식에 따라 상기 제3터치에 따른 제3데이터를 비유효데이터로 처리하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  12. 제2항에 있어서,
    상기 제1터치 및 제2터치 중 어느 하나의 터치가 해제된 후 해제된 포인트에 제3터치가 발생할 시, 설정 방식에 따라 상기 제3터치에 따른 제3데이터를 유효데이터로 처리하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  13. 제2항에 있어서,
    상기 제1터치 및 제2터치의 모든 터치가 해제될 시 상기 비유효데이터를 삭제하는 과정과,
    상기 제2터치에 따른 상기 제2데이터를 입력 완료 처리하여 표시하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  14. 제13항에 있어서,
    상기 제1터치 및 제2터치의 모든 터치가 해제될 시 상기 제1버퍼 내지 제3버퍼를 초기화하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  15. 제1항에 있어서,
    상기 제1터치가 발생할 시 하드웨어적인 터치다운 이벤트를 발생하고,
    상기 제1터치가 유지되는 상태에서 제2터치가 감지되면 모든 터치가 해제될 때까지 가상의 터치업 이벤트 및 가상의 터치다운 이벤트를 발생에 의하여 유효데이터 및 비유효데이터를 구분하고,
    상기 제1터치 및 제2터치의 모든 터치가 해제될 시 하드웨어적인 터치업 이벤트를 발생하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  16. 제15항에 있어서,
    상기 비유효데이터에 대한 출력은 생략하고, 상기 유효데이터에 대해서만 출력하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  17. 제2항에 있어서,
    상기 제1버퍼의 제1데이터와 상기 제3버퍼의 제2데이터를 이용하여 상기 제2버퍼에 저장되는 데이터의 유효 여부를 판별하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  18. 제17항에 있어서,
    상기 제2버퍼에 저장되는 데이터가 유효하지 않은 경우, 해당 데이터를 상기 비유효데이터로 처리하여 삭제하고,
    상기 제2버퍼에 저장되는 데이터가 유효한 경우, 해당 데이터를 유효데이터로서 이벤트를 처리하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  19. 제17항에 있어서,
    상기 제2버퍼에 대응하는 데이터의 유효 여부 판별 시, 사용자로부터 발생하는 이벤트 타입 및 3개의 버퍼들의 상태를 판별하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  20. 제19항에 있어서,
    상기 이벤트 타입이 터치업 이벤트가 아니고 상기 3개의 버퍼들이 풀 상태이 면, 상기 제1버퍼의 데이터와 상기 제3버퍼의 데이터를 이용하여 제2버퍼의 데이터에 대한 유효 여부를 판별하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  21. 제20항에 있어서,
    상기 제2버퍼의 데이터가 유효하지 않은 경우, 상기 제2버퍼의 데이터를 비유효데이터로서 삭제하는 과정과,
    상기 제2버퍼의 데이터가 유효한 경우, 상기 제2버퍼의 데이터를 유효데이터로서 출력하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  22. 제19항에 있어서,
    상기 이벤트 타입이 터치업 이벤트이고 상기 3개의 버퍼들이 풀 상태이면, 상기 제1버퍼의 데이터와 상기 제3버퍼의 데이터를 이용하여 제2버퍼의 데이터에 대한 유효 여부를 판별하는 과정과,
    상기 제2버퍼의 데이터가 유효하지 않은 경우, 상기 제2버퍼의 데이터를 비유효데이터로서 삭제하고, 상기 제3버퍼의 데이터를 쉬프트하는 과정과,
    상기 제2버퍼의 데이터가 유효한 경우, 상기 제2버퍼의 데이터를 유효데이터로서 출력하고, 상기 제2버퍼 및 제3버퍼의 데이터를 쉬프트하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  23. 제22항에 있어서,
    상기 제3버퍼의 데이터가 중간값인 경우, 상기 제3버퍼의 데이터를 비유효데이터로서 삭제하는 과정과,
    상기 제3버퍼의 데이터가 중간값이 아닌 경우, 상기 제3버퍼의 데이터를 유효데이터로서 출력하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  24. 제22항에 있어서,
    상기 이벤트 타입이 터치업 이벤트이고 상기 2개의 버퍼들이 풀 상태이면, 상기 제2버퍼의 데이터를 분석하는 과정과,
    상기 제2버퍼의 데이터가 중간값인 경우, 상기 제2버퍼의 데이터를 비유효데이터로서 삭제하는 과정과,
    상기 제2버퍼의 데이터가 중간값이 아닌 경우, 상기 제2버퍼의 데이터를 유효데이터로서 출력하는 과정을 포함하는 것을 특징으로 하는 멀티터치 입력 처리 방법.
  25. 터치스크린에서 멀티터치 입력 처리 방법에 있어서,
    제1터치에 따른 제1데이터를 제1버퍼에 저장하고, 상기 제1데이터를 표시하는 과정과,
    상기 제1터치가 유지된 상태에서 입력되는 제2터치에 따른 제2데이터를 제2버퍼에 저장하는 과정과,
    상기 제1터치 및 제2터치 중 어느 하나의 터치가 유지된 상태에서 입력되는 제3터치에 따른 제3데이터를 제3버퍼에 저장하는 과정과,
    상기 제1버퍼의 제1데이터와 상기 제3버퍼의 제3데이터를 이용하여 상기 제2버퍼의 제2데이터에 대한 유효 여부를 판별하는 과정과,
    상기 제2데이터가 유효할 시 상기 제2데이터를 표시하고, 상기 제2버퍼 및 제3버퍼의 데이터들을 쉬프트하는 과정과,
    상기 제2데이터가 유효하지 않을 시 상기 제2데이터를 삭제하고, 상기 제3버퍼의 데이터를 쉬프트하는 과정을 포함하는 것을 특징으로 하는 터치스크린에서 멀티터치 입력 처리 방법.
KR1020090034786A 2009-04-21 2009-04-21 휴대단말에서 멀티터치 입력 처리 방법 KR20100116058A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020090034786A KR20100116058A (ko) 2009-04-21 2009-04-21 휴대단말에서 멀티터치 입력 처리 방법
US12/762,455 US20100265200A1 (en) 2009-04-21 2010-04-19 Method for processing multi-touch input in mobile device
EP10160415.5A EP2244177A3 (en) 2009-04-21 2010-04-20 Method for processing multi-touch input in mobile device
CN201010167034A CN101872274A (zh) 2009-04-21 2010-04-21 在移动装置中处理多触摸输入的方法
JP2010097748A JP2010257458A (ja) 2009-04-21 2010-04-21 携帯端末におけるマルチタッチ入力処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090034786A KR20100116058A (ko) 2009-04-21 2009-04-21 휴대단말에서 멀티터치 입력 처리 방법

Publications (1)

Publication Number Publication Date
KR20100116058A true KR20100116058A (ko) 2010-10-29

Family

ID=42226126

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090034786A KR20100116058A (ko) 2009-04-21 2009-04-21 휴대단말에서 멀티터치 입력 처리 방법

Country Status (5)

Country Link
US (1) US20100265200A1 (ko)
EP (1) EP2244177A3 (ko)
JP (1) JP2010257458A (ko)
KR (1) KR20100116058A (ko)
CN (1) CN101872274A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210019748A (ko) * 2019-08-13 2021-02-23 주식회사 인터유니크 멀티터치를 지원하지 않는 앱사용에 따른 터치스크린 시스템의 싱글터치 변환장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065624B2 (en) * 2007-06-28 2011-11-22 Panasonic Corporation Virtual keypad systems and methods
JP5618665B2 (ja) * 2010-07-16 2014-11-05 キヤノン株式会社 制御装置、制御方法、およびプログラム
WO2012032515A1 (en) * 2010-09-07 2012-03-15 Zrro Technologies (2009) Ltd. Device and method for controlling the behavior of virtual objects on a display
KR20120045218A (ko) * 2010-10-29 2012-05-09 삼성전자주식회사 멀티 터치를 이용한 문자 입력 방법 및 장치
US8854321B2 (en) * 2011-05-02 2014-10-07 Verizon Patent And Licensing Inc. Methods and systems for facilitating data entry by way of a touch screen
WO2013015823A1 (en) * 2011-07-27 2013-01-31 Cypress Semiconductor Corporation Method and apparatus for parallel scanning and data processing for touch sense arrays
CN103092264B (zh) * 2011-10-28 2017-07-21 宏碁股份有限公司 便携式电子装置及对应按键的显示方法
US9335833B2 (en) * 2012-02-26 2016-05-10 Blackberry Limited Keyboard input control method and system
US9710123B1 (en) 2012-03-08 2017-07-18 Amazon Technologies, Inc. Time-based device interfaces
US10001897B2 (en) 2012-08-20 2018-06-19 Microsoft Technology Licensing, Llc User interface tools for exploring data visualizations
US9563674B2 (en) 2012-08-20 2017-02-07 Microsoft Technology Licensing, Llc Data exploration user interface
KR20140100761A (ko) * 2013-02-07 2014-08-18 한국전자통신연구원 터치식 입력장치에서의 제스처 입력 구분 방법 및 제스처 입력 구분 장치
US9985629B2 (en) * 2013-08-05 2018-05-29 Whirlpool Corporation Method to lockout a touch screen interface
US10416871B2 (en) 2014-03-07 2019-09-17 Microsoft Technology Licensing, Llc Direct manipulation interface for data analysis
US10346038B2 (en) 2015-11-19 2019-07-09 International Business Machines Corporation Braille data entry using continuous contact virtual keyboard

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2516697B2 (ja) * 1990-03-30 1996-07-24 株式会社テック デ―タ入力装置
US5153572A (en) * 1990-06-08 1992-10-06 Donnelly Corporation Touch-sensitive control circuit
JP3351080B2 (ja) * 1993-12-13 2002-11-25 株式会社デンソー アナログ・タッチスイッチ
US6255604B1 (en) * 1995-05-31 2001-07-03 Canon Kabushiki Kaisha Coordinate detecting device for outputting coordinate data when two points are simultaneously depressed, method therefor and computer control device
JPH09146708A (ja) * 1995-11-09 1997-06-06 Internatl Business Mach Corp <Ibm> タッチパネルの駆動方法及びタッチ入力方法
US6246395B1 (en) * 1998-12-17 2001-06-12 Hewlett-Packard Company Palm pressure rejection method and apparatus for touchscreens
JP2001060143A (ja) * 1999-08-24 2001-03-06 Kenwood Corp 抵抗膜式タッチパネル
US7254775B2 (en) * 2001-10-03 2007-08-07 3M Innovative Properties Company Touch panel system and method for distinguishing multiple touch inputs
US6856259B1 (en) * 2004-02-06 2005-02-15 Elo Touchsystems, Inc. Touch sensor system to detect multiple touch events
US7190356B2 (en) * 2004-02-12 2007-03-13 Sentelic Corporation Method and controller for identifying double tap gestures
US7852325B2 (en) * 2007-01-05 2010-12-14 Apple Inc. RF pulse synchronization for data acquisition operations
CN101271371A (zh) * 2008-04-29 2008-09-24 广东威创视讯科技股份有限公司 触摸屏定位系统的多点定位抗干扰处理方法
TW201040823A (en) * 2009-05-11 2010-11-16 Au Optronics Corp Multi-touch method for resistive touch panel

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210019748A (ko) * 2019-08-13 2021-02-23 주식회사 인터유니크 멀티터치를 지원하지 않는 앱사용에 따른 터치스크린 시스템의 싱글터치 변환장치

Also Published As

Publication number Publication date
JP2010257458A (ja) 2010-11-11
US20100265200A1 (en) 2010-10-21
CN101872274A (zh) 2010-10-27
EP2244177A3 (en) 2014-05-28
EP2244177A2 (en) 2010-10-27

Similar Documents

Publication Publication Date Title
KR20100116058A (ko) 휴대단말에서 멀티터치 입력 처리 방법
US10642933B2 (en) Method and apparatus for word prediction selection
KR101641003B1 (ko) 애플리케이션 선택 및 활성화를 위한 회화적 방법
US8922489B2 (en) Text input using key and gesture information
CN107785021B (zh) 语音输入方法、装置、计算机设备和介质
CN101657788B (zh) 具有振动输入识别的电子设备和方法
US20160070462A1 (en) Permanent synchronization system for handwriting input
JP5947887B2 (ja) 表示制御装置、制御プログラム、および表示装置の制御方法
WO2009074047A1 (fr) Procédé, système, dispositif et terminal pour la correction d&#39;erreur d&#39;écran tactile
WO2010109294A1 (en) Method and apparatus for text input
US20140207453A1 (en) Method and apparatus for editing voice recognition results in portable device
EP2506122A2 (en) Character entry apparatus and associated methods
KR20150023151A (ko) 전자 장치 및 이의 어플리케이션 실행 방법
CN104662507A (zh) 用户设备处的搜索
EP3640788A1 (en) Convenient operating method and terminal
EP2704405B1 (en) Merging of entries in a contact book
US20050116045A1 (en) Handheld device with tract input function
CN105589570B (zh) 一种处理输入错误的方法和装置
KR20120063407A (ko) 터치스크린을 이용한 빠른 문자입력방법 및 문자입력장치
CN110209296B (zh) 信息处理装置及信息处理方法
KR101159629B1 (ko) 드래그 방식의 문자입력방법 및 문자입력장치, 문자입력방법을 수행하기 위한 프로그램을 기록한 기록매체
JP6051175B2 (ja) 携帯端末、携帯端末用プログラム及びキーワード入力方法
CA2846561C (en) Method and apparatus for word prediction selection
KR101348763B1 (ko) 손동작에 의한 인터페이스 조작 장치 및 방법, 그리고 컴퓨터로 읽을 수 있는 기록매체
CN103389800A (zh) 一种生成词条的方法和装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid