KR20130087818A - 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법 - Google Patents

멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법 Download PDF

Info

Publication number
KR20130087818A
KR20130087818A KR1020120009002A KR20120009002A KR20130087818A KR 20130087818 A KR20130087818 A KR 20130087818A KR 1020120009002 A KR1020120009002 A KR 1020120009002A KR 20120009002 A KR20120009002 A KR 20120009002A KR 20130087818 A KR20130087818 A KR 20130087818A
Authority
KR
South Korea
Prior art keywords
touch
processor
input
touch display
release
Prior art date
Application number
KR1020120009002A
Other languages
English (en)
Other versions
KR101375924B1 (ko
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 KR1020120009002A priority Critical patent/KR101375924B1/ko
Priority to PCT/KR2012/004912 priority patent/WO2013115440A1/ko
Publication of KR20130087818A publication Critical patent/KR20130087818A/ko
Application granted granted Critical
Publication of KR101375924B1 publication Critical patent/KR101375924B1/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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • 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/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • 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
    • 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
    • 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]
    • 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

밀터 터치 입력을 처리하기 위한 방법 및 장치가 제공된다. 터치 디스플레이는 사용자에 의한 스크린 상의 터치 및 상기의 터치의 릴리즈를 감지할 수 있다. 프로세서는 터치 및 릴리즈에 기반하여 터치 디스플레이를 사용한 입력에 관련된 정보를 생성할 수 있다. 프로세서는 터치가 특정 시간 이상 유지되면, 상기의 터치를 입력과 무관한 것으로 간주하여 상기의 터치를 취소할 수 있다. 또한, 프로세서는 상기의 터치의 위치가 일정 거리 이상 이동하면, 상기의 터치를 취소할 수 있다.

Description

멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법{APPARATUS AND METHOD FOR TEXT ENTRY USING TAPPING ON MULTI-TOUCH SCREEN}
멀티 터치 스크린(multi-touch screen)에 관한 것으로, 보다 상세히는 멀티 터치 스크린에 표시된 소프트 키보드(soft keyboard)를 이용하는 문자 입력 장치 및 방법에 관한 것이다.
스마트폰(smart)을 비롯한 다양한 멀티 터치 기기(device)들이 문자 입력을 위한 주요한 수단으로서 소프트 키보드를 제공한다. 멀티 터치 기기들이 제공하는 소프트 키보드는 주로 엄지 손가락을 통해 사용하는 것을 가정하여 디자인 되었다. 멀티 터치 기기에 손가락이 터치되는 터치 면에 비해 소프트 키보드의 키가 더 작을 수 있다. 따라서, 사용자가 자신이 의도한 키가 입력될 것인지를 확인할 수 있게 하기 위해, 멀티 터치 기기는 멀티 터치 디스플레이(display)에 손가락에 의한 터치가 발생하면 터치 면의 주위(예컨대, 멀티 터치 디스플레이의 터치된 좌표의 윗 부분)에 현재 터치된 키를 표시할 수 있다. 또한, 멀티 터치 기기는 사용자의 손가락이 멀티 터치 디스플레이로부터 떨어질 때 터치된 키가 멀티 터치 기기에서 실행되는 어플리케이션 등으로 입력되게 할 수 있다. 이러한 표시 방식 및 입력 방식은 사용자에게 키가 터치된 상태에서 멀티 터치 기기로 입력될 키를 자신의 의사에 맞춰 수정할 수 있는 기회를 부여한다.
타블렛(tablet)과 같은 일정 기준 이상의 큰 크기를 갖는 멀티 터치 기기가 사용될 때, 사용자는 상기의 멀티 터치 기기의 멀티 터치 디스플레이 위에 자신의 양 손 또는 모든 손가락들을 올려 놓을 수 있다. 또한, 이러한 멀티 터치 기기는 실제로 사용되는 물리적 키보드와 유사한 형태를 갖는 소프트 키보드를 제공할 수 있다. 이러한 유사한 형태의 소프트 키보드의 키의 크기 또는 키들 간의 간격은 각각 물리적 키보드의 키의 크기 또는 키들 간의 간격과 동일하거나 유사할 수 있다. 따라서, 물리적 키보드와 유사한 형태를 갖는 소프트 키보드를 제공하는 멀티 터치 기기에 있어서는, 손가락이 멀티 터치 디스플레이에 표시된 특정한 키를 터치하더라도 터치된 키가 손가락에 의해 가려지지 않는다. 따라서, 큰 크기를 갖는 멀티 터치 기기에 있어서는, 스마트폰과 같은 작은 크기의 멀티 터치 기기와는 달리, 터치된 키를 표시하는 기능이 요구되지 않을 수 있다.
멀티 터치 기기에서 발생하는 문제들 중 하나는, 멀티 터치 디스플레이에 터치가 발생하면 궁극적으로는 키가 입력된다는 것이다. 따라서, 사용자는 물리적 키보드를 사용할 때와는 달리, 키의 표면의 촉감을 확인하거나, 손을 쉬게 하기 위해 손가락을 멀티 터치 디스플레이 위에 올려놓을 수 없다. 이러한 제한은 사용자가 장시간 멀티 터치 기기를 사용할 때 사용자의 피로를 유발시킬 수 있다는 문제를 발생시킨다.
특정한 멀티 터치 기기는 멀티 터치 디스플레이의 하단에 물리 버튼을 장착하거나, 압력 센서를 이용하여 사용자가 화면을 실제로 누를 수 있게 함으로써 전술된 문제를 해결한다. 그러나, 이러한 해결 방법은 터치 스크린(screen) 외의 입력 버튼 및 압력 센서 등과 같은 추가적인 부품을 요구하며, 멀티 터치 입력을 지원할 수 없다는 단점을 갖는다.
한국공개특허 제10-2009-0056469호(공개일 2009년 06월 03일)에는, 어플리케이션 별 인식 가능한 터치의 유형과 터치의 수를 판단하고, 터치 스크린의 터치 입력에 대해 터치의 속성을 측정하고, 측정된 터치의 속성에 따라 상기 터치 입력을 구분하고, 구분된 터치 입력과 어플리케이션 별 인식 가능한 터치의 유형을 비교하여 터치 입력을 터치의 유형 중 하나의 유형으로 최종 결정하고, 결정된 터치 입력에 대응되는 기능을 판단하여 실행하는 과정을 개시한다.
일 실시예는 터치가 특정 시간 이상 유지되면, 상기의 터치를 입력과 무관한 것으로 간주하여 상기의 터치를 취소하는 장치 및 방법을 제공할 수 있다.
일 실시예는 터치의 위치가 일정 거리 이상 이동하면, 상기의 터치를 입력과 무관한 것으로 간주하여 상기의 터치를 취소하는 장치 및 방법을 제공할 수 있다.
일 측에 따르면, 스크린에 정보를 출력하고, 사용자에 의한 상기 스크린 상의 터치 및 상기 터치의 릴리즈를 감지하는 터치 디스플레이 및 프로세스를 실행하고, 상기 터치 및 상기 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하고, 상기 생성된 입력에 관련된 정보를 상기 프로세스로 전송하는 프로세서를 포함하고, 상기 프로세서는 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는, 전자 장치가 제공된다.
상기 터치 디스플레이는 하나 이상의 위치들에서 각각 발생한 터치들 및 상기 터치들 각각의 릴리즈를 감지하는 멀티 터치 디스플레이일 수 있다.
상기 프로세서는 상기 하나 이상의 위치들 각각에 대한 상기 터치 및 상기 릴리즈에 기반하여 상기 입력에 관련된 정보를 생성할 수 있다.
상기 터치 디스플레이는 상기 터치의 위치의 이동을 감지할 수 있다.
상기 프로세서는 상기 터치의 최초의 위치 및 상기 터치가 이동된 위치 간의 거리가 제2 임계치 이상이면 상기 터치가 취소된 것으로 간주할 수 있다.
상기 프로세서는 상기 스크린이 하나 이상의 그래픽 유저 인터페이스(Graphic User Interface; GUI) 객체들을 출력하도록 상기 터치 디스플레이를 제어할 수 있고, 상기 터치 및 상기 릴리즈에 기반하여 상기 하나 이상의 GUI 객체들 중 사용자의 터치에 대응하는 윈도우 객체를 식별할 수 있다
상기 프로세서는 상기 스크린이 소프트 키보드를 출력하도록 상기 터치 디스플레이를 제어할 수 있고, 상기 소프트 키보드 내의 상기 하나 이상의 키들 중 상기 사용자에 의해 터치된 키를 식별할 수 있다.
상기 터치 디스플레이는 상기 터치의 위치의 이동을 감지할 수 있다.
상기 프로세서는 상기 이동에 따른 상기 터치의 위치에 기반하여 상기 터치된 키를 변경할 수 있다.
상기 입력에 관련된 정보는 상기 하나 이상의 키들 중 특정한 키에 상기 터치가 발생한 것을 나타내는 프리뷰 이벤트, 상기 터치가 취소된 것을 나타내는 취소 이벤트 및 상기 특정한 키의 입력이 완료되었음을 나타내는 완료 이벤트를 포함할 수 있다.
상기 프로세서는 상기 터치가 취소되지 않은 채 상기 릴리즈가 발생하면 상기 완료 이벤트를 생성할 수 있다.
상기 프로세서는 상기 프리뷰 이벤트가 발생하면 상기 사용자가 상기 특정한 키를 식별할 수 있게 하는 정보를 출력하도록 상기 터치 디스플레이를 제어할 수 있다.
상기 프로세서는 상기 스크린이 GUI 객체를 출력하도록 상기 터치 디스플레이를 제어할 수 있고, 상기 입력에 관련된 정보에 기반하여 상기 GUI 객체 내에서 출력되는 문자열을 조정할 수 있다.
상기 프로세서는 상기 프리뷰 이벤트가 발생하면 상기 문자열에 상기 특정한 키에 대응하는 문자를 추가할 수 있고, 상기 취소 이벤트가 발생하면 상기 문자열에서 상기 출력된 문자를 삭제할 수 있고, 상기 완료 이벤트가 발생하면 상기 문자를 상기 제1 형태에서 제2 형태로 변경할 수 있다
상기 제1 형태 및 상기 제2 형태는 서로 상이할 수 있다.
상기 터치 디스플레이는 하나 이상의 위치들에서 각각 발생한 터치들 및 상기 터치들 각각의 릴리즈를 감지하는 멀티 터치 디스플레이일 수 있다.
상기 특정한 키는 하나 이상일 수 있다.
상기 프로세서는 상기 하나 이상의 특정한 키들 각각에 대한 상기 터치 및 상기 릴리즈에 기반하여 상기 하나 이상의 특정한 키들 각각에 대한 상기 프리뷰 이벤트, 상기 취소 이벤트 및 상기 완료 이벤트를 생성할 수 있다.
상기 문자는 하나 이상일 수 있다.
상기 하나 이상의 문자들은 각각 상기 하나 이상의 특정한 키들 중 하나의 키에 대응할 수 있다.
다른 일 측에 따르면, 프로세서가 터치 디스플레이를 제어함으로써 스크린에 정보를 출력하는 단계, 상기 터치 디스플레이가 사용자에 의한 상기 스크린 상의 터치를 감지하는 단계, 상기 터치 디스플레이가 상기 터치의 릴리즈를 감지하는 단계, 상기 프로세서가 상기 터치 및 상기 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 단계, 상기 프로세서가 상기 생성된 입력에 관련된 정보를 상기 프로세서에 의해 실행되는 프로세스로 전송하는 단계 및 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는 단계를 포함하는, 입력 처리 방법이 제공된다.
다른 일 측에 따르면, 터치 디스플레이에 있어서, 정보를 출력하는 스크린, 사용자에 의한 상기 스크린 상의 터치 및 상기 터치의 릴리즈를 감지하는 센서 및 상기 터치 및 상기 릴리즈에 기반하여 입력에 관련된 정보를 생성하고, 상기 생성된 입력에 관련된 정보를 출력하는 제어기를 포함하고, 상기 제어기는 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는, 터치 디스플레이가 제공된다.
또 다른 일 측에 따르면, 터치 디스플레이가 입력을 처리하는 방법에 있어서, 센서가 사용자에 의한 스크린 상의 터치를 감지하는 단계, 상기 센서가 상기 터치의 릴리즈를 감지하는 단계, 제어기가 상기 터치 및 상기 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 단계, 상기 제어기가 상기 생성된 입력에 관련된 정보를 출력하는 단계 및 상기 제어기가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는 단계를 포함하는, 입력 처리 방법이 제공된다.
또 다른 일 측에 따르면, 터치 디스플레이를 사용한 입력을 처리하는 프로그램이 기록되어 있는 기록 매체에 있어서, 터치 디스플레이에 의해 감지된 상기 터치 디스플레이의 스크린 상의 터치 및 상기 터치의 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 입력 정보 생성 코드 - 상기 입력 정보 생성 코드는 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주함 - 및 상기 생성된 입력에 관련된 정보를 프로세서에 의해 실행되는 프로세스로 전송하는 출력 코드를 포함하는 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체가 제공된다.
장시간의 문자 입력이 필요한 경우, 사용자는 문자 입력의 사이사이에 멀티 터치 스크린 위에 손을 올려 놓고 쉴 수 있으며, 의도하지 않은 문자가 멀티 터치 기기로 입력되지 않을 수 있다.
멀티 터치 스크린을 갖는 멀티 터치 기기에 있어서 문자 입력의 편의성이 향상될 수 있으며, 멀티 터치 기기의 활용이 증대될 수 있다.
도 1은 일 예에 따른 사용자가 터치 디스플레이를 갖는 전자 장치 위에 손을 올려 놓은 자세를 도시한다.
도 2는 일 실시예에 따른 터치 장치의 구조도이다.
도 3은 일 예에 따른 터치 포인트에 대한 상태 전이도이다.
도 4는 일 예에 따른 복수 개의 상태 기계들 및 GUI 객체 간의 상호작용을 이벤트 흐름을 사용하여 설명한다.
도 5는 일 예에 따른 사용자가 멀티 터치로 단어 'BOY'을 입력할 경우의 이벤트의 발생 및 출력되는 문자열의 변화를 설명한다.
도 6은 본 발명의 일 실시예에 따른 터치 디스플레이의 구조도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
하기에서, '터치'는 사용자의 손가락 등이 터치 스크린과 접촉하는 것 또는 상기의 접촉이 유지되는 것을 의미할 수 있다. '릴리즈(release)'는 터치 스크린과 접촉하고 있던 사용자의 손가락 등이 상기의 터치 스크린으로부터 떨어지는 것을 의미할 수 있다.
도 1은 일 예에 따른 사용자가 터치 디스플레이를 갖는 전자 장치 위에 손을 올려 놓은 자세를 도시한다.
도 1에서, 사용자는 자신의 양 손을 전자 장치(100)의 터치 디스플레이(110) 위에 올려 놓았다. 사용자의 각 손가락은 터치 디스플레이(110) 위에 터치되었다. "L1" 내지 "L5", 그리고 "R1" 내지 "R5"는 각각 사용자의 손가락을 나타내는 레이블이다.
물리적 키보드에 있어서는, 터치 상태 및 누름 상태가 구분될 수 있다. 터치 상태는 사용자의 손가락과 물리적 키보드의 키가 접촉되었으나 손가락이 가하는 힘에 의해 키가 눌려지지는 않은 상태를 의미할 수 있다. 누름 상태는 사용자의 손가락에 의해 물리적 키보드의 키가 눌려진 상태를 의미할 수 있다. 사용자는 손가락을 통해 전해지는 감각 등을 통해 손가락에 접촉한 키가 터치 상태에 있는지 또는 누름 상태에 있는지를 구분할 수 있다. 따라서, 사용자는 손가락들을 키 위에 터치 상태로 놓은 채 쉴 수 있다.
반면, 터치 스크린에 있어서는, 터치 스크린의 물리적 특성 상 터치 상태 만이 존재할 뿐 누름 상태가 별도로 존재하지 않는다. 따라서, 사용자는 터치 스크린의 위에 손가락을 올려 놓고 쉴 수 없다. 사용자가 터치 스크린의 위에 손가락을 올려 놓고 쉴 경우, 사용자가 의도하지 않은 키들이 입력될 수 있다.
도 2는 일 실시예에 따른 터치 장치의 구조도이다.
전자 장치(100)는 터치 디스플레이(110) 및 프로세서(200)를 포함할 수 있다.
터치 디스플레이(110)는 스크린(screen)에 정보를 출력할 수 있다. 여기서, 스크린은 액정(Liquid Crystal Display; LCD) 또는 유기발광다이오드((Organic Light-Emitting Diode; OLED) 등과 같은 디스플레이에서 빛으로서 정보가 출력되는 부분을 나타낼 수 있다.
터치 디스플레이(110)는 스크린 상에서 발생하는 물리적 변화를 감지할 수 있다. 여기서, 물리적 변화는 1) 사용자에 의한 스크린 상의 터치, 2) 상기의 터치의 계속적인 유지, 3) 상기의 터치의 위치의 이동 및 4) 상기의 터치의 릴리즈를 포함할 수 있다. 사용자에 의한 스크린 상의 터치란, 사용자가 스크린 상의 특정한 위치에 자신의 신체 중 일부 또는 도구를 갖다 대는 것을 의미할 수 있다. 터치의 릴리즈란 사용자가 상기의 자신의 신체 중 일부 또는 도구를 스크린으로부터 떼어 놓는 것을 의미할 수 있다. 사용자는 스크린에 표시된 정보에 기반하여, 전자 장치(100) 또는 프로세서(200)에 의해 실행되는 프로세스에 어떤 입력 값을 전달하기 위해 스크린 상의 특정한 위치를 터치할 수 있다.
터치 디스플레이(110)는 감지된 물리적 변화에 대한 정보를 프로세서(200)로 전송할 수 있다. 이하, 터치 디스플레이(110)가 물리적 변화를 감지하면, 터치 디스플레이(110)는 감지된 물리적 변화를 프로세서(200)로 전송하고, 프로세서(200)는 감지된 물리적 변화를 수신하는 것으로 간주한다.
프로세서(200)는 프로세스(process)를 실행할 수 있다. 여기서, 프로세스는 운영 체제, 어플리케이션(application) 및 앱(app) 등을 의미할 수 있다.
프로세서(200)는 터치 디스플레이가 특정한 정보를 출력하도록 제어할 수 있다. 프로세서(200)는 물리적 변화에 대한 정보에 따라 특정한 연산을 수행할 수 있다. 프로세서(200)는 스크린 상에서 발생하는 물리적 변화(예컨대, 터치, 터치의 유지, 터치의 위치의 이동 및 터치의 릴리즈)에 기반하여 터치 디스플레이를 사용한 입력에 관련된 정보를 생성할 수 있다. 프로세서(200)는 생성된 입력에 관련된 정보를 프로세스로 전송할 수 있다. 즉, 프로세스는 입력 값 또는 입력에 관련된 정보를 수신하는 개체(entity)를 나타낼 수 있다.
터치 디스플레이(110)는 상이한 위치에서 발생한 하나 이상의 물리적 변화들을 감지할 수 있다. 예컨대, 터치 디스플레이(110)는 하나 이상의 위치들에서 각각 발생한 터치들, 상기의 터치들 각각의 계속적인 유지, 상기의 터치들 각각의 위치의 이동 및 상기의 터치들 각각의 릴리즈를 감지할 수 있다. 터치 디스플리이(110)는 하나 이상의 위치들 각각에 대해 감지된 물리적 변화에 대한 정보를 프로세서(200)로 전송할 수 있다. 프로세서(200)는 물리적 변화에 대한 정보가 어떠한 위치에 대한 것인지를 식별할 수 있고, 특정한 위치에 대해 감지된 물리적 변화에 대한 정보에 따라 특정한 연산을 수행할 수 있다.
이하, 스크린 상에서 터치가 발생한 위치를 터치 포인트로 약술한다. 터치 포인트는 좌표로 표현될 수 있다. 단일한 터치 포인트에서의 터치 및 상기의 터치 포인트와 관련된 터치의 유지, 터치의 위치의 이동 및 릴리즈에 따른 상태 전이가 하기에서 도 3을 참조하여 상세히 설명된다.
도 3은 일 예에 따른 터치 포인트에 대한 상태 전이도이다.
상태 전이도(state transition diagram)(300)는 프로세서(200)가 감지된 물리적 현상에 기반하여 하나의 터치 포인트에 대한 입력에 관련된 정보를 생성하는 과정을 나타낼 수 있다.
프로세서(200)는, 하나의 터치 포인트에 대한 상태를, 유휴(idle) 상태(310) 및 터치된(touched) 상태(320)로 구분할 수 있다. 여기서, 유휴 상태(310)는 터치가 발생하기 전 또는 상기 터치에 대한 처리가 종료된 후를 나타내는 상태일 수 있다. 터치된 상태(320)는 특정한 위치에 대한 터치가 발생한 후 상기의 발생된 터치에 대한 처리가 계속되고 있음을 나타내는 상태일 수 있다.
후술될 단계들(330, 내지 385)은 문자 입력 처리 방법을 나타낼 수 있다. 즉, 문자 입력 방법은 단계들(330 내지 385)를 포함할 수 있다.
특정한 터치 포인트에 대한 단계들(310 내지 385)이 수행되기 전에, 정보 출력 단계가 수행될 수 있다. 즉, 문자 입력 방법은 정보 출력 단계를 포함할 수 있다.
정보 출력 단계에서, 터치 디스플레이(110)는 스크린에 정보를 출력할 수 있다. 프로세서(200)는 스크린이 정보를 출력하도록 터치 디스플레이(110)를 제어할 수 있다.
하나의 터치 포인트에 대한 상태는 유휴 상태(310)로 초기화될 수 있다.
단계(330)에서, 터치 디스플레이(110)는 사용자에 의한 상기 스크린 상의 터치를 감지할 수 있다. 터치 디스플레이(110)는 감지된 터치에 대한 정보를 프로세서(200)로 전송할 수 있다.
프로세서(200)는 상태를 유휴 상태(310)로부텨 터치된 상태(320)로 전이시킬 수 있다.
프로세서(200)는 감지된 터치에 대한 정보를 사용하여, 터치가 유지되는 시간을 나타내는 타이머 변수 t를 0으로 세트(set)할 수 있고, 상기의 터치의 최초의 위치를 나타내는 변수 x 0의 값을 변수 x의 값으로 세트할 수 있다. 변수 x는 현재(말하자면, 상기의 터치가 감지된 시점 또는 상기의 전이가 발생한 시점)의 터치의 위치를 나타낸다. 프로세서(200)는 감지된 터치에 대한 정보를 사용하여 x를 세트할 수 있다. 여기서, 위치는 좌표 값일 수 있다.
단계(330)가 발생한 경우, 단계(335)에서, 프로세서(200)는 입력에 관련된 정보 중 하나로서, 프리뷰(preview) 이벤트를 출력할 수 있다. 프리뷰 이벤트는 특정한 터치 포인트에 대한 터치가 발생한 것을 나타낼 수 있다. 프로세서(200)는 프리뷰 이벤트를 프로세스로 전송할 수 있다.
단계(340)에서, 터치 디스플레이(110)는 터치의 계속되는 유지를 감지할 수 있다. 터치 디스플레이(110)는 감지된 터치의 계속되는 유지에 대한 정보를 프로세서(200)로 전송할 수 있다.
프로세서(200)는 t의 값을 갱신할 수 있다. 프로세서(200)는 t의 값을 터치가 감지된 시점으로부터 현재(말하자면, 터치의 계속되는 유지가 감지된 시점)까지의 시간으로 갱신할 수 있다.
단계(350)에서, 터치 디스플레이(110)는 터치의 위치의 이동(즉, 터치 포인트의 이동)을 감지할 수 있다. 터치 디스플레이(110)는 감지된 터치의 위치의 이동에 대한 정보를 프로세서(200)로 전송할 수 있다.
프로세서(200)는 감지된 터치의 위치의 이동에 대한 정보를 사용하여 x의 값을 현재(말하자면, 터치의 위치의 이동이 발생한 시점)의 터치의 위치로 갱신할 수 있다. 따라서, x는 터치가 이동된 위치 또는 터치의 현재의 위치를 나타낼 수 있다.
단계(360)에서, 프로세서(200)는, 예컨대 t에 기반하여, 터치가 제1 임계치 tau 이상의 시간 동안 유지된 것을 감지할 수 있다. 프로세서(200)는 터치가 제1 임계치 tau 이상의 시간 동안 유지되면 터치가 취소된 것으로 간주할 수 있다. 여기서, 터치가 취소된 것으로 간주된다는 것은, 프로세서(200)가 상기의 터치를 입력을 위한 터치가 아닌 것으로 간주한다는 것을 의미할 수 있고, 프로세서(200)가 상기의 터치에 의한 입력이 이루어지지 않도록 처리한다는 것을 의미할 수 있다.
터치가 취소된 것으로 간주됨으로써, 프로세서(200)는 상태를 터치된 상태(320)로부터 유휴 상태(310)로 전이시킬 수 있다.
단계(370)에서, 프로세서(200)는, 예컨대 x 0x에 기반하여, 터치가 이동한 거리를 계산할 수 있다. 프로세서(200)는 터치의 최초의 위치 x 0 및 터치가 이동된 위치 x 간의 거리가 제2 임계치 δ 이상이면 터치가 취소된 것으로 간주할 수 있다.
터치가 취소된 것으로 간주됨으로써, 프로세서(200)는 상태를 터치된 상태(320)로부터 유휴 상태(310)로 전이시킬 수 있다.
단계(360) 또는 단계(370)가 발생한 경우, 단계(375)에서, 프로세서(200)는 입력에 관련된 정보 중 하나로서, 취소(cancel) 이벤트를 출력할 수 있다. 프리뷰 이벤트는 특정한 터치 포인트에 대한 터치가 취소된 것을 나타낼 수 있다. 프로세서(200)는 취소 이벤트를 프로세스로 전송할 수 있다.
단계(380)에서, 터치 디스플레이(110)는 사용자에 의한 터치의 릴리즈를 감지할 수 있다. 터치 디스플레이(110)는 감지된 터치의 릴리즈에 대한 정보를 프로세서(200)로 전송할 수 있다.
프로세서(200)는 상태를 터치된 상태(320)로부텨 유휴 상태(310)로 전이시킬 수 있다.
단계(380)가 발생한 경우, 단계(385)에서, 프로세서(200)는 입력에 관련된 정보 중 하나로서, 완료(complete) 이벤트를 출력할 수 있다. 완료 이벤트는 특정한 터치 포인트에 대한 터치가 완료된 것을 나타낼 수 있다. 프로세서(200)는 완료 이벤트를 프로세스로 전송할 수 있다.
전술된 정보 출력 단계에서, 프로세서(200)는 스크린이 하나 이상의 그래픽 유저 인터페이스(Graphic User Interface; GUI) 객체들을 출력하도록 터치 디스플레이(110)를 제어할 수 있다. 또한, 프로세서(200)는 터치, 상기의 터치의 유지, 상기의 터치의 위치의 이동 및 상기의 터치의 릴리즈 중 하나 이상에 기반하여 하나 이상의 GUI 객체들 중 사용자의 터치에 대응하는 원도우 객체를 식별할 수 있다. 변수(또는, 객체) k는 사용자의 입력하는 윈도우 객체를 나타낼 수 있다.
하나 이상의 GUI 객체들은 소프트 키보드 내의 하나 이상의 키들일 수 있다. 즉, 프로세서(200)는 스크린이 소프트 키보드를 출력하도록 터치 디스플레이(110)를 제어할 수 있고, 터치, 상기의 터치의 유지, 상기의 터치의 위치의 이동 및 상기의 터치의 릴리즈 중 하나 이상에 기반하여 소프트 키보드 내의 하나 이상의 키들 중 사용자에 의해 터치(또는 입력)된 키를 식별할 수 있다. k는 터치된 키에 대응하는 변수일 수 있다.
따라서, 단계(330)에서, 프로세서(200)는 하나 이상의 키들 중 사용자에 의해 터치된 키를 나타내는 k를 생성할 수 있다. k가 생성된 경우, 단계(335)에서, 프로세서(200)는 k의 프리뷰를 출력할 수 있다. 여기서, 프리뷰는 사용자가 터치된 키를 식별할 수 있게하는 정보를 의미할 수 있다. 일반적으로, 프리뷰는 스크린 내에서 출력될 수 있다. 단계(375)에서, 프로세서(200)는 k의 취소를 출력할 수 있다. 단계(385)에서, 프로세서(200)는 k의 완료를 출력할 수 있다.
단계(335)의 프리뷰 이벤트는 하나 이상의 키들 중 특정한 키에 터치가 발생한 것을 나타낼 수 있다. 단계(375)의 취소 이벤트는 상기의 특정한 키에 발생한 터치가 취소된 것을 나타낼 수 있다. 단계(385)의 완료 이벤트는 상기의 특정한 키의 입력이 완료되었음을 나타낼 수 있다.
프로세서(200)는 특정한 키에 터치가 발생한 것을 나타내는 프리뷰 이벤트가 발생하면, 사용자가 터치가 발생한 특정한 키를 식별할 수 있게하는 프리뷰 정보를 출력하도록 터치 디스플레이(110)를 제어할 수 있다. 프로세서(200)는 터치가 발생한 특정한 키의 위치에 기반하여 프리뷰 정보가 출력되는 위치를 결정할 수 있다.
단계(350)에서 터치 디스플레이(110)가 터치의 위치의 이동을 감지한 경우, 프로세서(200)는 이동에 따른 터치의 (새로운) 위치에 기반하여 터치된 키를 변경할 수 있다. 프로세서는 k가 변경된 터치된 키를 나타내도록 k의 값을 갱신할 수 있다.
터치된 키가 변경된 경우, 단계(335)에서 프로세서(200)는 변경된 터치된 키에 터치가 발생한 것을 나타내는 프리뷰 이벤트를 발생시킬 수 있으며, 변경된 터치된 키를 나타내는 k를 출력할 수 있다.
단계(380)는 상태가 터치된 상태(320)일 경우에만 발생 가능할 수 있다. 따라서, 프로세서(200)는 단계(360) 또는 단계(370)에 의해 터치가 취소되지 않은 채 상기의 터치의 릴리즈가 발생하면 완료 이벤트를 생성할 수 있다.
도 4는 일 예에 따른 복수 개의 상태 기계들 및 GUI 객체 간의 상호작용을 이벤트 흐름을 사용하여 설명한다.
우선, 멀티 터치 장치(400)에 대해 설명한다.
멀티 터치 장치(400)는 멀티 터치를 지원하는 전자 장치(100)를 나타낼 수 있다. 멀티 터치 장치(400)는 동시에 또는 중첩하여 발생하는 복수 개의 터치들(또는, 복수 개의 터치들과 관련하여 발생하는 물리적 현상들)을 처리할 수 있는 전자 장치(100)를 의미할 수 있다.
터치 디스플레이(110)는 하나 이상의 위치들에서 각각 발생한 터치들, 상기의 터치들 각각의 유지, 상기의 터치들 각각의 위치의 이동 및 상기의 터치들 각각의 릴리즈를 감지하는 멀티 터치 디스플레이일 수 있다. 말하자면, 터치 디스플레이(110)는 하나 이상의 터치 포인트들 각각에서 발생하는 물리적 현상을 감지할 수 있다. 또한, 터치 디스플레이(110)는 특정한 물리적 현상이 하나 이상의 터치 포인트들 중 어떤 터치 포인트와 관련된 것인가를 식별할 수 있다. 터치 디스플레이(110)는 감지된 물리적 변화 및 상기 물리적 변화와 관련된 터치 포인트(또는 터치의 위치)를 프로세서(200)로 전송할 수 있다.
전자 장치(100)가 멀티 터치 장치(400)인 경우, 프로세서(200)는 하나 이상의 위치들(즉, 하나 이상의 터치 포인트들) 각각에 대한 물리적 변화(예컨대, 터치, 터치의 유지, 터치의 위치의 이동 및 터치의 릴리즈 중 하나 이상)에 기반하여 입력에 관련된 정보(예컨대, 프리뷰 이벤트, 취소 이벤트 및 완료 이벤트 중 하나 이상)를 출력 또는 생성할 수 있고, 생성된 입력에 관련된 정보가 하나 이상의 위치들 중 어떤 위치에 관련된 것인가를 나타낼 수 있다. 터치 디스플레이(110)의 스크린에 소프트 키보드가 출력된 경우, 터치가 발생한 특정한 키는 하나 이상일 수 있다. 프로세서(200)는 하나 이상의 특정한 키들 각각에 대한 물리적 현상에 기반하여 하나 이상의 특정한 키들 각각에 대한 입력에 관련된 정보를 출력 또는 생성할 수 있다.
다음으로, GUI 객체(object)에 대해서 설명한다.
프로세서(200)는 터치 디스플레이(110)의 스크린이 GUI 객체를 출력하도록 터치 디스플레이(110)를 제어할 수 있다. GUI 객체는 문자열(string)을 포함할 수 있다. 즉, GUI 객체의 일부로서 문자열이 출력될 수 있다. 프로세서(200)는 도 2 내지 도 4를 참조하여 전술된 입력에 관련된 정보에 기반하여 GUI 객체(410) 내에서 출력되는 문자열을 조정할 수 있다. GUI 객체(410)는 텍스트 박스(text box)일 수 있다. GUI 객체(410)는 문자 입력을 수신할 수 있다. 프로세스는 GUI 객체(410)의 동작을 제어할 수 있다.
다음으로, 멀티 터치 장치(400)가 하나 이상의 상태 기계(state machine)들을 사용하여 하나 이상의 터치 포인트들 각각에서 발생한 물리적 번화를 처리하는 방법을 설명한다.
i(420)는 하나 이상의 터치포인트들을 구분하는 식별자(identifier; ID)이다. 하나의 터치 포인트에 관련하여 발생한 물리적 현상들은 동일한 식별자를 가질 수 있다. S1(430)은 제1 터치 포인트에 관련하여 발생한 물리적 현상들을 처리하는 제1 상태 기계를 나타낸다. S2(440)는 제2 터치 포인트에 관련하여 발생한 물리적 현상들을 처리하는 제2 상태 기계를 나타낸다. S3(450)은 제3 터치 포인트에 관련하여 발생한 물리적 현상들을 처리하는 제3 상태 기계를 나타낸다. S1(430), S2(440) 및 S3(450)은 각각 별도의 상태 전이도(300)를 사용하여 물리적 현상에 따른 이벤트를 발생시킬 수 있다.
터치 디스플레이(110)는 감지된 물리적 변화에 대한 정보 및 물리적 변화에 대응하는 터치 포인트의 식별자를 프로세서(200)로 전송할 수 있다. 프로세서(200)는 터치 포인트의 식별자를 사용하여 터치 포인트를 구분할 수 있고, 터치 포인트에 대응하는 상태 머신의 상태 전이도(300)를 사용하여 도 3을 참조하여 전술된 단계들(330 내지 385)을 수행할 수 있다.
도 4에서, 터치(i), 이동(i) 및 릴리즈(i)는 각각 식별자 i와 함께 전송된 터치, 이동 및 릴리즈를 나타낼 수 있다. 또한, 프로세서(200)는 S1(430)이 제1 터치 포인트에 관련하여 발생한 물리적 현상 터치(1), 이동(1) 및 릴리즈(1)를 처리하게 할 수 있으며, S1(430)은 상기의 물리적 현상을 처리함에 따라 프리뷰 이벤트, 취소 이벤트 및 완료 이벤트를 생성할 수 있다. k는 소프트 키보드의 하나 이상의 키들 중 제1 터치 포인트에서 터치된 키를 나타낼 수 있다. 생성된 프리뷰 이벤트, 취소 이벤트 및 완료 이벤트는 GUI 객체(410)로 전송될 수 있다. GUI 객체(410)는 전송된 이벤트에 대응하여 입력될 키를 보여주거나, 키의 입력을 취소하거나 또는 키의 입력을 완료할 수 있다.
도 5는 일 예에 따른 사용자가 멀티 터치로 단어 'BOY'을 입력할 경우의 이벤트의 발생 및 출력되는 문자열의 변화를 설명한다.
도 5의 좌측에는 GUI 객체(410)로서 텍스트 박스 및 텍스트 박스 내의 문자열이 시간의 흐름에 따라 표시되었다. 예컨대, 최초 텍스트 박스(510)는 아무 내용도 입력되지 않은 상태에서의 텍스트 박스의 형태를 나타낸다. 최종 텍스트 박스(519)는 단어 'BOY'의 입력이 완료된 상태에서의 텍스트 박스의 형태를 나타낸다. 도 5의 우측에는 사용자가 전자 장치(100)를 조작함에 따라 발생하는 이벤트들을 시간의 흐름에 따라 표시하였다. 이벤트 중 "k1" 내지 "k7"은 각각 이벤트를 처리하는 상태 머신의 식별자를 나타낼 수 있다. "B", "A", "S", "D", "F", "O" 및 "Y"는 각각 터치된 키에 대응하는 문자를 나타낼 수 있다. 예컨대, "프리뷰(k1(B))"는 키 "B"가 터치됨으로써 상태 머신 "k1"에서 키 "B"에 대한 프리뷰 이벤트가 발생함을 나타낼 수 있으며, "완료(k1)"는 상기의 상태 머신 "k1"에 의해 완료 이벤트가 발생함을 나타낼 수 있다.
프로세서(200)는 프리뷰 이벤트가 발생하면 텍스트 박스의 문자열에 특정한 키에 대응하는 문자를 추가할 수 있다. 추가되는 문자는 제1 형태를 가질 수 있다. 도 5에서, 제1 형태는 외곽선 폰트이다.
프로세서(200)는 취소 이벤트가 발생하면 문자열에서 프리뷰 이벤트에 의해 추가된 문자를 삭제할 수 있다. 즉, 제1 형태는 사용자에게, 상기의 문자는 임시로 입력된 것이며, 상기의 문자의 입력은 취소될 수 있음을 나타낼 수 있다.
프로세서(200)는 완료 이벤트가 발생하면 프리뷰 이벤트에 의해 제1 형태로 출력된 문자를 제1 형태에서 제2 형태로 변경할 수 있다. 즉, 제2 형태는 사용자에게 상기의 문자의 입력이 완료되었으며 취소되지 않는다는 것을 나타낼 수 있다.
사용자가 취소 가능한 문자 및 입력이 완료된 문자를 서로 구분하게 할 수 있게 하기 위해, 제1 형태 및 제2 형태는 서로 시각적으로 상이할 수 있다. 예컨대, 제1 형태 및 제2 형태는 글자체, 크기, 굵기, 이탤릭체인지 여부, 밑줄이 그어졌는지 여부 및 외곽선체인지 여부 등에 있어서 서로 상이할 수 있다.
전자 장치(100)가 멀티 터치 장치(400)인 경우, 상기의 문자는 하나 이상일 수 있고, 하나 이상의 문자들은 각각 하나 이상의 터치된 키들 중 하나의 키에 대응할 수 있다. 또는, 하나 이상의 문자들은 각각 하나 이상의 터치 포인트들 각각에 대응하는 키가 나타내는 문자일 수 있다.
단계(520)에서, 사용자는 문자 "B"를 타이핑하기 위해 손가락 "L1"을 사용하여 터치 스크린을 터치할 수 있다. 상기의 터치에 의해 키 "B"의 프리뷰 이벤트가 발생할 수 있고, 프로세서(200)는 문자 "B"를 제1 형태로 텍스트 박스 내에 출력할 수 있다. 예컨대, 상기의 터치는 제1 상태 기계(430)에 의해 처리될 수 있고, 키 "B"의 프리뷰 이벤트는 제1 상태 기계(430)로부터 출력될 수 있다. 상기의 터치에 의해 제1 상태 기계(430)의 상태는 터치된 상태(320)로 전이할 수 있다.
단계(521)에서, 사용자는 키 "B"를 터치하고 있던 손가락 "L1"을 키 "B"로부터 땜으로서 키 "B"에 대한 터치를 릴리즈할 수 있다. 상기의 릴리즈에 의해 키 "B"의 완료 이벤트가 발생할 수 있다. 상기의 완료 이벤트에 의해 입력 예정되었던 문자 "B"는 사용자에 의해 입력된 것으로 확정될 수 있다. 프로세서(200)는 상기의 확정을 나타내기 위해 문자 "B"를 제1 형태에서 제2 형태로 변경하여 텍스트 박스 내에 출력할 수 있다. 상기의 릴리즈는 제1 상태 기계(430)에 의해 처리될 수 있고, 키 "B"의 완료 이벤트는 제1 상태 기계(430)로부터 출력될 수 있다. 상기의 릴리즈에 의해 제1 상태 기계(430)의 상태는 유휴 상태(310)로 전이할 수 있다. 제1 상태 기계(430)는 이후에 발생하는 다른 터치를 처리할 수 있다.
단계(522) 내지 단계(525)에서, 사용자의 손가락들 "L2", "L3", "L4" 및 "L5"는 각각 순차적으로 키 "A", "S", "D" 및 "F"를 터치한다. 상기의 터치에 의해 키 "A", "S", "D" 및 "F" 각각에 대한 프리뷰 이벤트들이 순차적으로 발생할 수 있고, 프로세서(200)는, 터치된 순서에 따라, 문자 "A", "S", "D" 및 "F"를 각각 순차적으로 제1 형태로 텍스트 박스 내에 출력할 수 있다. 터치들 각각을 위해 서로 상이한 상태 기계들이 사용될 수 있다. 상태 기계들은 각각 유휴 상태(310)로부터 터치된 상태(320)로 전이할 수 있으며, 각각 프리뷰 이벤트를 출력할 수 있다.
사용자는 손가락들 "L2", "L3", "L4" 및 "L5"를 임계치 tau 이상의 시간 동안 터치 디스플레이(110) 위에 터치된 채로 놓아둘 수 있으며, 또는 터치된 손가락들 "L2", "L3", "L4" 및 "L5"를 임계치 δ 이상의 거리만큼 이동시킬 수 있다. 따라서, 단계(526) 내지 단계(529)에서 키 "A", "S", "D" 및 "F" 각각에 대한 취소 이벤트가 순차적으로 발생할 수 있다. 프로세서(200)는 취소를 위한 조간이 만족되는 순서에 따라, 제1 형태로 텍스트 박스 내에 출력된 문자 "A", "S", "D" 및 "F"를 각각 순차적으로 삭제할 수 있다. 즉, 단계(522) 내지 단계(525)에서 표시된 문자 "A", "S", "D" 및 "F"의 입력이 각각 순차적으로 취소될 수 있다. 단계(522) 내지 단계(525)에서 터치를 처리한 상태 기계들은 각각 터치된 상태(320)에서 유휴 상태로 전이할 수 있다.
단계(530)에서, 사용자는 문자 "O"를 타이핑하기 위해 손가락 "R1"을 사용하여 터치 스크린을 터치할 수 있다. 상기의 터치에 의해 키 "O"의 프리뷰 이벤트가 발생할 수 있고, 프로세서(200)는 문자 "O"를 제1 형태로 텍스트 박스 내에 출력할 수 있다.
단계(531)에서, 사용자는 키 "O"를 터치하고 있던 손가락 "R1"을 키 "O"로부터 땜으로서 키 "O"에 대한 터치를 릴리즈할 수 있다. 상기의 릴리즈에 의해 키 "O"의 완료 이벤트가 발생할 수 있다. 상기의 완료 이벤트에 의해 입력 예정되었던 문자 "O"는 사용자에 의해 입력된 것으로 확정될 수 있다. 프로세서(200)는 상기의 확정을 나타내기 위해 문자 "O"를 제1 형태에서 제2 형태로 변경하여 텍스트 박스 내에 출력할 수 있다.
단계(532)에서, 사용자는 문자 "Y" 타이핑하기 위해 손가락 "R2"을 사용하여 터치 스크린을 터치할 수 있다. 상기의 터치에 의해 키 "Y"의 프리뷰 이벤트가 발생할 수 있고, 프로세서(200)는 문자 "Y"를 제1 형태로 텍스트 박스 내에 출력할 수 있다.
단계(531)에서, 사용자는 키 "Y"를 터치하고 있던 손가락 "R2"를 키 "Y"로부터 땜으로서 키 "Y"에 대한 터치를 릴리즈할 수 있다. 상기의 릴리즈에 의해 키 "Y"의 완료 이벤트가 발생할 수 있다. 상기의 완료 이벤트에 의해 입력 예정되었던 문자 "Y"는 사용자에 의해 입력된 것으로 확정될 수 있다. 프로세서(200)는 상기의 확정을 나타내기 위해 문자 "Y"를 제1 형태에서 제2 형태로 변경하여 텍스트 박스 내에 출력할 수 있다. 상기의 단계들(520 내지 533)을 통해, 멀티 터치를 통한 입력이 완료되고, 텍스트 박스 내에서는 문자열 "BOY"가 입력이 완료되었음을 나타내는 제2 형태로 출력될 수 있다.
도 6은 본 발명의 일 실시예에 따른 터치 디스플레이의 구조도이다.
터치 디스플레이(600)는 스크린(610), 센서(620) 및 제어기(630)를 포함할 수 있다..
스크린(610)은 전술된 터치 디스플레이(110)의 스크린에 대응할 수 있다. 스크린(610)은 터치 디스플레이(110)의 스크린이 수행하는 기능을 수행할 수 있다. 예컨대, 스크린(610)은 정보를 출력할 수 있다.
센서(620)는 전술된 터치 디스플레이(110)에 대응할 수 있다. 즉, 센서(620)는 터치 디스플레이(110)가 수행하는 기능(또는, 터치 디스플레이(110)의 기능 중 스크린이 수행하는 기능을 제외한 기능)을 수행할 수 있다. 예컨대, 센서(620)는 스크린(610) 상에서 발생하는 물리적 변화를 감지할 수 있다.
센서(640)는 정전식 센서 또는 감압식 센서 등 물리적 현상을 인식할 수 있는 다양한 센서일 수 있다. 도 6에서, 4 개의 센서들이 스크린의 4 개의 모서리들 각각에 분산하여 배치된 것은 단지 예시적인 것이다.
제어기(630)는 전술된 프로세서(200)에 대응할 수 있다. 즉, 제어기(630)는 프로세서(200)가 수행하는 기능을 수행할 수 있다. 예컨대, 제어기(630)는 상기 물리적 변화에 기반하여 입력에 관련된 정보를 생성할 수 있고, 생성된 입력에 관련된 정보를 출력할 수 있다. 제어기(630)는 터치가 제1 임계치 tau 이상의 시간 동안 유지되면 터치가 취소된 것으로 간주할 수 있다.
즉, 터치 디스플레이(600)는 터치, 상기의 터치의 유지, 상기의 터치의 위치의 이동 및 상기의 터치의 릴리즈와 같은 물리적 변화에 기반하여, 프리뷰 이벤트, 취소 이벤트 및 완료 이벤트와 같은 입력에 관련된 정보를 내부적으로 생성하여, 생성된 입력에 관련된 정보를 외부의 프로세서(200) 등으로 전송하는 디스플레이를 나타낼 수 있다.
앞서 도 1 내지 도 5를 참조하여 설명된 기술적 내용들이 그대로 적용될 수 있다. 특히, 터치 디스플레이(110)의 스크린, 터치 디스플레이(110) 및 프로세서(200)에 대한 기술적 내용들이 각각 스크린(610), 센서(620) 및 제어기(630)에 그대로 적용될 수 있다. 또한, "터치 디스플레이(110)를 사용한 입력"은 "터치 디스플레이(600)를 사용한 입력"으로 대체될 수 있다. 따라서, 보다 상세한 설명은 이하 생략하기로 한다.
실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체에 기록된 프로그램은 터치 디스플레이를 사용한 입력을 처리하는 프로그램일 수 있다. 특히, 본 실시예에서는 터치 디스플레이에 의해 감지된 상기 터치 디스플레이의 스크린 상의 터치 및 상기 터치의 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 입력 정보 생성 코드와, 상기 생성된 입력에 관련된 정보를 프로세서에 의해 실행되는 프로세스로 전송하는 출력 코드를 포함하는 프로그램이 기록되는 컴퓨터 판독 가능 매체를 포함할 수 있다. 여기서, 상기의 입력 정보 생성 코드는 터치가 제1 임계치 이상의 시간 동안 유지되면 상기의 터치가 취소된 것으로 간주할 수 있다. 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용 어플리케이션(예를 들어, 스마트폰 어플리케이션, 피쳐폰 VM(virtual machine) 등의 형태) 등으로 구성될 수 있다. 입력 정보 생성 코드 및 출력 코드는 전자 기기(100)의 프로세서(200)가 기능을 수행하기 위해 실행하는 코드를 예시적으로 분류한 것으로, 프로세서(200)에 의해 처리되는 기능은 상기의 입력 정보 생성 코드 및 출력 코드 중 하나 이상에 의해 일부 또는 전부가 실행될 수 있다. 또한, 프로그램은, 사용자 단말 및/또는 전자책 서비스 시스템의 메모리에 저장되어 사용자 단말 및/또는 전자책 서비스 시스템에서 구동되는 적어도 하나의 프로세서에 의해 실행되도록 구성될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 또한, 상술한 파일 시스템은 컴퓨터 판독이 가능한 기록 매체에 기록될 수 있다.
이상과 같이 실시예를 통해 설명된 기술적 내용은 다양한 수정 및 변형이 가능하다. 그러므로, 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 전자 기기
110: 터치 디스플레이
200: 프로세서
600: 터치 디스플레이
610: 스크린
620: 센서
630: 제어기

Claims (15)

  1. 스크린에 정보를 출력하고, 사용자에 의한 상기 스크린 상의 터치 및 상기 터치의 릴리즈를 감지하는 터치 디스플레이; 및
    프로세스를 실행하고, 상기 터치 및 상기 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하고, 상기 생성된 입력에 관련된 정보를 상기 프로세스로 전송하는 프로세서
    를 포함하고,
    상기 프로세서는 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는, 전자 장치.
  2. 제1항에 있어서,
    상기 터치 디스플레이는 하나 이상의 위치들에서 각각 발생한 터치들 및 상기 터치들 각각의 릴리즈를 감지하는 멀티 터치 디스플레이이고,
    상기 프로세서는 상기 하나 이상의 위치들 각각에 대한 상기 터치 및 상기 릴리즈에 기반하여 상기 입력에 관련된 정보를 생성하는, 전자 장치.
  3. 제1항에 있어서,
    상기 터치 디스플레이는 상기 터치의 위치의 이동을 감지하고,
    상기 프로세서는 상기 터치의 최초의 위치 및 상기 터치가 이동된 위치 간의 거리가 제2 임계치 이상이면 상기 터치가 취소된 것으로 간주하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는 상기 스크린이 하나 이상의 그래픽 유저 인터페이스(Graphic User Interface; GUI) 객체들을 출력하도록 상기 터치 디스플레이를 제어하고, 상기 터치 및 상기 릴리즈에 기반하여 상기 하나 이상의 GUI 객체들 중 사용자의 터치에 대응하는 윈도우 객체를 식별하는, 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는 상기 스크린이 소프트 키보드를 출력하도록 상기 터치 디스플레이를 제어하고, 상기 소프트 키보드 내의 상기 하나 이상의 키들 중 상기 사용자에 의해 터치된 키를 식별하는, 전자 장치.
  6. 제5항에 있어서,
    상기 터치 디스플레이는 상기 터치의 위치의 이동을 감지하고,
    상기 프로세서는 상기 이동에 따른 상기 터치의 위치에 기반하여 상기 터치된 키를 변경하는. 전자 장치.
  7. 제5항에 있어서,
    상기 입력에 관련된 정보는 상기 하나 이상의 키들 중 특정한 키에 상기 터치가 발생한 것을 나타내는 프리뷰 이벤트, 상기 터치가 취소된 것을 나타내는 취소 이벤트 및 상기 특정한 키의 입력이 완료되었음을 나타내는 완료 이벤트를 포함하며,
    상기 프로세서는 상기 터치가 취소되지 않은 채 상기 릴리즈가 발생하면 상기 완료 이벤트를 생성하는, 전자 장치.
  8. 제7항에 있어서,
    상기 프로세서는 상기 프리뷰 이벤트가 발생하면 상기 사용자가 상기 특정한 키를 식별할 수 있게 하는 정보를 출력하도록 상기 터치 디스플레이를 제어하는, 전자 장치.
  9. 제7항에 있어서,
    상기 프로세서는 상기 스크린이 GUI 객체를 출력하도록 상기 터치 디스플레이를 제어하고, 상기 입력에 관련된 정보에 기반하여 상기 GUI 객체 내에서 출력되는 문자열을 조정하는, 전자 장치.
  10. 제7항에 있어서,
    상기 프로세서는 상기 프리뷰 이벤트가 발생하면 상기 문자열에 상기 특정한 키에 대응하는 문자를 추가하고,
    상기 취소 이벤트가 발생하면 상기 문자열에서 상기 출력된 문자를 삭제하고,
    상기 완료 이벤트가 발생하면 상기 문자를 상기 제1 형태에서 제2 형태로 변경하고,
    상기 제1 형태 및 상기 제2 형태는 서로 상이한, 전자 장치.
  11. 제10항에 있어서,
    상기 터치 디스플레이는 하나 이상의 위치들에서 각각 발생한 터치들 및 상기 터치들 각각의 릴리즈를 감지하는 멀티 터치 디스플레이이고,
    상기 특정한 키는 하나 이상이고,
    상기 프로세서는 상기 하나 이상의 특정한 키들 각각에 대한 상기 터치 및 상기 릴리즈에 기반하여 상기 하나 이상의 특정한 키들 각각에 대한 상기 프리뷰 이벤트, 상기 취소 이벤트 및 상기 완료 이벤트를 생성하고,
    상기 문자는 하나 이상이고,
    상기 하나 이상의 문자들은 각각 상기 하나 이상의 특정한 키들 중 하나의 키에 대응하는, 전자 장치.
  12. 프로세서가 터치 디스플레이를 제어함으로써 스크린에 정보를 출력하는 단계;
    상기 터치 디스플레이가 사용자에 의한 상기 스크린 상의 터치를 감지하는 단계;
    상기 터치 디스플레이가 상기 터치의 릴리즈를 감지하는 단계;
    상기 프로세서가 상기 터치 및 상기 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 단계;
    상기 프로세서가 상기 생성된 입력에 관련된 정보를 상기 프로세서에 의해 실행되는 프로세스로 전송하는 단계; 및
    상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는 단계
    를 포함하는, 입력 처리 방법.
  13. 터치 디스플레이에 있어서,
    정보를 출력하는 스크린;
    사용자에 의한 상기 스크린 상의 터치 및 상기 터치의 릴리즈를 감지하는 센서; 및
    상기 터치 및 상기 릴리즈에 기반하여 입력에 관련된 정보를 생성하고, 상기 생성된 입력에 관련된 정보를 출력하는 제어기
    를 포함하고,
    상기 제어기는 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는, 터치 디스플레이.
  14. 터치 디스플레이가 입력을 처리하는 방법에 있어서,
    센서가 사용자에 의한 스크린 상의 터치를 감지하는 단계;
    상기 센서가 상기 터치의 릴리즈를 감지하는 단계;
    제어기가 상기 터치 및 상기 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 단계;
    상기 제어기가 상기 생성된 입력에 관련된 정보를 출력하는 단계; 및
    상기 제어기가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주하는 단계
    를 포함하는, 입력 처리 방법.
  15. 터치 디스플레이를 사용한 입력을 처리하는 프로그램이 기록되어 있는 기록 매체에 있어서,
    터치 디스플레이에 의해 감지된 상기 터치 디스플레이의 스크린 상의 터치 및 상기 터치의 릴리즈에 기반하여 상기 터치 디스플레이를 사용한 입력에 관련된 정보를 생성하는 입력 정보 생성 코드 - 상기 입력 정보 생성 코드는 상기 터치가 제1 임계치 이상의 시간 동안 유지되면 상기 터치가 취소된 것으로 간주함 -; 및
    상기 생성된 입력에 관련된 정보를 프로세서에 의해 실행되는 프로세스로 전송하는 출력 코드
    를 포함하는 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020120009002A 2012-01-30 2012-01-30 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법 KR101375924B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120009002A KR101375924B1 (ko) 2012-01-30 2012-01-30 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법
PCT/KR2012/004912 WO2013115440A1 (ko) 2012-01-30 2012-06-21 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120009002A KR101375924B1 (ko) 2012-01-30 2012-01-30 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130087818A true KR20130087818A (ko) 2013-08-07
KR101375924B1 KR101375924B1 (ko) 2014-03-20

Family

ID=48905452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120009002A KR101375924B1 (ko) 2012-01-30 2012-01-30 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101375924B1 (ko)
WO (1) WO2013115440A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170125974A (ko) * 2015-07-06 2017-11-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 작동 처리 방법, 전자 기기 및 컴퓨터 저장 매체

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150081181A (ko) * 2014-01-03 2015-07-13 삼성전자주식회사 디스플레이 장치 및 이의 추천 문자 제공 방법
KR102225400B1 (ko) 2014-12-04 2021-03-09 삼성전자주식회사 웨어러블 디바이스 및 웨어러블 디바이스에서 메시지를 전송하는 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0618023B2 (ja) * 1985-08-09 1994-03-09 富士通株式会社 タイパマチツクキ−ボ−ド入力制御方式
KR100672539B1 (ko) * 2005-08-12 2007-01-24 엘지전자 주식회사 터치스크린을 구비하는 이동통신단말기에서의 터치 입력인식 방법 및 이를 구현할 수 있는 이동통신단말기
KR20080071473A (ko) * 2007-01-30 2008-08-04 삼성전자주식회사 단말기의 터치키보드를 통한 문자 입력 장치 및 방법
KR20080042056A (ko) * 2008-04-23 2008-05-14 (주)씨에스랩글로벌 터치스크린을 구비한 휴대용 단말기에서의 향상된 문자 입력 방법
KR101596500B1 (ko) * 2009-02-18 2016-02-22 주식회사 엘지유플러스 터치형 단말기의 터치 민감도 조절 방법 및 그 시스템
KR100923755B1 (ko) * 2009-07-06 2009-10-27 라오넥스(주) 멀티터치 방식 문자입력 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170125974A (ko) * 2015-07-06 2017-11-15 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 작동 처리 방법, 전자 기기 및 컴퓨터 저장 매체

Also Published As

Publication number Publication date
WO2013115440A1 (ko) 2013-08-08
KR101375924B1 (ko) 2014-03-20

Similar Documents

Publication Publication Date Title
US9383921B2 (en) Touch-sensitive display method and apparatus
KR102385759B1 (ko) 컨텍스트 정보에 기초한 터치 표면에 대한 비활성 영역
EP2821906B1 (en) Method for processing touch operation and mobile terminal
KR101361214B1 (ko) 터치스크린의 제어영역을 설정하는 인터페이스 장치 및 방법
US9354805B2 (en) Method and apparatus for text selection
KR101156610B1 (ko) 터치 방식을 이용한 입력 제어 방법 및 이를 위한 입력 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
US10025487B2 (en) Method and apparatus for text selection
US9459704B2 (en) Method and apparatus for providing one-handed user interface in mobile device having touch screen
US9740400B2 (en) Electronic device and method for character deletion
US20100302152A1 (en) Data processing device
KR20140071118A (ko) 가상 버튼을 디스플레이하기 위한 방법 및 그 전자 장치
KR102086799B1 (ko) 가상 키 패드를 디스플레이하기 위한 방법 및 그 전자 장치
US20140210742A1 (en) Emulating pressure sensitivity on multi-touch devices
KR20120126254A (ko) 아이템 삭제 기능의 gui제공 방법 및 장치
US20150077358A1 (en) Electronic device and method of controlling the same
KR20140028272A (ko) 달력을 디스플레이하기 위한 방법 및 그 전자 장치
KR101375924B1 (ko) 멀티 터치 스크린에서의 탭핑을 이용하여 문자를 입력하는 장치 및 방법
US20140298275A1 (en) Method for recognizing input gestures
US9471107B2 (en) Method and electronic device for inputting handwriting data using rolled-up flexible display
JP2015088147A (ja) タッチパネル入力装置及び入力処理プログラム
CN108700990A (zh) 一种锁屏方法、终端及锁屏装置
JP2015153197A (ja) ポインティング位置決定システム
KR20120094728A (ko) 유저인터페이스 제공 방법 및 이를 이용한 휴대 단말기
KR102090443B1 (ko) 터치 제어 방법, 장치, 프로그램 및 컴퓨터 판독가능 기록매체
KR101919515B1 (ko) 터치스크린을 구비하는 단말에서 데이터 입력 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 5