KR101578769B1 - 동적으로 위치되는 온스크린 키보드 - Google Patents

동적으로 위치되는 온스크린 키보드 Download PDF

Info

Publication number
KR101578769B1
KR101578769B1 KR1020137016964A KR20137016964A KR101578769B1 KR 101578769 B1 KR101578769 B1 KR 101578769B1 KR 1020137016964 A KR1020137016964 A KR 1020137016964A KR 20137016964 A KR20137016964 A KR 20137016964A KR 101578769 B1 KR101578769 B1 KR 101578769B1
Authority
KR
South Korea
Prior art keywords
keyboard
key
user
home
keys
Prior art date
Application number
KR1020137016964A
Other languages
English (en)
Other versions
KR20140116785A (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 애플 인크.
Publication of KR20140116785A publication Critical patent/KR20140116785A/ko
Application granted granted Critical
Publication of KR101578769B1 publication Critical patent/KR101578769B1/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/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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • 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/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • 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
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2354/00Aspects of interface with display user

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)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

터치 용량성 및 진동 센서를 구비한 터치 감응성 디스플레이 표면이 제공된다. 이 표면은 사용자가 온스크린 키보드의 키 위에 그들의 손가락을 올려놓고, 정규의 키보드에서처럼 타이프를 할 수 있게 한다. 사용자가 그들의 손가락을 터치 스크린에 올려놓을 때, 시스템은 손가락이 놓여있는 위치로 온스크린 키보드를 재배치한다. 터치 센서는 터치된 각 키의 신호 강도 레벨을 프로세서에게 보고하지만, 대응하는 "탭"(즉, 진동)이 검출될 때까지 프로세서에 의해 키스트로크가 발행되지 않는다. 탭이 검출될 때, 프로세서는 탭이 발생된 순간의 전에, 동안에, 및/또는 직후에 터치 용량 센서의 상태를 참조한다. 온스크린 키보드 키의 크기, 위치 및 방위는 홈-로우 규정 이벤트를 개시하는 사용자에 의해 그들의 손가락을 일시적으로 가상 홈-로우 위에 올려놓음으로써 결정된 대로 동적으로 설정된다.

Description

동적으로 위치되는 온스크린 키보드{DYNAMICALLY LOCATED ONSCREEN KEYBOARD}
본 발명은 사용자가 이벤트 작동을 일으키지 않고 그들의 손 또는 손가락을 표면상에 올려놓을 수 있게 하는 부드러운 터치 감응 표면에 관한 것이다. 더 구체적으로, 터치 표면은 텍스트 및 커맨드를 입력하기 위해 사용되는 온스크린 키보드를 제공하는 동적 디스플레이이다.
인간으로부터 기계로 텍스트 및 데이터를 입력하기 위한 주요 방법으로서의 현대 키보드의 기원은 19세기의 초기 타자기(typewriter)로 거슬러 올라간다. 컴퓨터가 개발됨에 따라, 타자기 키보드를 텍스트 및 데이터를 입력하기 위한 주요 방법으로서 사용되도록 적응시키는 것은 자연적인 진화이었다. 타자기 및 후속적으로 컴퓨터 키보드에서 키의 구현이 기계식으로부터 전기식으로 및 최종적으로는 전자식으로 진화하였지만, 키 자체의 크기, 배치 및 기계적 성질은 크게 변하지 않고 유지되었다.
컴퓨터는 "데스크톱" 구성으로부터 "랩톱", "노트북", "넷북" 또는 "포터블"과 같은 휴대가 더욱 용이한 구성으로 진화하였다. 이러한 랩톱 컴퓨터는 전형적으로 장치의 일부로서 통합된 기계적 키보드를 구비한다. 이러한 유형의 통합 키보드는 전형적으로 데스크톱 컴퓨터와 함께 사용되는 독립식 키보드와 크기 및 느낌이 유사하다는 장점이 있다. 그러나, 키보드를 포함시킴으로써 휴대용 컴퓨터가 2개의 부분, 즉 디스플레이와 키보드를 갖게 된다. 대부분의 휴대용 컴퓨터 모델은 키보드 부분이 베이스를 형성하고 디스플레이 부분이 뚜껑을 형성하는 "크램셀"(clamshell) 설계를 갖는다. 따라서, 휴대용 컴퓨터에 키보드가 있으면 키보드가 없을 때 필요한 것보다 크기가 약 2배로 된다.
과거 십년 동안, 일반적으로 "태블릿" 컴퓨터라고 부르는 새로운 형태의 휴대용 컴퓨팅 장치가 출현하였다. 이러한 유형의 휴대용 컴퓨팅 장치는 전형적으로 통합 키보드를 갖지 않고, 그 대신에 인간-컴퓨터 인터페이스의 주요 수단으로서 터치에만 의존한다. 많은 사람들은 일상 생활에 통합된 태블릿 및 궁극적으로 "터치 표면"은 인간이 장래에 "컴퓨터"와 인터페이스하는 표준 방법이 될 것이라고 믿는다.
이러한 새로운 패러다임의 터치 중심 컴퓨팅이 많은 장점을 갖지만, 한가지 현저한 단점은 키보드가 없다는 것이다. 비록 외부의 물리적 키보드가 전형적으로 터치 스크린 컴퓨터에 접속될 수 있지만, 이것은 가끔 장치의 목적을 파괴하고 종래의 랩톱 컴퓨터에 대한 그 장점을 무효로 만든다.
컴퓨팅 장치의 진화가 터치 기반 사용자 인터페이스 쪽으로 진전됨에 따라서, 키보드의 관념에 대한 자연적인 진화는 키보드를 컴퓨터 디스플레이의 가상 세계로 집어넣었다.
아우어(Auer) 등의 미국 특허 제4,725,694호에는 하나 이상의 시뮬레이트된 키보드 이미지가 컴퓨터의 터치 감응성 스크린에 디스플레이되고, 시뮬레이트 키의 터치에 응답하여 적당한 제어 신호를 발생하는 시스템이 개시되어 있다. 이 개념의 차후 순화(refinement)에서, 키보드의 이미지는 스크린의 전용 부분을 점유하기보다는 컴퓨터에서 동작중인 다른 애플리케이션 위에 부동(floating)하여 디스플레이된다. 사용자는 커서 포인터를 그 위에 지향시킴으로써, 또는 손가락 또는 스타일러스를 이용하여 터치 스크린을 통하여 키를 직접 터치함으로써 상기 "온스크린 키보드" 또는 "가상 키보드"와 상호작용한다.
아우어의 특허에 개시된 것과 같은 온스크린 키보드는 특정의 공공 정보 키오스크 및 개인용 정보 단말기(PDA), 스마트폰, 태블릿, 및 물리적 키보드를 수용하기에는 너무 작은 기타의 핸드헬드 컴퓨터와 같이, 표준 키보드가 없는 장치용으로 주로 사용되었다. 온스크린 키보드는 종래의 전자기계 키보드를 사용할 수 없는 물리적 장애를 가진 사람에 의해 또한 빈번하게 사용된다.
PDA 및 스마트폰과 같은 소형 터치스크린 장치들은 인간이 복수의 손가락으로 터치 타이핑하는 종래의 방법을 이용하여 온스크린 키보드에서 타이프할 수 있을 정도의 충분한 스크린 크기를 갖지 못한다. 결국, 많은 발명들이 종래의 키보드 레이아웃보다 더 작은 물리적 공간을 요구하는 대안적인 텍스트 입력 방법을 제공하는 것을 추구하고 있다.
그로버(Grover) 등의 미국 특허 제5,818,437호에는 각각의 키에 복수의 문자를 할당함으로써 필요로 하는 별도의 키의 수를 감소시킨 시스템이 개시되어 있다. 온스크린 키보드의 크기를 줄이고 및/또는 작은 스크린에서 텍스트를 입력하기 쉽게 하는 유사한 목적을 가진 다른 발명들로는 리(Lee)의 미국 특허 제6,292,179호; 켈러(Kaehler)의 미국 특허 제5,128,672호; 바거스(Vargas)의 미국 특허 제5,748,512호; 니메이어(Niemeier)의 미국 특허 제5,574,482호; 반 클리크(Van Kleeck)의 미국 특허 제6,008,799호; 및 퍼린(Perlin)의 미국 특허 제6,031,525호가 있다.
비록 이들 발명이 작은 온스크린 키보드에서 텍스트를 입력하는 상이한 장점들을 갖기는 하지만, 이 발명들은 종래의 키보드에서 표준 "10-손가락" 타이핑에 필적할 정도의 속도로 텍스트를 입력할 수 있게 하지는 않는다.
타이핑 속도를 향상시키기 위한 노력으로, 로빈슨(Robinson) 등의 미국 특허 제7,277,088호에는 사용자가 온스크린 키보드의 키에서 단어의 각 글자를 선택할 때 명확화 알고리즘(disambiguation algorithms)에 의해 사용자가 덜 정확하게 되는 것을 허용하는 시스템이 개시되어 있다. 덜 정밀함의 허용은 아마도 사용자가 더 빨리 타이프할 수 있게 할 것이다.
쿠슬러(Kushler) 등의 미국 특허 제7,098,896호에는 원하는 단어의 첫글자를 나타내는 키를 규정하고, 그 다음에 터치 표면과의 접촉을 유지하면서 단어의 각각의 다음 글자를 나타내는 키로부터 키로의 슬라이딩을 행하는 사용자에 의해 야기되는 단일 손가락(또는 스타일러스) 텍스트 입력을 가능하게 하는 시스템이 개시되어 있다. 이것은 각각의 글자에 대하여 온스크린 키보드상에서 올렸다 내렸다 하는 동작을 제거하여 텍스트 입력을 가속화하는 장점이 있다. 명확화 알고리즘은 사용자가 각 글자를 선택할 때 덜 정확하게 하는 것을 허용하여 속도를 더욱 증가시킨다.
쿠슬러 등이 개발한 기술의 상업화 버전인 스와이프(Swype®)는 스마트폰에서 가장 빠른 타이핑에 대한 세계 기록을 수립하였다. 기록을 깨는 개인은 미리 규정된 구(phrase)를 분당 61 단어의 속도로 입력한다. 이 속도가 현저하긴 하지만, 단일 손가락 입력에 기초할 경우 10-손가락 타이핑을 이용할 때 가능한 가장 빠른 속도보다 여전히 훨씬 아래에 있다.
다른 하나의 방법은 구두 발성(verbal utterance)에 의해 텍스트를 입력하기 위해 음성 인식 시스템을 사용하는 것이다. 비록 이 기술이 최근까지 크게 개선되었지만, 이 기술이 100% 정확하게 작용한다 하더라도, 구두 발성에 의한 텍스트 입력이 사용자에 의해 원하지 않는 경우가 많이 있다(예를 들면, 가청 범위 내에서 다른 사람의 프라이버시 또는 고려가 요구되는 경우). 따라서, 일부 종류의 키보드 패러다임을 통하여 텍스트를 입력하는 대안적인 방법이 여전히 필요하다.
따라서, 10-손가락 타이핑을 수용할 수 있는 대형 터치 스크린에 대하여, 종래의 키보드에서 숙달된 타이핑 스타일과 더욱 밀접하게 정합하는 더 빠른 텍스트 입력 방법을 찾는 것이 바람직하다. 이렇게 하는 데에는 3가지의 중요 난제가 있다. 첫째로, 10-손가락 온스크린 키보드를 위해 필요한 비교적 큰 양의 디스플레이 영역을 극복하는 것, 둘째로, 기계적 키보드에서 공통인 촉각 피드백의 결여를 극복하는 것, 및 세째로, 사용자가 통상적으로 종래의 전자기계 키보드에서 하는 것처럼 사용자가 온스크린 키보드의 "홈-로우"(home-row) 위치에 그들의 손가락을 올려놓을 수 있게 하는 것이다.
마스덴(Marsden) 등의 미국 특허 출원 제2009/0073128호는 사용자가 그의 손가락을 터치 감응 표면 위에서 휴지(rest)하게 하고 의도된 키 누름을 서로 상관하여 작용하는 터치 센서와 진동 센서 둘 다를 이용하여 검출함으로써 문제점을 극복한다. 그러나, 이 방법은 키보드 키가 고정 위치에 있는 것을 가정하고, 따라서 휴대용 장치의 동적 디스플레이의 실질적 공간을 취한다. 또한, 키들의 위치가 고정되기 때문에, 사용자는 그들의 손가락이 올바른 위치에서 태핑하는지 확인하기 위해 주의를 기울여야 한다. 키기 위치되는 만입부(indent)와 같은 감촉 마커(tactile marker)는 사용자가 쳐다보지 않고 키를 느끼게 하는 데에 도움을 준다. 그러나, 터치 스크린 장치에서 감촉 마커를 두는 것은 비실용적이다.
종래의 전자기계 키보드는 "홈-로우"(home-row), 즉 사용자가 타이프를 준비할 때 그들의 손가락을 지향시키고 휴지하게 하는 키의 개념을 오랫동안 사용하였다. 이 개념은 키를 쳐다보지 않고 10-손가락 타이프에 익숙한 사용자에게 특히 중요하다. 홈-로우에 지향(홈-로우의 특정 키에서 나타나는 특수한 "마커"를 이용하는 것을 포함함)시킴으로써, 사용자는 원하는 글자, 기호, 수 또는 함수를 타이프하기 위해 그들의 손가락을 이동시킬 곳을 인식한다. 이것은 사용자가 그들의 손가락을 쳐다보지 않고 신속히 타이프할 수 있게 하고, 그 대신에 그들이 구성하는 텍스트에 집중할 수 있게 한다.
오늘날의 컴퓨터, 이메일 및 텍스트 메시징의 유행으로 인해 "터치 타이퍼"의 비율이 이전 세대보다 훨씬 더 높아졌다(타이핑 부류가 비서직의 직업을 추구하는 사람들에게만 정상적으로 제공될 때). 사실, 이러한 키보드 다루는 기교는 이제 어린 학생들의 교육 과정에서 조기에 가르쳐지고 있다. 10-손가락(또는 "터치") 타이핑은 텍스트를 구성함에 있어서 아직까지 가장 빠르고 가장 신뢰성 있는 공지 방법이다.
본 발명은 터치 감응 스크린에 디스플레이된 온스크린 키보드의 키 위에서 사용자가 손가락을 휴지하게 하고, 온스크린 키보드의 위치, 방위, 형상 및 크기를 동적으로 규정할 수 있는 시스템 및 방법을 제공한다. 사용자가 키(전형적으로 상기 키에 감촉 마커를 필요로 하는 키) 위에 손가락을 두는 것에 주의를 기울이는 대신에, 시스템은 온스크린 키보드의 위치를 사용자 손가락이 이미 휴지하고 있는 곳으로 동적으로 이동시킨다.
본 발명의 일 양태에 있어서, 프로세스는 온스크린 키보드의 홈-로우가 위치된 곳을 시스템이 재규정하게 하는 사용자에 의해 수행되는 동작인 "홈-로우 규정 이벤트"를 규정한다. 이 위치는 사용자 동작에 기초하여 동적으로 확립된다.
본 발명의 다른 양태에 있어서, 홈-로우 규정 이벤트는 사용자가 미리 정해진 시구간(예를 들면, 1초) 동안 양손의 모두 4개의 손가락을 터치 감응 표면 위에서 동시에 휴지할 때 규정된다.
본 발명의 또 다른 양태에 있어서, 홈-로우 규정 이벤트는 사용자가 터치 감응 표면에서 양손의 모두 4개의 손가락을 이중 태핑하고, 그 다음에 제2 태핑 후에 표면에서 손가락을 휴지할 때 규정된다.
본 발명의 또 다른 양태에 있어서, 홈-로우 규정 이벤트는 사용자가 터치 감응 표면에서 양손의 모두 4개의 손가락을 동시에 휴지하게 하고, 그 다음에 손가락을 순간적으로 아래로 누를 때 규정된다.
이러한 동작(및 다른 동작)은 사용자의 손가락이 홈-로우 휴지 위치에 있음을 시스템에 표시하기 위해 사용자에 의해 개시된다. 본 발명의 시스템은 그 다음에 온스크린 키보드를 그에 따라서 지향시킨다. 홈-로우의 키들은 (대부분의 전자기계 키보드에서처럼) 연속선상에 있을 필요가 없다는 점에 주목한다. 그보다 홈-로우에서 각 키의 위치는 터치 센서에 의해 감지되는 홈-로우 규정 이벤트 중에 사용자의 8개의 손가락의 배치에 의해 규정되고, 그 다음에 "홈-로우 휴지 키"가 아닌 키들에 대하여 외삽(extrapolate)된다. 이 방법으로, 홈-로우는 각 손의 배치에 대하여 하나씩 2개의 별도의 선을 따르거나, 또는 2개의 곡선을 형성할 수 있다.
이 방법은 사용자가 터치 감응 디스플레이 표면에 그들의 손가락을 올려놓고 휴지하는 것과 사용자가 가상 키에서 태핑함으로써 타이프하려고 의도하는 것 간의 차이를 본 발명의 시스템이 구별하는 것을 요구한다. 이러한 방법은 마스덴(Marsden)의 미국 특허 출원 제2009/0073128호에 개시되어 있다.
홈-로우 규정 이벤트가 발생하면, 시스템은 여러 가지 방법으로 사용자에게 피드백을 제공한다. 본 발명의 일 양태에 있어서, 시스템은 온스크린 키보드가 사용자의 손가락 아래에 나타나게 함으로써 시각적 피드백을 제공한다. 본 발명의 다른 양태에 있어서, 시스템은 가청 큐(audible cue)를 제공한다. 본 발명의 또 다른 양태에 있어서, 시스템은 터치 스크린이 순간적으로 진동하게 한다.
본 발명의 일 양태에 있어서, 사용자의 선호도에 따라서, 온스크린 키보드는 타이핑이 발생하는 동안에 계속적으로 눈에 보이게 유지된다. 대안적으로, 온스크린 키보드는 홈-로우 규정 이벤트 후에 투명하게 된다. 본 발명의 다른 양태에 있어서, 온스크린 키보드는 사용자가 화면 속에 있는 콘텐트를 키보드를 통하여 볼 수 있도록 반투명으로 된다.
본 발명의 또 다른 양태에 있어서, 온스크린 키보드는 사용자가 타이프할 때 시각적인 상태와 비시각적인 상태 사이에서 순환한다. 사용자가 "숨겨진" 온스크린 키보드에서 탭할 때마다, 온스크린 키보드가 일시적으로 나타나고, 그 다음에 사용자가 설정가능한 시간량이 경과한 후에 사라진다.
본 발명의 또 다른 양태에 있어서, 각각의 키스트로크가 있은 후에 특정의 키만이 시각적으로 된다. 일시적으로 시각적으로 되는 키는 바로 앞서는 텍스트 입력 시퀀스를 따를 가능성이 가장 높은 키들이다(시스템에 저장된 단어 및 글자 데이터베이스에 의해 결정됨).
본 발명의 또 다른 양태에 있어서, 온스크린 키보드는 홈-로우 위치에서 손가락을 휴지하는 사용자가 그 휴지하는 손가락으로 표면을 누를 때 일시적으로 시각적으로 된다.
본 발명의 또 다른 양태에 있어서, 온스크린 키보드는 사용자가 터치 센서 영역의 외측의 엔클로저의 가장자리에서 미리 규정된 동작, 예를 들면 이중 태핑 또는 삼중 태핑을 수행할 때 시각적으로 된다.
본 발명의 일 양태에 있어서, 홈-로우 휴지 키는 각 손의 4개의 손가락이 휴지하는 8개의 키로서 규정된다. 본 발명의 또 다른 양태에 있어서, 휴지 키는 8개의 손가락을 모두 사용하지 않는 사용자를 수용하기 위해 8개의 키보다 더 적을 수 있다.
본 발명의 다른 양태에 있어서, 시스템은 의도된 방향으로 특정 손가락의 이동에 따라서 어떤 키가 의도되었는지 명확화한다. 예를 들면, 사용자는 약지 손가락을 들어올려서 약간 하향으로 내린 다음 태핑할 수 있다. 사용자는 인접 키의 가상 위치에 도달할 정도로 너무 많이 이동시키지 않았지만, 그들의 의도는 손가락이 그들의 휴지 위치로부터 규정가능한 역치 거리만큼 이동하고 인접 키의 방향으로 탭하였기 때문에 명확히 인접 키를 선택하는 것이었다. 이 예에서 비록 탭이 인접 키에서 발생하지 않았다 하더라도 시스템은 인접 키를 선택할 것이다.
본 발명의 다른 양태에 있어서, 시스템은 각 키가 선택되는 확률을 바로 앞서는 텍스트 시퀀스에 따라서 조정한다. 이 확률은 사용자가 탭 하려고 하는 가장 가능성 높은 키를 결정하기 위해 위에서 설명한 탭 위치 알고리즘과 함께 사용된다.
본 발명의 또 다른 양태에 있어서, 시스템은 사용자가 온스크린 키보드에서 타이프할 때 "사용자 표류"(user drift)을 자동으로 계산한다. 각 키에 대한 촉감의 이익이 없으면, 사용자가 타이핑할 때 그들의 손을 약간 이동시키기 쉽다. 시스템은 의도된 키의 중심을 사용자가 태핑한 실제 위치와 비교함으로써 이 행동을 추적한다. 만일 일관된 표류가 연속적인 키 이벤트의 스페이스에서 검출되면, 시스템은 그에 따라서 그 표류를 수용하도록 키의 위치를 이동시킨다. 다시, 키가 어디에 있는지 사용자가 주의를 기울이는 대신에, 시스템이 사용자의 손가락이 이미 위치하고 있는 곳으로 키를 이동시킨다.
만일 사용자 표류가 터치 감응 지역의 빗나가는 지점까지 너무 멀면, 시스템은 가청 큐, 시각적 큐 및/또는 진동 큐를 이용하여 사용자에게 경고한다.
본 발명의 다른 양태에 있어서, 방법 및 시스템은 휴대용 컴퓨팅 장치의 표면상에서의 사용자 탭을 감시하지만, 터치 센서의 경계 내에서의 사용자 탭은 감시하지 않는다. 예를 들면, 사용자는 스페이스바 작동을 표시하도록 장치 엔클로저의 가장자리를 탭할 수 있다. 다른 탭 이벤트와 마찬가지로, 시스템은 터치 센서 및 진동 센서로부터의 신호들을 상관시켜서 탭 위치를 결정한다. 신호의 부재가 터치 센서에 의해 검출될 때. 시스템은 그 이벤트를 "외부 탭"(즉, 터치 센서의 경계 외측에서 장치 표면에서의 탭)으로서 인식한다. 외부 탭은 엔클로저에서 그들의 위치에 따라 독특한 진동 파형을 발생한다. 이러한 파형들의 특성은 데이터베이스에 저장되고, 외부 탭의 일반적 위치를 독특하게 식별하기 위해 사용된다. 외부 탭은, 일단 식별되면, 키보드 기능(예를 들면, 스페이스 또는 백스페이스)로 지정될 수 있다.
본 발명의 양호한 실시예 및 대안적인 실시예들은 첨부 도면을 참조하여 뒤에서 구체적으로 설명된다.
도 1은 본 발명의 실시형태에 따라 구성된 예시적인 시스템을 보인 블록도이다.
도 2a 내지 도 2f는 도 1에 도시된 시스템에 의해 수행되는 예시적인 프로세스의 흐름도이다.
도 3a는 본 발명의 실시형태에 따라 형성된 평표면 가상 키보드를 가진 태블릿 장치의 개략도이다.
도 3b 및 도 3c는 본 발명의 실시형태에 따라 형성된 키보드 디스플레이를 보인 도이다.
도 1은 영숫자 입력을 위한 적응적 온스크린 키보드 사용자 인터페이스를 제공하는 예시적인 장치(100)의 블록도이다. 장치(100)는 CPU(프로세서)(110)에게 입력을 제공하는 하나 이상의 터치 센서(120)를 포함한다. 터치 센서(120)는 표면이 터치되었을 때 접촉 이벤트를 프로세서(110)에게 통보한다. 일 실시형태에 있어서, 터치 센서(120) 또는 프로세서(110)는 이용가능한 데이터 포트에 의한 공지의 통신 프로토콜을 이용해서, 터치 센서(120)에 의해 생성된 미가공(raw) 신호를 해석하고 정보를 프로세서(110)에 전달하는 하드웨어 제어기를 포함한다. 장치(100)는 표면이 탭될 때 터치 센서(120)가 통신하는 것과 유사한 방식으로 프로세서(110)에 신호를 통신하는 하나 이상의 진동 센서(130)를 포함한다. 프로세서(110)는 키보드 이미지를 발생하고, 키보드 이미지는 센서(120, 130)로부터 수신된 신호에 기초하여 디스플레이(140)(터치 표면)에서 나타난다. 스피커(150)가 또한 프로세서(110)에 결합되어 임의의 적당한 청각 신호가 안내(guidance)로서 사용자에게 전달된다(예를 들면, 에러 신호). 진동기(155)가 또한 프로세서(110)에 결합되어 적당한 촉각 피드백을 사용자에게 제공한다(예를 들면, 에러 신호). 프로세서(110)는 메모리(160)와 데이터 통신을 행하고, 메모리(160)는 일시적 및/또는 영속적 스토리지의 조합, 및 읽기 전용 및 쓰기가능 메모리(랜덤 액세스 메모리(RAM)), 읽기 전용 메모리(ROM), 쓰기가능 비휘발성 메모리, 예컨대 플래시 메모리, 하드 드라이브, 플로피 디스크 등을 포함한다. 메모리(160)는 운영체제(171), 적응적 온스크린 키보드("OSK") 소프트웨어 컴포넌트(172), 및 임의의 다른 응용 프로그램(173)과 같은 모든 프로그램 및 소프트웨어를 포함하는 프로그램 메모리(170)를 포함한다. 메모리(160)는 또한 단어 데이터베이스(181), 사용자 옵션 및 선호도의 레코드(182), 및 장치(100)의 임의 요소에서 필요로 하는 임의의 다른 데이터(183)를 포함하는 데이터 메모리(180)를 포함한다.
센서(120, 130)로부터의 신호에 기초하여 프로세서(110)가 홈-로우 이벤트를 검출한 때, 프로세서(110)는 디스플레이(140) 상의 사용자 손가락 아래에 가상의 온스크린 키보드를 위치시킨다. 사용자가 타이프할 때, 프로세서(110)는 사용자의 손가락의 배치뿐만 아니라 각각의 키 작동을 위한 탭핑 위치를 항구적으로 감시하고, 온스크린 키보드가 사용자가 타이핑하는 곳에 위치되는 것을 보장하기 위해 각 키(및 전체 키보드)의 위치, 방위 및 크기를 조정한다. 이 방법으로, 사용자의 "표류", 즉 온스크린 키보드의 원래 위치로부터 사용자 손가락의 이동을 계산할 수 있다. 만일 사용자 표류가 터치 센서 영역의 가장자리에 도달하기까지 한 방향으로 너무 멀면, 프로세서(110)는 가청 및/또는 촉각 경고를 출력한다.
어쨌든, 사용자는 홈-로우 규정 이벤트를 개시함으로써(위에서 설명한 것처럼) 온스크린 키보드의 위치를 수동으로 재지정할 수 있다.
일 실시형태에 있어서, 촉각 피드백은 사용자가 그의 집게 손가락을 일반적으로 "홈 키"라고 부르는 키(전형적인 영어 키보드에서 F 키와 J 키) 위에 위치시킬 때 진동기(155)를 통해 제공된다. 일 실시형태에 있어서, 사용자가 그의 손가락을 키 위에 올려놓을 때 좌측 손 및 우측 손에 대하여 약간 상이한 진동 주파수를 이용하여 순간 진동이 발생된다. 이 방법으로, 사용자는 사용자가 온스크린 키보드의 위치를 동적으로 변경시키지 않도록 프로세서(110)를 선택한 때 그의 손을 고정된 홈-로우 위치로 다시 이동시키도록 선택할 수 있다. 다른 실시형태에 있어서, 이러한 진동의 강도는 고정된 홈-로우의 홈 키에 대한 손가락 위치에 따라서 변경될 수 있다.
장치(100)는 사용자가 그의 손가락 또는 가상 키보드를 쳐다보지 않고 타이프할 수 있게 한다. 따라서, 키보드는 항상 눈에 보이게 할 필요가 없다. 이것은 가치있는 스크린 공간을 다른 용도로 사용할 수 있게 한다.
일 실시형태에 있어서, 키보드의 시각적 나타남(appearance)은 보이는 상태, 부분적으로 보이는 상태, 보이지 않는 상태 및 반투명 상태 사이에서 그 상태를 변경할 수 있다. 홈-로우 규정 이벤트가 발생한 때 또는 사용자가 설정가능한 역치 시간량 동안 타이핑 없이 그의 손가락을 올려놓은 때 전체 키보드가 시각적으로 나타난다. 사용자가 타이프를 시작한 때, 키보드는 사용자가 홈-로우 규정 이벤트, 타이핑 일시중지, 4개의 손가락을 동시에 누르기, 또는 어떤 다른 독특하게 식별되는 행동을 포함하는(그러나 이들로 제한되는 것은 아님) 다수의 동작 중 임의의 하나를 수행할 때까지 눈에 보이지 않게 사라진다. 다른 실시형태에 있어서, 키보드는 완전히 보이지 않게 사라지지 않고 반투명으로 되어서 사용자가 키가 있는 위치를 여전히 인식할 수 있을 뿐만 아니라 온스크린 키보드 아래에 있는 스크린의 내용을 또한 볼 수 있게 한다.
일 실시형태에 있어서, 키보드는 일시적으로 "점등"되거나, 탭된 키뿐만 아니라 탭된 키의 바로 주변에 있는 키들을 탭된 키로부터의 거리에 비례하는 반투명 방식으로 가시적으로 만든다. 이것은 키보드의 탭된 영역을 짧은 시구간 동안 조명한다.
일 실시형태에 있어서, 키보드는 다음에 선택될 확률이 가장 높은 키들을 그 확률에 비례하여 조명함으로써 "부분적으로" 가시적으로 된다. 사용자가 키를 태핑하자마자, 다음 태핑으로 이어질 가능성이 높은 다른 키들이 가시적으로 또는 반가시적으로 된다. 선택될 가능성이 더 높은 키들은 더 가시적으로 되고, 선택될 가능성이 더 낮은 키들은 덜 가시적으로 된다. 이 방법으로, 키보드는 사용자가 가능성이 가장 높은 다음 키로 가는 경로를 "조명"한다.
일 실시형태에 있어서, 온스크린 키보드는 터치 감응 표면 주위의 엔클로저의 외부 테(rim)에서 사용자가 수행하는 탭 행동(예를 들면, 빠르게 연속으로 행하는 이중 태핑 또는 삼중 태핑)에 의해 일시적으로 가시적으로 된다.
온스크린 키보드의 시각적 표시의 각종 모드는 사용자 인터페이스 프로그램에서 설정하는 선호도에 의해 사용자가 선택할 수 있다.
도 2a 내지 도 2f는 장치(100)에 의해 수행되는 예시적인 프로세스를 보인 것이다. 도 2a 내지 도 2f에 도시된 흐름도는 본 발명의 소프트웨어를 전체적으로 완전하게 구체화하는 것으로 의도되지 않고, 설명 목적으로만 사용된다.
도 2a는 OSK 소프트웨어 컴포넌트(172)에 의해 제공되는 명령어에 기초하여 프로세서(110)에 의해 실행되는 프로세스(200)를 보인 것이다. 블록 206에서, 프로세스(200)가 처음 시작될 때, 최소 휴지 시간, 손가락 터치 수의 역치, 표류 거리 역치 및 키 역치와 같은 각종 시스템 변수들이 초기화된다. 블록 208에서, 프로세스(200)는 터치 스크린 영역 내에서 접촉이 발생하였음을 통지받을 때까지 기다린다. 그 다음에, 블록 210에서, 홈-로우 검출이 하나 이상의 센서(120, 130)로부터의 신호에 기초하여 발생한다. 홈-로우 검출은 도 2b에서 더 자세하게 설명된다. 블록 212에서, 디스플레이될 가상 키보드의 키들의 위치가 센서 신호에 기초하여 결정된다. 키 위치 결정은 도 2c에서 더 자세하게 설명된다. 다음에, 블록 216에서, 키 작동이 처리된다(더 자세한 것은 도 2d 및 도 2e 참조). 블록 218에서, 사용자의 손가락 표류가 센서 신호에 기초하여 검출된다. 손가락 표류는 도 2f에서 더 자세하게 설명된다. 다음에, 블록 220에서, 가상 키보드가 블록 210-218에서 이루어진 결정들 중 적어도 하나에 기초하여 디스플레이(140)에 나타난다. 프로세스(200)는 사용자가 8개의 손가락을 제거하고 그 다음에 터치스크린과 접촉할 때 반복된다.
도 2b는 홈-로우 검출 프로세스(210)를 보인 것이다. 결정 블록 234에서, 프로세스(210)는 사용자가 그의 손가락을 최소 시간량(즉, 최소 휴지 역치) 동안 터치스크린 위에 올려놓았는지 결정한다. 결정 블록 236에서, 프로세스(210)는 적당한 수의 손가락이 터치 표면 위에 놓여졌고 그에 따라서 홈-로우 규정 이벤트를 개시하는지 결정한다. 만일 블록 234 또는 236에서의 조건이 충족되지 않으면, 프로세스(210)는 온스크린 키보드의 위치를 변경하지 않고 빠져나온다.
휴지 손가락 필요조건의 시간 및 수가 둘 다 충족되면, 프로세서(110)는 휴지 손가락의 위치를 결정한다(블록 240 참조). 그 다음에 키스페이스인덱스(KeySpaceIndex; "KSI")가 블록 242에서 결정된다. KSI는 사용자 손가락의 크기 및 스페이스에 온스크린 키보드를 맞추기 위해 사용된다.
KSI는 동일한 사용자의 경우에도 하나의 홈-로우 규정 이벤트로부터 다음 홈-로우 규정 이벤트로 바뀔 수 있다. 일 실시형태에 있어서, 각 손의 모두 4개의 손가락이 홈-로우 규정 이벤트를 개시하기 위해 터치 표면 위에 휴지된다. 그 경우에, KSI는 하기의 공식으로 주어진다:
KSI=(평균 휴지키 스페이스)/(모델링된 명목상 스페이스)=[(a+b+c)/3]A= (a+b+c)/3A
여기에서,
A= 키 간의 모델링된 명목상 거리(전형적으로 19mm)
a= 휴지키 1과 휴지키 2 사이의 측정 거리
b= 휴지키 2와 휴지키 3 사이의 거리
c= 휴지키 3과 휴지키 4 사이의 거리
KSI 공식은 만일 홈-로우 규정 이벤트를 개시하기 위해 4개 미만의 휴지 손가락이 사용되면(데이터베이스에 저장된 사용자 선호도의 집합에서 규정됨), 그에 따라서 조정될 수 있다. KSI는 후속 프로세스에서 사용된다.
표준 온스크린 키보드의 데이터 모델은 시스템의 메모리에 저장된다. 이 데이터 모델에서, 온스크린 키보드 레이아웃은 2개의 섹션, 즉, 우측 손으로 정상적으로 타이프되는 키와 좌측 손으로 정상적으로 타이프되는 키로 나누어진다. 또한, 각 키는 상기 특수 키("관련 휴지 키"로서 규정됨)를 타이프할 가능성이 가장 높은 손가락이 위에 놓여지는 홈-로우 휴지 키와 관련된다. 각 키의 위치는 그 관련 휴지 키로부터의 상대적 측정치로서 데이터 모델에 규정된다.
각 키의 위치를 결정하는 예시적인 공식은 다음과 같이 주어진다:
키(x', y')= 키모델(x*KSI, y*KSI)
여기에서,
x= 관련 휴지 키(Related Resting Key; RRK)의 중심으로부터 명목상의 저장된 x 거리이고,
y= RRK의 중심으로부터 명목상의 저장된 y 거리이다.
2개 이상의 키의 수정된 키 위치는 중첩될 수 있다. 만일 중첩되면, 중첩하는 키의 크기는 중첩이 해소될 때까지 감소된다.
각각의 휴지 키에 대하여 X-Y 축의 방위가 별도로 결정된다. 좌측 섹터와 우측 섹터 각각에 대하여, 곡선이 그 섹터의 휴지 키에 맞추어진다. 그 다음에, 각 키에 대한 X-Y 축이 그 키의 중심에서의 곡선에 대하여 접선(x축에 대하여) 및 직교 접선(y축에 대하여)으로 되도록 지향된다.
도 2c는 키 위치 지정 프로세스(212)를 보인 것이다. 프로세스(212)는 키보드의 각 키에 대하여 반복된다. 블록 252에서, 각 키에 대한 미리 저장된 위치가 그 연관된 휴지 키 위치에 대하여 [휴지키,Δx,Δy]의 형태로 데이터베이스(181)로부터 검색된다. 예를 들면, 문자 "R"을 표시하는 키는 휴지 키 L1(전형적으로 글자 "F")과 연관되고, L1의 상부 좌측에 위치된다. 따라서, 그 데이터 집합은 [L1, -5, 19]로 된다(밀리미터로 측정하였을 때). 유사한 데이터가 각 키에 대하여 데이터베이스(181)로부터 검색된다. 블록 254에서, 새로운 상대적 옵셋이 데이터베이스로부터 검색된 옵셋에 KSI를 곱함으로써 각 키에 대하여 계산된다. 그 다음에, 블록 258에서, 새로운 옵셋을 블록 254에서 결정된 연관된 휴지 키의 절대 위치에 가산함으로써 각 키의 절대 좌표가 결정된다. 결정 블록 260에서, 프로세스(212)는 임의의 키가 중첩하는지를 알기 위한 테스트를 행하고, 만일 중첩하면 그 중첩을 제거하기 위해 블록 262에서 키의 크기 및 위치가 조정된다. 그 다음에, 프로세스(212)는 프로세스(200)로 되돌아간다.
도 2d는 프로세스-키 작동 프로세스(216)를 보인 것이고, 이 프로세스에 의해 실제 키 이벤트가 결정되고 출력된다. 프로세스(216)는 유효 터치-탭 이벤트가 발생하였는지 테스트하는 블록 270에서 시작한다. 이것은 마스덴 등의 미국 특허 출원 제2009/0073128호에서 더 자세하게 설명된 것처럼 터치 센서(120)와 진동 센서(130) 간의 상관을 통하여 결정된다. 블록 272에서 키 스코어 알고리즘을 적용함으로써 후보 키들이 스코어(score)된다. 그 다음에, 최고의 스코어를 가진 키가 블록 274에서 출력되고, 프로세스(216)는 복귀한다.
도 2e는 도 2d의 블록 272로부터 키 스코어 알고리즘에 대한 프로세스를 보인 것이다. 블록 280에서, 터치 센서(120) 및 진동 센서(130)에 의해 수신된 신호들을 상관시켜서 사용자의 탭이 발생한 곳을 결정하고, 바로 인접하는 키들을 "후보 키"로서 규정한다. 탭이 발생한 영역 주변의 키(탭이 발생한 해당 키가 아님)들을 고려해서, 프로세서(110)는 사용자의 타이핑 스타일의 불명료성을 계산한다. 결정 블록 282에서, 프로세스(272)는 사용자가 타이프를 위해 휴지 키로부터 그의 손가락을 이동시켰는지 알기 위한 테스트를 행한다. 전형적인 타이핑 스타일에서, 10-손가락을 터치하는 타이피스트마저도 항상 모두 4개의 손가락을 변함없이 휴지하지 않을 것이라는 점에 주목한다. 그래서, 유효 키가 타이프되게 하기 위해 휴지 키의 변경이 발생하는 것은 필수적인 것은 아니다. 그러나, 만일 변경이 후보 키 부근의 휴지 키의 상태에 대하여 발생하면(또는 휴지 키가 후보 키 자체이면), 블록 284에서 설명된 것처럼 그러한 변경으로부터 유용한 정보가 얻어질 수 있다. 블록 284에서, 상태 변경이 검출된 탭 부근의 휴지 키와 탭의 위치 사이에서 가상 선이 계산된다(블록 280에서 계산된 것처럼). 가상 선은 탭 위치를 지나서 연장한다. 블록 284에서, 계획된 선이 통과하거나 지나가는 키들이 결정되고 프로세서(110)는 그 키들의 스코어를 그에 따라서 증가시킨다. 이 방법으로, 탭 위치가 키에서 직접 발생하지 않는다 하더라도 원하는 키의 방향으로의 상대 운동이 그 키와 상관된다. 블록 288에서, 프로세서(110)는 데이터 메모리(181)에 저장된 언어 데이터와 비교되는, 타이프된 선행 단어 및 문자를 고려한다. 이것은 글자 쌍 통계 빈도, 부분 정합 예측, 단어 간 예측 및 단어 내 예측과 같은 일반적으로 알려진 명확화 방법을 포함한다. 적당한 스코어링이 각각의 후보 키에 지정된다. 블록 290에서, 사용자가 의도한 선택의 계산된 최고 확률을 나타내는 최고 스코어를 가진 후보 키가 결정되고 프로세스(272)는 복귀한다.
도 2f는 사용자가 타이프할 때 사용자가 우연히 그들의 손을 이동시킨(즉 "표류") 경우를 수용하기 위한 표류 검출 프로세스(218)를 보인 것이다. 프로세스(218)는, 블록 300에서, 실제 탭 위치를 디스플레이된 의도된 키의 현재 중심과 비교하고, X 좌표와 Y 좌표에서의 차를 ΔX와 ΔY로서 저장한다. 이 차들은 블록 302에서 이전의 키스트로크로부터의 이전의 누적 합계에 가산된다. 결정 블록 304에서, 프로세서(110)는 각 방향에서의 누적 차가 "표류역치"(DriftThreshold)라고 부르는 미리 저장된 변수(데이터 메모리(182)에 저장된 사용자 선호도 또는 디폴트 데이터로부터 규정됨)를 초과하는지 테스트한다. 만일 역치를 초과하면, 프로세서(110)는 블록 308에서 최종 위치 규정 이벤트 이후에 모든 ΔX와 ΔY의 평균만큼 전체 키보드의 위치를 이동시킨다. 만일 누척 차가 전체 키보드의 표류역치를 초과하지 않으면, 블록 316에서 개별 선택 키에 대한 유사한 계산이 수행된다. 결정 블록 318에서, 프로세서(110)는 그 개별 키에 대한 누적 차가 블록 316 후에 사용자가 규정한 키 역치를 초과하는지 테스트하고, 만일 초과하면, 블록 320에서 그 위치를 조정한다. 키 역치는 연관된 키의 현재 위치와 비교해서 탭의 위치에서의 허용가능한 오차 크기이다. 키 역치를 초과하면, 연관된 키가 이동된다. 블록 308 후에, 또는 블록 318에서의 결정이 '아니오'인 경우, 또는 블록 320 후에, 블록 310에서 프로세서(110)는 임의의 새로운 위치가 임의의 다른 키와 중첩하는지 및 전체 키보드가 아직 터치 센서의 경계 내에 있는지 테스트한다. 만일 상기 테스트에서 임의의 분쟁이 있으면, 블록 312에서 "최상의 맞춤" 알고리즘으로 그 분쟁을 보정하고 프로세스를 빠져나간다. 또한, 만일 분쟁이 발견되지 않으면 프로세스(218)가 복귀한다.
비록 본 발명의 방법이 온스크린 키보드가 보이지 않은 상태에서 사용자가 타이프를 할 수 있게 하지만, 사용자가 키를 보기 원하는 때가 여전히 있다. 예를 들면, 어떤 키가 원하는 문자와 연관되는지 사용자가 모르는 경우, 또는 특정 문자가 별도의 수치 및/또는 기호 층에 위치된 경우이다. 다른 사용자들은 각 문자가 어디에 위치하고 있는지를 기억에 의해 알고 있는 기계적인 암기에 의해 타이프하지 못할 수 있다. 이 때문에 및 다른 이유 때문에, 온스크린 키보드를 장치의 스크린에 시각적으로 나타내는 것이 중요하다.
저장된 사용자 선호도에 따라서, 온스크린 키보드는 타이핑이 수행되는 동안 계속적으로 눈에 보이게 유지될 수 있다. 대안적으로, 온스크린 키보드는 홈-로우 규정 이벤트 후에 투명하게 된다. 일 실시형태에 있어서, 온스크린 키보드는 사용자가 스크린 아래에 있는 콘텐트를 키보드를 통하여 볼 수 있도록 반투명으로 된다.
키보드가 눈에 보이지 않게 설정된 경우, 다른 콘텐트가 전체 스크린에 디스플레이될 수 있다. 눈에 보이지 않은 온스크린 키보드 아래에 위치된 아직 활성인 것으로 나타나는 버튼 등의 다른 사용자 인터페이스 요소가 있을 수 있다. 그러한 경우에, 장치(100)는 그러한 요소를 향하여 지향되는 사용자 입력을 차단하고 온스크린 키보드가 눈에 보이게 하여 사용자에게 그 사실을 상기시킬 수 있다. 사용자는 그 다음에 키보드 상에서 대응하는 키를 누름으로써 키보드를 치우도록 선택할 수 있다. 키보드를 치우는 것은 키보드를 보이지 않게 하는 것과 동일하지 않다는 점에 주목한다. 키보드를 치운다는 것은 터치스크린 장치에서 통상적으로 행하여지고 있는 바와 같이 키보드를 스크린에서 함께 "최소화"하는 것을 의미한다.
일 실시형태에 있어서, 온스크린 키보드는 사용자가 타이프할 때 가시적인 상태와 비가시적인 상태 사이에서 순환한다. 사용자가 "숨겨진" 온스크린 키보드에서 탭할 때마다, 온스크린 키보드가 일시적으로 나타나고, 그 다음에 사용자가 설정가능한 시간량이 경과한 후에 사라진다.
일 실시형태에 있어서, 각각의 키스트로크가 있은 후에 특정의 키들만 가시적으로 된다. 일시적으로 가시적으로 되는 키는 바로 앞의 텍스트 입력 시퀀스를 따를 가능성이 가장 높은 그러한 키이다(시스템에 저장된 단어 및 글자 데이터베이스에 기초하여 결정됨).
일 실시형태에 있어서, 온스크린 키보드는 홈-로우 위치에서 손가락을 휴지하고 있는 사용자가 터치 센서(120)에 의해 감지된 변경에 따라서 그들의 휴지중인 손가락으로 표면을 누를 때 일시적으로 가시적으로 된다.
일 실시형태에 있어서, 온스크린 키보드는 사용자가 이중 탭핑 또는 삼중 탭핑과 같이, 터치 센서 영역의 외측에 있는 엔클로저의 가장자리에서 미리 규정된 동작을 수행할 때 가시적으로 된다.
온스크린 키보드는, 만일 나타나는 것으로 설정되었으면, 삽입 캐럿(insertion carat)(또는 유사한 표시자)에 의해 일반적으로 시각적으로 표시되는 텍스트 삽입 조건이 존재할 때(운영체제(171)에 의해 표시됨) 전형적으로 그렇게 할 것이다.
일 실시형태에 있어서, F 및 J 홈-로우 키에서 일반적으로 사용되는 감촉 마커는 사용자가 손가락을 이들 키 위에 올려놓을 때 촉각 피드백(예를 들면, 터치스크린에서 유도된 진동)을 제공함으로써 시뮬레이트된다. 이 방법으로 사용자는 키보드가 동일한 온스크린 위치에서 안정을 유지하도록 선택할 수 있고, 터치만으로(쳐다보지 않고) 그들의 손의 정확한 위치를 찾을 수 있다.
키보드의 정확성을 높이기 위해, 언어의 통계 모델이 사용된다. 만일 터치/탭 이벤트가 불명료한 키 선택을 야기하면, 통계 모델은 사용자가 의도할 가능성이 가장 높은 키를 제공하기 위해 프로세서(110)에 의해 호출된다.
이 "명확화"는 본 발명에서 원하는 키에 대한 영구적인 결정이 급하게 이루어져야 하기 때문에 다른 텍스트 입력 시스템에서 사용되는 다른 방법과 차이가 있다. 단어 선택이 사용자에게 디스플레이될 수 있게 하고 출력이 수정되는 단어 끝 묘사(end-of-word delineation)는 없다. 그 대신에, 사용자가 키 위에서 탭을 할 때마다 결정이 이루어지고 키 작동이 목표 응용 프로그램(즉, 텍스트 입력 프로그램)에 보내져야 한다.
부분 정합 글자 예측, 현재 단어 예측, 다음 단어 예측 및 연결되는 다음 단여 예측과 같은 몇 가지 통계 분석 방법이 사용될 수 있다. 이것은 하기의 섹션에서 자세히 설명된다.
부분 정합에 의한 예측
이 경우에 유용한 최초에 데이터 압축용으로 개발된 잘 알려진 알고리즘은 부분 정합에 의한 예측(prediction by partial match; PPM)이다. 키보드에 적용할 경우, PPM 알고리즘은 이미 발생된 문자열(길이 k의 것)이 있는 경우 가장 가능성 높은 다음 문자를 예측하기 위해 사용된다. 연산 시간 및 자원은 k의 값에 따라 지수적으로 증가한다. 그러므로, 아직까지는 허용가능한 명확화 결과를 산출하는 최저의 k 값을 사용하는 것이 최상이다.
예로서 k=2라고 하자. 본 발명의 프로세스는 이미 입력한 과거 2개의 문자를 고려하여 타이프될 가능성이 가장 높은 다음 문자의 데이터베이스로부터의 확률들을 비교한다. 예를 들면, 아래에서 밑줄친 글자들은 다음의 가능성이 가장 높은 글자들을 예측하기 위해 사용되는 것을 보여준다.
Figure 112013058214356-pct00001
가능한 키 A의 총 수에 대하여 이 알고리즘에서 필요로 하는 데이터 스토리지는 Ak +1이다.
전형적인 온스크린 키보드에 있어서, 이 프로세스는 1 MB 미만의 데이터를 소비한다.
통계 모델이 각 언어에 대하여 구축되고(비록 k이 값이 작다 하더라도); 표는 공통의 뿌리를 가진 언어에 대하여 유사할 수 있다. 모델은 또한 사용자가 텍스트를 입력할 때 동적으로 갱신한다. 이 방법으로, 시스템은 사용자의 타이핑 패턴을 학습하고 시간이 지남에 따라 더 정확하게 사용자의 타이핑 패턴을 예측한다.
언어 변화는 운영체제 제어 패널을 통하여 구성된 특수 언어 사전의 형태로 제공된다. 제어 패널은 시스템 로케일(system locale)로부터 현재 사용자의 언어를 식별하고 적당한 예측 사전을 선택한다. 사전은 새로운 단어 식별 및 공통 단어 사용량 스코어링을 또한 제공하는 연속 동작하는 "시스트레이"(systray) 애플리케이션을 이용하여 질의된다.
일 실시형태에 있어서, 하나의 언어에서 공통으로 사용되는 단어들로 구성된 데이터베이스는 의도된 키 작동을 명확화하기 위해 사용된다. 알고리즘은 지금까지 타이프된 글자들을 단순히 단어 데이터베이스와 비교하고, 데이터베이스에서의 정합(match)에 기초하여 가장 가능성이 있는 다음 글자를 예측한다.
예를 들어서 사용자가 "Hel"을 타이프하였다고 하자. 단어 데이터베이스에서의 가능한 정합은 다음과 같다:
Figure 112013058214356-pct00002
각 단어 옆의 숫자는 100을 표준으로 하는 단어의 사용 "빈도"를 나타낸다(편의성을 위해, 이 예에서의 총 빈도는 100까지로 하지만, 이것이 정상적으로 모든 경우에 해당하는 것은 아니다).
"Hel" 다음에 이어질 가능성이 가장 높은 후보 글자는 다음과 같다:
L(70) - 단어 "Hello", "Hell", 및 "Hellacious"를 만들기 위해 추가될 확률
P(20)
I(20)
이 예는 글자 L, P 및 I가 모두 서로 근접하게 있다는 점에서 특히 유용하다. 사용자는 애매하게 근처에 있는 몇 개의 키(예를 들면, I, O, P 또는 L)의 위치에서 탭할 가능성이 있고, 그 가능성이 높다. 단어 예측을 추가함으로써, 선택은 크게 명확하게 된다. 즉, 이 예에서 명백하게 가능성이 가장 높은 다음 단어는 "L"이다.
단어 예측 알고리즘의 이러한 구현은 온스크린 키보드에 대하여 종래에 사용된 것과 다르다는 점에 주목한다. 왜냐하면, 종래의 알고리즘은 진정으로 단어 예측 시스템이 아니고 단어 데이터베이스를 사용하는 글자 예측 시스템이기 때문이다.
일 실시형태에 있어서, 가능성이 가장 높은 선택된 키를 더욱 명확화하기 위해 단어 쌍이 사용된다. 단순한 단어 예측으로, 현재 단어의 첫글자를 명확하게 하는 콘텍스트는 없다. 즉, 이것은 완전히 애매하다. (이 명확화는 단어의 두번째 글자의 경우에 약간 감소되고, 단어의 나머지 글자에 대하여 점점 감소된다.) 단어의 몇 개의 첫글자의 불명료 속성은 현재 단어에 대하여 바로 이전에 입력한 단어를 고려함으로써 크게 감소될 수 있다. 이것은 "다음 단어 예측"이라고 부른다.
예를 들어서, 만일 막 타이프한 단어가 "Cleankeys"이면, 데이터베이스에 저장된 공통적인 다음 단어는 다음과 같이 될 수 있다:
Figure 112013058214356-pct00003
사용자가 다음 단어의 시작에 대하여 I 키와 K 키 사이에서 불명료하게 탭한 경우에, 다음 단어 예측 알고리즘은 명확화를 도울 수 있다(이 경우에는 "K"가 가능성이 높다).
로직은 타이핑된 이전 단어를 고려하는 개념이 타이핑된 이전의 k개의 단어에 적용될 수 있음을 나타낸다. 예를 들어서 k=2일 때, 시스템은 데이터베이스의 각 단어에 대하여 2차 다음 단어(또는 다음 다음 단어)를 가진 데이터베이스를 저장할 수 있다. 다시 말해서, 뒤따르는 가장 가능성 높은 단어를 결정하기 위해 2개의 이전 단어를 함께 고려한다. 그러나, 이것은 공간 및 계산력(computing power)에 있어서 신속히 비현실적으로 된다. 그러한 많은 조합을 저장하는 것은 그러한 조합의 대부분이 결코 발생하지 않을 것이기 때문에 단순히 비실용적일 뿐만 아니라 매우 유용하지도 않다.
그러나, 고려할 가치가 있는 중요한 예외, 즉 매우 많은 수의 다음 단어 후보를 가진 단어들이 있다. 이것은 접속사 및 관사로서 알려진 스피치 부분에 대한 경우이다.
영어에서 가장 많이 사용되는 7개의 접속사는 다음과 같다.
and , but , or , for , yet , so , nor .
영어에서의 관사는 다음과 같다.
the , a, an .
상기 10개의 단어를 특수하게 적용함으로써, 시스템은 첫글자 예측을 개선한다.
구(phrase) kick the _를 생각하자.
데이터베이스 내의 모든 명사는 관사 "the"에 대한 가장 가능성 높은 다음 단어 후보이기 때문에, 다음 단어 예측 알고리즘으로부터 유도된 용례(use)는 매우 적다. 그러나, 만일 관사 "the" 앞에 "kick"의 콘텍스트가 있으면, 훨씬 더 풍부한 다음 다음 단어 선택이 달성된다. 효과적으로, "kick_the"라고 부르는 새로운 "단어"가 데이터베이스에 저장된다. 이 새로운 엔티티는 아래와 같은 다음 단어 후보를 갖는다.
Figure 112013058214356-pct00004
따라서, 구(phrase) "kick_the_"에 이어지는 가장 가능성 높은 다음 글자는 "B"라는 것을 신뢰성 있게 예측할 수 있다.
접속사 또는 관사와 결합되는 것으로 나타나는 임의의 단어는 새로운 단어 엔티티를 형성하기 위해 스피치 부분과 결합된다.
여기에서 설명하는 단어 대 단어 예측 시스템과 단어 기반형 예측 시스템 간의 현저한 차이는 각 글자에 대한 예측을 동적으로 재지향하는 능력이다. 예를 들어서, 만일 특정의 키에 대한 추측이 잘못되고 원하는 단어가 후속적으로 명확하게 되면, 알고리즘은 부정확한 글자에 대하여 행하여진 선택을 포기하고 새로 결정된 목표 단어에 기초하여 나머지 글자에 대해 예측을 적용한다.
예를 들면 아래의 표와 같이 된다:
입력된 텍스트 애매한 후보 키 예측된 단어 예측된 글자
Kick_the B, h, g Ball, bucket, habit, goat, garage B
Kick the b A, q, s Ball, habit, garage A
Kick the ba B, v, 스페이스 habit B
Kick the bab I, k, o habit I
Kick the babi T, r habit T
Kick the babit 스페이스, n, m habit_ 스페이스
단어가 진행됨에 따라, 초기 글자 "B"는 "H"이었어야 함이 밝혀진다(이 글자들은 쿼티(qwerty) 키보드 레이아웃에서 서로 가까이 있고, 사용자는 다른 것으로 쉽게 실수할 수 있다). 그 첫글자로 완전하게 정하고 "B"로 시작하는 단어만을 생각하는 대신에, 두번째 글자를 예측함에 있어서 다른 후보들이 시스템에 의해 여전히 고려된다. 이 방법으로, 실수가 전파되지 않고, 사용자는 잠재적으로 많은 글자를 보정하는 대신에 하나의 글자에 대한 보정만을 행할 필요가 있다.
그래서, 입력된 각각의 새로운 키에 대하여, 후속되는 글자를 결정함에 있어서 그 키에 인접하는 키뿐만 아니라 다른 애매한 후보들도 가능성이 있는 것으로서 고려된다.
실수가 이루어지고 사용자가 백스페이스하여 그 실수를 보정할 때, 시스템은 그 데이터를 알고리즘에 다시 공급하여 그에 따라서 조정을 행할 수 있다.
예를 들면, 사용자는 키보드의 중간에 있는 키를 애매하게 입력하고 스코어링 알고리즘은 잠재적인 후보가 "H", "J" 및 "N"이라고 표시한다. 즉 상기 3개의 글자에 대한 스코어는 수용가능한 범위 내에 있고, 최상의 스코어가 취해진다. 이 예에서, 알고리즘이 글자 "J"를 가장 가능성 높은 후보로서 정하고 이것을 키보드가 출력한다고 하자. 이것에 바로 이어서, 사용자는 <백스페이스> 및 그 다음에 "H"를 명확하게 타이프하여 에러를 보정한다.
이 정보는 스코어링 알고리즘에 다시 공급되고, 스코어링 알고리즘은 애매한 키가 최초로 입력되었을 때 어떤 서브알고리즘이 "J"보다 "H"를 더 높게 스코어링하였는지 조사한다. 그 알고리즘에 대한 가중치가 증가되고, 따라서 만일 동일한 애매한 입력이 다시 발생하면 글자 "H"가 선택될 것이다. 이 방법으로, 사용자 보정에 직접 의존하여 피드백 루프가 제공된다.
물론, 사용자는 알고리즘의 결과가 아닌 실수 자체를 타이핑할 수 있고, 알고리즘은 사용자가 타이핑한 것을 정확하게 출력할 수 있다. 그래서, 사용자 보정 피드백 루프가 개시되어야 하는지 결정할 때 주의를 기울여야 한다. 이것은 전형적으로 대상이 되는 키가 애매한 때에만 발생한다.
사용자 설정가능 옵션은 키보드가 명백히 잘못된 단어를 보정하기 위해 백스페이스 및 새로운 글자를 발생하게 할 수 있다. 전술한 예에서, 유일한 논리적 단어 선택이 "habit"이라고 예측기가 결정하면, 키보드는 백스페이스를 발생하고 "b"를 "h"로 변경하며, 후속 글자들을 재발행할 것이다(단어를 완성할 수도 있다).
키의 명확화를 유도하는 이러한 많은 요소들에 의해, 모든 알고리즘은 키의 후보에 잠재적으로 추가될 수 있다. 이 접근법은 스코어링이라고 부르고, 모든 알고리즘들이 가중되고 그 다음에 함께 가산된다. 가중은 동적으로 변경되어 스코어링 알고리즘을 사용자의 타이핑 스타일 및 환경에 동조시킨다.
도 3a는 본 발명의 실시형태에 따라서 설계되고 사용되는 터치 감응 디스플레이(352) 및 키보드(353)를 그 앞 표면에 구비하는 전형적인 핸드헬드 태블릿 컴퓨터(350)를 개략적으로 나타낸 것이다. 키보드(354)는, 본 발명에 따라서 사용될 때, 텍스트 삽입 위치(360)에서 텍스트 디스플레이 영역(358)에 출력되는 텍스트를 발생한다. 본원에서 용어 "키보드"는 터치 감응 디스플레이에서 나타나는 키보드를 포함해서 터치 감응 및 탭 감응 표면에서 구현되는 임의의 키보드를 말한다. 키보드(354)는 대부분의 키보드에서 발견되는 표준 "쿼티"(QWERTY) 배열과 근사하게 배열된, 개별 키에서 사용자가 선택한 각 언어의 알파벳의 글자들을 보여준다.
일 실시형태에 있어서, 키보드(및 개별 키)의 방위, 위치 및 크기는 사용자의 입력 행동에 따라서 적응적으로 변경된다. 사용자가 특정의 방식으로 터치 표면(352) 상에 그의 손가락을 올려놓은 때, 시스템은 올려진 손가락에 의해 결정된 위치로 키보드(354)를 이동한다. 사용자가 키보드(354)의 키를 작동시키려고 할 때, 사용자는 손가락을 들어올려서 식별가능한 힘으로 표면(352)을 때림으로써 원하는 키에서 "탭"한다. 터치 센서 영역(352) 외측의 영역(362, 364)에서 발생하는 사용자 탭은 진동 센서에 의해 검출되고, 스페이스 바와 같은 키보드 기능에 또한 할당될 수 있다.
터치 센서 신호의 부재는 사실상 제로의 값을 가진 신호이고, 탭(또는 진동) 센서와 상관될 때 탭 위치를 독특하게 식별하기 위해 사용될 수 있다. 일 실시형태에 있어서, 참조번호 362 및 364로 표시된 영역과 같이 터치 센서 영역(352) 외측의 특정 영역에 대한 진동 신호는 독특한 것이고 시스템에 의해 데이터베이스에 저장된다. 터치 신호의 부재가 탭 이벤트와 함께 발생하면, 시스템은 탭의 진동 특성을 데이터베이스에 저장된 특성과 비교하여 외부 탭의 위치를 결정한다. 일 실시형태에 있어서, 하부의 외부 경계 영역(362)은 스페이스 기능에 할당되고, 우측의 외부 경계 영역(364)은 백스페이스 기능에 할당된다.
도 3b는 예시적인 가상 온스크린 키보드(370)를 개략적으로 나타낸 것이다. 키보드(370)는 2개의 절반, 즉 좌측 절반(372)과 우측 절반(374)으로 나누어진다(사용자의 좌측 손과 우측 손에 상관될 때). 2개의 별도의 절반(372, 374)은 서로 정렬되지 않는다. 전형적으로 사용자의 손가락이 올려지는 8개의 키(378)는 그 키에 대하여 전형적으로 어떤 손가락이 사용되는지에 따라서 굵은 글씨체로 표시되어 있다(예를 들면, L1은 좌측 손의 검지 손가락을 나타내고, L4는 좌측 손의 새끼 손가락을 나타낸다). 다른 모든 비 홈-로우 키는 종래의 터치 타이핑 기술을 이용하여 그 키를 타이프할 때 통상적으로 어떤 손가락이 사용되는지를 나타내는 라벨에 의해 표시된다. 그러나, 도 3b에 도시된 것과 같은 손가락 배치를 사용하지 않는 많은 타이핑 스타일이 있을 수 있고, 도 3b의 라벨들은 단지 설명의 목적으로만 여기에 포함된다.
키보드(372)의 좌측 절반은 전통적인 전자기계 키보드에서 나타나는 것처럼 모든 키가 수평 행을 따라 정렬된 것을 보여준다. 우측 절반(374)에서 나타나는 것과 같은 일 실시형태에 있어서, 홈-로우 키는 사용자의 4개의 손가락의 정상적인 휴지 위치에 더 잘 맞도록 아크를 따라 분산된다. 비 홈-로우 키는 홈-로우 휴지 키에 대한 그들의 상대적인 위치에 따라서 유사하게 분산된다. 또한, 일 실시형태에 있어서, 각 키의 크기는 사용자가 그 키를 선택하는 통계적 가능성에 따라서 다르게 될 수 있다(가능성이 높을수록 키가 더 크다).
도 3c는 본 발명의 실시형태에 따라서 소정 각도로 지향된 가상 온스크린 키보드(384)를 개략적으로 나타낸 것이다. 사용자는 그들이 원하는 임의의 위치 및 방위로 전형적인 핸드헬드 태블릿 컴퓨터(394)의 터치 감응 표면(392) 위에 그의 손(390)을 올려놓을 수 있다. 이 경우에, 손은 정상적인 것보다 더 멀리 벌려질 수 있고, 장치(394)의 직선 가장자리에 대하여 소정의 각도로 지향될 수 있다. 사용자는 "홈-로우 규정 이벤트"를 표시하는 동작을 시작한다. 홈-로우 규정 이벤트는, 비제한적인 예를 들자면, 모두 8개의 손가락을 사용자가 규정가능한 짧은 시구간 동안 올려놓는 것; 모두 8개의 손가락으로 표면(392)에서 동시에 이중 탭핑하고 그 다음에 손가락을 표면(392)에 올려놓는 것, 또는 손가락을 표면(392) 위에 올려놓은 상태에서 모두 8개의 손가락을 동시에 내리누르는 것 등을 포함할 수 있다. 다른 실시형태에 있어서, 홈-로우 규정 이벤트를 개시하기 위해 모두 8개의 손가락을 필요로 하지 않을 수 있다. 예를 들어서, 만일 누군가가 그의 가운데 손가락이 없으면, 홈-로우 규정 이벤트는 그 손에서 단지 3개의 손가락에 의해 개시될 수 있다. 여기에서 사용자는 그의 손(390)을 태블릿 컴퓨터(394)에 소정의 각도로 올려놓고, 그에 따라서 컴퓨터(394)의 프로세서가 가상 온스크린 키보드(384)를 소정의 각도로 발생 및 디스플레이한다.

Claims (23)

  1. 디스플레이와;
    상기 디스플레이에 결합되고 감지 신호들을 발생시키도록 구성된 복수의 터치 센서;
    움직임 신호들을 발생시키도록 구성된 하나 이상의 진동 센서;
    상기 디스플레이, 상기 복수의 터치 센서 및 상기 하나 이상의 진동 센서와 신호 통신을 행하는 프로세서
    를 포함하고,
    상기 프로세서는,
    홈-로우(home-row) 규정 이벤트를 검출하고 - 상기 홈-로우 규정 이벤트는
    (1) 하나 이상의 터치 위치에서 상기 디스플레이에의 하나 이상의 감지된 사용자 접촉에 기초하는 하나 이상의 감지 신호 및
    (2) 상기 디스플레이 상의 하나 이상의 탭 위치에서의 하나 이상의 감지된 진동에 기초하는 하나 이상의 움직임 신호 중 적어도 하나를 포함함 -,
    상기 홈-로우 규정 이벤트를 검출하는 것에 응답하여, 복수의 키를 가지는 온스크린(onscreen) 키보드를 생성하고 - 상기 온스크린 키보드의 상기 복수의 키의 각 위치들은 상기 홈-로우 규정 이벤트의 상기 터치 위치들 또는 탭 위치들에 기초함 -,
    상기 하나 이상의 감지된 사용자 접촉 중 적어도 하나가 상기 하나 이상의 터치 위치의 대응하는 터치 위치로부터 역치(threshold) 거리 이상 표류되었는지(drifted) 여부를 판정하고,
    상기 하나 이상의 감지된 사용자 접촉 중 적어도 하나가 상기 하나 이상의 터치 위치의 대응하는 터치 위치로부터 상기 역치 거리 이상 표류되었다는 판정에 따라, 상기 하나 이상의 감지된 사용자 접촉 중 상기 적어도 하나의 사용자 접촉의 표류에 기초하여 상기 대응하는 터치 위치에 대응하는 상기 키보드의 적어도 하나의 키를 포함하는 복수의 키를 이동시키도록 구성되는, 장치.
  2. 제1항에 있어서, 상기 프로세서는 상기 하나 이상의 감지 신호에 기초하여 상기 디스플레이 상의 상기 키보드의 위치를 결정하도록 구성되는, 장치.
  3. 제1항에 있어서, 상기 홈-로우 규정 이벤트를 검출하는 것은 적어도 사전정의된 시간량 동안 활성화되는 2개 이상의 감지 신호를 검출하는 것을 더 포함하는, 장치.
  4. 삭제
  5. 제3항에 있어서,
    상기 온스크린 키보드를 생성하는 것은,
    상기 2개 이상의 감지 신호의 위치들에 기초하여 상기 키보드의 홈-로우 키들의 위치들을 결정하는 것과,
    상기 홈-로우 키들 중 적어도 하나의 키의 결정된 위치에 기초하여 상기 키보드의 비 홈-로우(non-home-row) 키들의 위치들을 결정하는 것을 더 포함하는, 장치.
  6. 제3항에 있어서,
    상기 온스크린 키보드를 생성하는 것은,
    상기 2개 이상의 감지 신호의 위치들에 기초하여 상기 키보드의 홈-로우 키들의 크기들을 결정하는 것과,
    상기 홈-로우 키들 중 적어도 하나의 키의 결정된 위치에 기초하여 상기 키보드의 비 홈-로우 키들의 크기들을 결정하는 것을 더 포함하는, 장치.
  7. 제3항에 있어서,
    상기 온스크린 키보드를 생성하는 것은,
    상기 2개 이상의 감지 신호의 위치들에 기초하여 상기 키보드의 홈-로우 키들의 방위들을 결정하는 것과,
    상기 홈-로우 키들 중 적어도 하나의 키의 결정된 위치에 기초하여 상기 키보드의 비 홈-로우 키들의 방위들을 결정하는 것을 더 포함하는, 장치.
  8. 제3항에 있어서,
    상기 홈-로우 규정 이벤트에 응답하여 사전정의된 주파수에서의 진동을 발생시키도록 구성되는 진동 장치를 더 포함하는 장치.
  9. 제3항에 있어서,
    적어도 하나의 홈-로우 키로부터 역치 거리 내의 적어도 하나의 사용자 손가락을 검출하는 것에 응답하여, 사전정의된 주파수에서의 진동을 발생시키도록 구성되는 진동 장치를 더 포함하는 장치.
  10. 제9항에 있어서,
    상기 진동을 발생시키는 것은 상기 적어도 하나의 홈-로우 키로부터 적어도 하나의 사용자 손가락에 대한 프로세서 판정 거리에 기초하여 상기 진동의 강도를 변경하는 것을 더 포함하는, 장치.
  11. 제3항에 있어서,
    적어도 하나의 홈-로우 키로부터 역치 거리 내에서 적어도 하나의 사용자 손가락을 검출하는 것에 응답하여 사전정의된 주파수에서 오디오 신호를 발생시키도록 구성되는 오디오 장치를 더 포함하는 장치.
  12. 제11항에 있어서,
    상기 오디오 신호를 발생시키는 것은 상기 적어도 하나의 홈-로우 키로부터 적어도 하나의 사용자 손가락에 대한 프로세서 판정 거리에 기초하여 상기 오디오 신호의 강도를 변경하는 것을 포함하는, 장치.
  13. 제1항에 있어서,
    상기 프로세서는,
    상기 디스플레이와의 연속적인 사용자 손가락 접촉과 연관된 감지 신호들을 주기적으로 수신하고,
    상기 수신된 주기적인 감지 신호들이 상기 키보드의 생성 동안 사용된 상기 감지 신호들의 위치들로부터의 표류를 나타내는지를 판정하도록 구성되는, 장치.
  14. 제1항에 있어서,
    출력 장치를 더 포함하고,
    상기 프로세서는,
    상기 디스플레이의 가장자리의 역치 거리 내에서 사용자 손가락 접촉 표류를 검출하고,
    상기 디스플레이의 가장자리의 상기 역치 거리 내에서 상기 사용자 손가락 접촉 표류를 검출하는 것에 응답하여 신호를 상기 출력 장치에 출력하도록 구성되는, 장치.
  15. 제1항에 있어서,
    상기 프로세서는,
    사용자 타이핑 동작이 적어도 사전정의된 시간량 동안 감지되지 않을 때 상기 디스플레이 상에 제공되는 상기 키보드의 이미지를 반투명 또는 비가시적인 것 중 적어도 하나로 변경하도록 구성되는, 장치.
  16. 제15항에 있어서,
    상기 프로세서는 사용자 타이핑 동작이 감지될 때 상기 키보드 이미지를 적어도 덜 투명하게 나타나게 하도록 구성되는, 장치.
  17. 제1항에 있어서,
    상기 프로세서는,
    하나 이상의 이전 키 작동 이벤트들에 기초하여 작동될 가능성이 가장 높은 적어도 하나의 다음 키를 결정하고,
    상기 결정된 가능성이 가장 높은 적어도 하나의 다음 키를 독특하게 디스플레이하도록 구성되는, 장치.
  18. 제1항에 있어서,
    상기 프로세서는,
    하나 이상의 홈-로우 키로부터 하나 이상의 사용자 손가락의 상대적 이동을, 상기 하나 이상의 사용자 손가락에 대해 발생되는 대응하는 감지 신호들에 기초하여 판정하고,
    상기 판정된 상대적 이동 및 상기 하나 이상의 사용자 손가락 중 하나의 손가락에 대해 생성된 각각의 움직임 신호들에 기초하여 키 작동 이벤트를 발생시키도록 구성되는, 장치.
  19. 제18항에 있어서,
    상기 프로세서는,
    상기 복수의 키 중 제1 키에 대한 키 작동 이벤트를 검출하도록 구성되고,
    상기 키 작동 이벤트를 검출하는 것은,
    상기 하나 이상의 사용자 손가락 및 상기 각각의 움직임 신호들에 의해 발생되는 대응하는 감지 신호들의 적어도 일부에 기초하여 하나 이상의 후보 키를 발생시키는 것과,
    발생된 하나 이상의 후보 키를 통계 확률 모델을 이용하여 명확화(disambiguating)함으로써 상기 키 작동 이벤트를 발생시키는 것을 포함하는, 장치.
  20. 제1항에 있어서,
    상기 프로세서는,
    통계 확률 모델 및 적어도 하나의 이전 키 작동 이벤트에 기초하여 상기 키보드의 적어도 하나의 키의 크기 값을 결정하고,
    상기 적어도 하나의 키의 상기 결정된 크기 값에 기초하여 상기 키보드를 변경하도록 구성되는, 장치.
  21. 제1항에 있어서,
    상기 프로세서는,
    상기 디스플레이에 제공된 상기 키보드의 이미지를 감지된 제1 사용자 동작에 기초하여 활성 상태에서 비가시적으로 되게 하고,
    상기 제공된 상기 키보드의 이미지를 감지된 제2 사용자 동작에 기초하여 비활성 상태에서 비가시적으로 되게 하도록 구성되는, 장치.
  22. 하나 이상의 프로세서, 메모리, 디스플레이, 상기 디스플레이와 결합되고 감지 신호들을 발생시키기 위한 복수의 터치 센서를 가지는 전자 장치에서,
    홈-로우 규정 이벤트를 검출하는 단계 - 상기 홈-로우 규정 이벤트는
    (1) 하나 이상의 터치 위치에서 상기 디스플레이에의 하나 이상의 감지된 사용자 접촉에 기초하는 하나 이상의 감지 신호 및
    (2) 상기 디스플레이 상의 하나 이상의 탭 위치에서의 하나 이상의 감지된 진동에 기초하는 하나 이상의 움직임 신호 중 적어도 하나를 포함함 -;
    상기 홈-로우 규정 이벤트를 검출하는 것에 응답하여, 복수의 키들을 가지는 온스크린(onscreen) 키보드를 생성하는 단계 - 상기 온스크린 키보드의 상기 복수의 키의 각 위치들은 상기 홈-로우 규정 이벤트의 상기 터치 위치들 또는 탭 위치들에 기초함 -;
    상기 하나 이상의 감지된 사용자 접촉 중 적어도 하나가 상기 하나 이상의 터치 위치의 대응하는 터치 위치로부터 역치 거리 이상 표류되었는지 여부를 판정하는 단계; 및
    상기 하나 이상의 감지된 사용자 접촉 중 적어도 하나가 상기 하나 이상의 터치 위치의 대응하는 터치 위치로부터 상기 역치 거리 이상 표류되었는다는 판정에 따라, 상기 하나 이상의 감지된 사용자 접촉 중 상기 적어도 하나의 사용자 접촉의 표류에 기초하여 상기 대응하는 터치 위치에 대응하는 상기 키보드의 적어도 하나의 키를 포함하는 복수의 키를 이동시키는 단계
    를 포함하는 방법.
  23. 명령어들을 저장하는 컴퓨터-판독가능 저장 매체로서,
    상기 명령어들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    홈-로우 규정 이벤트를 검출하는 동작 - 상기 홈-로우 규정 이벤트는
    (1) 하나 이상의 터치 위치에서 디스플레이에의 하나 이상의 감지된 사용자 접촉에 기초하는 하나 이상의 감지 신호 및
    (2) 상기 디스플레이 상의 하나 이상의 탭 위치에서의 하나 이상의 감지된 진동에 기초하는 하나 이상의 움직임 신호 중 적어도 하나를 포함함 -;
    상기 홈-로우 규정 이벤트를 검출하는 것에 응답하여, 복수의 키를 가지는 온스크린 키보드를 생성하는 동작 - 상기 온스크린 키보드의 상기 복수의 키의 각 위치들은 상기 홈-로우 규정 이벤트의 상기 터치 위치들 또는 탭 위치들에 기초함 -;
    상기 하나 이상의 감지된 사용자 접촉 중 적어도 하나가 상기 하나 이상의 터치 위치의 대응하는 터치 위치로부터 역치 거리 이상 표류되었는지 여부를 판정하는 동작; 및
    상기 하나 이상의 감지된 사용자 접촉 중 적어도 하나가 상기 하나 이상의 터치 위치의 대응하는 터치 위치로부터 상기 역치 거리 이상 표류되었는다는 판정에 따라, 상기 하나 이상의 감지된 사용자 접촉 중 상기 적어도 하나의 사용자 접촉의 표류에 기초하여 상기 대응하는 터치 위치에 대응하는 상기 키보드의 적어도 하나의 키를 포함하는 복수의 키를 이동시키는 동작
    을 포함하는 동작들을 수행하게 하는 컴퓨터-판독가능 저장 매체.
KR1020137016964A 2010-11-30 2011-11-30 동적으로 위치되는 온스크린 키보드 KR101578769B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US41827910P 2010-11-30 2010-11-30
US61/418,279 2010-11-30
US201161472799P 2011-04-07 2011-04-07
US61/472,799 2011-04-07
PCT/US2011/062721 WO2012075197A2 (en) 2010-11-30 2011-11-30 Dynamically located onscreen keyboard

Publications (2)

Publication Number Publication Date
KR20140116785A KR20140116785A (ko) 2014-10-06
KR101578769B1 true KR101578769B1 (ko) 2015-12-21

Family

ID=46172548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137016964A KR101578769B1 (ko) 2010-11-30 2011-11-30 동적으로 위치되는 온스크린 키보드

Country Status (5)

Country Link
EP (2) EP2646894A2 (ko)
JP (2) JP5782133B2 (ko)
KR (1) KR101578769B1 (ko)
CN (2) CN103443744B (ko)
WO (2) WO2012075199A2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2777780B1 (en) 2011-11-08 2021-08-25 Sony Group Corporation Sensor device, analyzer, and storage medium
JP2017084404A (ja) * 2012-02-23 2017-05-18 パナソニックIpマネジメント株式会社 電子機器
WO2014019085A1 (en) * 2012-08-01 2014-02-06 Whirlscape, Inc. One-dimensional input system and method
US8816985B1 (en) 2012-09-20 2014-08-26 Cypress Semiconductor Corporation Methods and apparatus to detect a touch pattern
CN104684900B (zh) * 2012-10-25 2017-04-12 沈阳中化农药化工研发有限公司 取代嘧啶类化合物及其用途
EP2926220A1 (en) 2012-11-27 2015-10-07 Thomson Licensing Adaptive virtual keyboard
EP2926236A1 (en) * 2012-11-27 2015-10-07 Thomson Licensing Adaptive virtual keyboard
JP6165485B2 (ja) * 2013-03-28 2017-07-19 国立大学法人埼玉大学 携帯端末向けarジェスチャユーザインタフェースシステム
JP5801348B2 (ja) 2013-06-10 2015-10-28 レノボ・シンガポール・プライベート・リミテッド 入力システム、入力方法およびスマートフォン
US9483176B2 (en) 2013-07-08 2016-11-01 Samsung Display Co., Ltd. Method and apparatus to reduce display lag of soft keyboard presses
JP6154690B2 (ja) * 2013-07-22 2017-06-28 ローム株式会社 ソフトウェアキーボード型入力装置、入力方法、電子機器
US9335831B2 (en) 2013-10-14 2016-05-10 Adaptable Keys A/S Computer keyboard including a control unit and a keyboard screen
CN103885632B (zh) * 2014-02-22 2018-07-06 小米科技有限责任公司 输入方法和装置
US10175882B2 (en) * 2014-07-31 2019-01-08 Technologies Humanware Inc. Dynamic calibrating of a touch-screen-implemented virtual braille keyboard
JP6330565B2 (ja) * 2014-08-08 2018-05-30 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
CN104375647B (zh) * 2014-11-25 2017-11-03 杨龙 用于电子设备的交互方法及电子设备
CN105718069B (zh) * 2014-12-02 2020-01-31 联想(北京)有限公司 信息处理方法及电子设备
CN106155502A (zh) * 2015-03-25 2016-11-23 联想(北京)有限公司 一种信息处理方法及电子设备
JP6153588B2 (ja) * 2015-12-21 2017-06-28 レノボ・シンガポール・プライベート・リミテッド 情報処理装置及びセンシングレイアウト更新方法並びにプログラム
KR101682214B1 (ko) * 2016-04-27 2016-12-02 김경신 전자잉크 키보드
US10234985B2 (en) 2017-02-10 2019-03-19 Google Llc Dynamic space bar
CN107704186B (zh) * 2017-09-01 2022-01-18 联想(北京)有限公司 一种控制方法及电子设备
CN107493365A (zh) * 2017-09-13 2017-12-19 深圳传音通讯有限公司 一种用于智能设备的拨号盘的切换方法及切换装置
US11159673B2 (en) * 2018-03-01 2021-10-26 International Business Machines Corporation Repositioning of a display on a touch screen based on touch screen usage statistics
US10725506B2 (en) * 2018-08-21 2020-07-28 Dell Products, L.P. Context-aware user interface (UI) for multi-form factor information handling systems (IHSs)
CN109582211B (zh) * 2018-12-25 2021-08-03 努比亚技术有限公司 一种触控区适配方法、设备及计算机可读存储介质
JP2020135529A (ja) * 2019-02-21 2020-08-31 シャープ株式会社 タッチパネル、複合機、プログラムおよびタッチパネルの制御方法
US11150751B2 (en) * 2019-05-09 2021-10-19 Dell Products, L.P. Dynamically reconfigurable touchpad
WO2021054589A1 (en) 2019-09-18 2021-03-25 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4725694A (en) * 1986-05-13 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Computer interface device
JP3260240B2 (ja) * 1994-05-31 2002-02-25 株式会社ワコム 情報入力方法およびその装置
US6278441B1 (en) * 1997-01-09 2001-08-21 Virtouch, Ltd. Tactile interface system for electronic data display system
EP2256605B1 (en) * 1998-01-26 2017-12-06 Apple Inc. Method and apparatus for integrating manual input
US7768501B1 (en) * 1998-05-01 2010-08-03 International Business Machines Corporation Method and system for touch screen keyboard and display space sharing
US6525717B1 (en) * 1999-12-17 2003-02-25 International Business Machines Corporation Input device that analyzes acoustical signatures
EP1457864A1 (en) * 2001-09-21 2004-09-15 International Business Machines Corporation INPUT APPARATUS&comma; COMPUTER APPARATUS&comma; METHOD FOR IDENTIFYING INPUT OBJECT&comma; METHOD FOR IDENTIFYING INPUT OBJECT IN KEYBOARD&comma; AND COMPUTER PROGRAM
US6947028B2 (en) * 2001-12-27 2005-09-20 Mark Shkolnikov Active keyboard for handheld electronic gadgets
JP4828826B2 (ja) * 2002-07-04 2011-11-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 自動的に適応可能な仮想キーボード
JP2004341813A (ja) * 2003-05-15 2004-12-02 Casio Comput Co Ltd 入力装置表示制御方法及び入力装置
KR100537280B1 (ko) * 2003-10-29 2005-12-16 삼성전자주식회사 휴대용 단말기에서 터치스크린을 이용한 문자 입력 장치및 방법
US20050122313A1 (en) * 2003-11-11 2005-06-09 International Business Machines Corporation Versatile, configurable keyboard
US20050190970A1 (en) * 2004-02-27 2005-09-01 Research In Motion Limited Text input system for a mobile electronic device and methods thereof
JP2006127488A (ja) * 2004-09-29 2006-05-18 Toshiba Corp 入力装置、コンピュータ装置、情報処理方法及び情報処理プログラム
US20060066590A1 (en) * 2004-09-29 2006-03-30 Masanori Ozawa Input device
JP4417224B2 (ja) * 2004-10-25 2010-02-17 本田技研工業株式会社 燃料電池スタック
US9019209B2 (en) * 2005-06-08 2015-04-28 3M Innovative Properties Company Touch location determination involving multiple touch location processes
FR2891928B1 (fr) * 2005-10-11 2008-12-19 Abderrahim Ennadi Clavier a ecran tactile universel multilingue et multifonction
US7659887B2 (en) * 2005-10-20 2010-02-09 Microsoft Corp. Keyboard with a touchpad layer on keys
CN104571719B (zh) * 2007-09-19 2018-05-22 苹果公司 可清洁的触摸及轻敲敏感表面
KR101352994B1 (ko) * 2007-12-10 2014-01-21 삼성전자 주식회사 적응형 온 스크린 키보드 제공 장치 및 그 제공 방법
KR101456490B1 (ko) * 2008-03-24 2014-11-03 삼성전자주식회사 터치 스크린 키보드 디스플레이 방법 및 그와 같은 기능을갖는 장치
TWI360762B (en) * 2008-09-05 2012-03-21 Mitake Information Corp On-screen virtual keyboard system
US8633901B2 (en) * 2009-01-30 2014-01-21 Blackberry Limited Handheld electronic device having a touchscreen and a method of using a touchscreen of a handheld electronic device
CN101937313B (zh) * 2010-09-13 2019-11-12 中兴通讯股份有限公司 一种触摸键盘动态生成和输入的方法及装置

Also Published As

Publication number Publication date
CN106201324A (zh) 2016-12-07
CN106201324B (zh) 2019-12-13
CN103443744B (zh) 2016-06-08
JP2014514785A (ja) 2014-06-19
WO2012075199A3 (en) 2012-09-27
JP2015232889A (ja) 2015-12-24
JP5782133B2 (ja) 2015-09-24
WO2012075199A2 (en) 2012-06-07
CN103443744A (zh) 2013-12-11
KR20140116785A (ko) 2014-10-06
EP2646893A2 (en) 2013-10-09
EP2646894A2 (en) 2013-10-09
WO2012075197A3 (en) 2012-10-04
WO2012075197A2 (en) 2012-06-07
JP6208718B2 (ja) 2017-10-04

Similar Documents

Publication Publication Date Title
KR101578769B1 (ko) 동적으로 위치되는 온스크린 키보드
US9110590B2 (en) Dynamically located onscreen keyboard
US20210132796A1 (en) Systems and Methods for Adaptively Presenting a Keyboard on a Touch-Sensitive Display
US10126942B2 (en) Systems and methods for detecting a press on a touch-sensitive surface
KR101477530B1 (ko) 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US9134810B2 (en) Next letter prediction for virtual keyboard
US20180039335A1 (en) Touchscreen Keyboard Providing Word Predictions at Locations in Association with Candidate Letters
US20150067571A1 (en) Word prediction on an onscreen keyboard
US9201510B2 (en) Method and device having touchscreen keyboard with visual cues
JP4527731B2 (ja) 自動訂正機能を備えた仮想キーボードシステム
US9128921B2 (en) Touchscreen keyboard with corrective word prediction
US20130285926A1 (en) Configurable Touchscreen Keyboard
US20140101545A1 (en) Provision of haptic feedback for localization and data input
EP2954398B1 (en) Gesture keyboard input of non-dictionary character strings
EP2907008A1 (en) Text entry using shapewriting on a touch-sensitive input panel
EP2660692A1 (en) Configurable touchscreen keyboard
Walmsley et al. Disambiguation of imprecise input with one-dimensional rotational text entry

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 4