KR20130088752A - 다방향 버튼, 키 및 키보드 - Google Patents

다방향 버튼, 키 및 키보드 Download PDF

Info

Publication number
KR20130088752A
KR20130088752A KR1020127032718A KR20127032718A KR20130088752A KR 20130088752 A KR20130088752 A KR 20130088752A KR 1020127032718 A KR1020127032718 A KR 1020127032718A KR 20127032718 A KR20127032718 A KR 20127032718A KR 20130088752 A KR20130088752 A KR 20130088752A
Authority
KR
South Korea
Prior art keywords
button
user
motion
press
multidirectional
Prior art date
Application number
KR1020127032718A
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 윌 존 템플
Publication of KR20130088752A publication Critical patent/KR20130088752A/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/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/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
    • 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/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/0416Control or interface arrangements specially adapted for digitisers
    • 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/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
    • 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/0202Constructional details or processes of manufacture of the input device
    • G06F3/0221Arrangements for reducing keyboard size for transport or storage, e.g. foldable keyboards, keyboards with collapsible keys

Abstract

본 발명은 컴퓨팅 장치(10)의 사용자 인터페이스에 사용하기 위한 다방향 버튼에 관한 것이다. 사용자 인터페이스의 객체는 디스플레이 스크린(16) 상에 다방향 버튼 소프트웨어 키보드(14)를 포함할 수 있다.

Description

다방향 버튼, 키 및 키보드{MULTIDIRECTIONAL BUTTON, KEY, AND KEYBOARD}
개시된 실시예들 및 방법들은 일반적으로 컴퓨팅 장치 및 모바일 전자 장치의 사용자 인터페이스에 관한 것으로, 보다 구체적으로는 사용자가 버튼, 키 또는 터치스크린 객체를 누르고, 릴리스(release)하고 움직이는 것을 해석하여 장치 커맨드를 판정하는 컴퓨팅 장치 및 모바일 전자 장치에 관한 것이다.
본 출원은 본 발명자에 의해 2010년 5월 24일 출원된 PPA 제 61/396,261호를 우선권 주장하며, 그 내용은 본 명세서에 참조로서 포함된다.
컴퓨팅 장치의 사용자는 사용자 인터페이스를 통해 장치를 제어한다. 사용자 인터페이스는 텍스트 기반 인터페이스로부터 흔히 GUI(Graphical User Interface)라고 하는 그래픽 유저 인터페이스로 진화해왔다. 그래픽 유저 인터페이스는 일반적으로 장치에 커맨드를 입력하기 위해 마우스에 의해 제어되는 포인터를 사용하여 하나의 메뉴 또는 버튼을 선택한다. 메뉴는 버튼들의 리스트 역할을 하며, 메뉴 항목 선택은 메뉴 항목 위에 포인터를 위치시킨 다음 메뉴 항목을 클릭할 것을 요구한다. 메뉴 클릭은 일반적으로 마우스 버튼을 눌렀다가 릴리스시키는 것으로 이루어진다. 메뉴는 일반적으로 두 방법에 의해 호출된다. 그 첫 번째 방법은 포인터를 최상부 메뉴 항목 위로 이동시켜 클릭하는 것으로, 이것에 의해 하위 메뉴가 나타난다. 두 번째 방법은 메뉴 버튼을 클릭하되, 일반적으로 오른쪽 버튼을 클릭하여 메뉴를 팝업하는 것이다. 포인터가 일반적으로 메뉴 항목들의 수직 리스트로 이루어지는 메뉴의 위에 있다는 점에서 메뉴들은 다소 비능률적이다. 사용자는 메뉴 항목을 선택하기 위해 포인터를 평균적으로 리스트의 절반의 거리를 움직여야 한다. 이것은 포인터가 리스트의 중심에 있는 경우보다 더 먼 거리이다. 최상위 레벨 메뉴들 및 버튼들은 모두 디스플레이 스크린의 실면적을 차지하는데, 이는 디스플레이될 수 있는 프로그램 컨텐츠의 양을 감소시킨다. 메뉴는 사용자가 지속적으로 포인터의 위치 및 포인터가 어느 메뉴 항목 위에 있는지를 시각적으로 추적하고 않으면 거의 사용 불가능하다.
휴대용 컴퓨팅 징치가 작아짐에 따라, 디스플레이 스크린의 크기 및 물리적인 사용자 입력을 위해 이용가능한 객체들이 더 작아지게 되었다. 작은 디스플레이 스크린, 즉 데스크탑 또는 랩탑 컴퓨터의 디스플레이 스크린보다 훨씬 더 작은 디스플레이 스크린은 사용자가 컴퓨팅 디바이스와 쉽게 상호작용하여 잘못 해석된 커맨드 및 제스처를 최소한으로 할 수 있게 하는 사용자 인터페이스를 제공할 중대한 과제를 제공한다.
많은 휴대형 컴퓨팅 장치에서는, 터치 스크린 사용자 인터페이스가 마우스 및 포인터 사용자 인터페이스를 대체해오고 있다. 사용자는 손가락 또는 스타일러스로 화면을 터치하여 장치에 커맨드를 입력한다. 사용자는 온스크린 버튼을 터치하여 커맨드를 호출할 수도 있다. 일반적으로 메뉴는 너무 많은 스크린 공간을 차지하기 때문에 터치 사용자 인터페이스는 메뉴를 이용하지 않고 온스크린 터치 버튼을 이용한다. 그러나 버튼은 하나의 커맨드로 제한되며, 따라서 응용 프로그램의 기능성을 제한한다.
터치 스크린 사용자 인터페이스를 이용하여, 사용자는 객체를 터치하고 드래그하거나 "플릭(flick)"하여 객체를 직접 바꿀 수도 있다. 객체들을 스크롤하여 정보 페이지를 탐색하고 객체에게 명령을 내리는 것은 일반적이다. 그러나, 스크롤 또는 탐색(navigation) 지시를 넘어 객체에게 다수의 상이한 명령을 내리는 것은 일반적이지 않다. 객체에 대해 복수의 상이한 커맨드가 사용자에게 제시될 때 복수의 버튼이 일반적으로 사용된다. 그러나, 이것은 소중한 스크린 공간을 차지한다. 많은 버튼들 또는 키들이 요구될 경우, 각 버튼 또는 키의 크기가 매우 작아야 할 것이다. 이것은 사용자가 정확하게 버튼 또는 키를 사용하는 것을 어렵게 한다.
많은 휴대형 컴퓨팅 장치는 키보드를 갖고 있다. 키보드는 일반적으로 키라고 불리는 버튼들의 집합으로 이루어져 있다. 많은 휴대형 컴퓨팅 장치 상의 키보드는 흔히 키들이 생성하는 커맨드 세트를 스위치하기 위한 하나 이상의 키를 갖는 최소한의 키를 갖는다. 그 예로 일반적인 "시프트(shift)" 키가 있다. 키보드가 물리적 키보드이든 터치스크린 키보드이든, 이들은 사용자가 무의식중에 원치않은 키를 누르지 않고 원하는 키를 누르기 어렵게 되는 지점까지 크기가 작아지고 있다. 또한, 휴대형 컴퓨팅 장치의 사용자는 일반적으로 키보드를 사용하는 동안, 한 손 또는 양손을 가지고 그 장치를 잡는다. 이것은 사용자가 모든 손가락을 사용하지 않고 키보드를 작동시키도록 제한한다. 사용자는 일반적으로 한 손의 하나 이상의 손가락을 사용하거나 또는 양손의 양쪽 엄지 손가락을 사용한다. 사용자가 제한된 수의 손가락을 사용하여 키보드를 동작시키는 것과 함께 휴대형 컴퓨팅 장치의 키보드의 제한된 크기는, 사용자가 터치 타이핑하는 것을 거의 불가능하게 만든다. 이것은 컴퓨팅 장치 상의 타이핑을 어렵게 한다. 사용자는 타이핑 시에 키보드를 봐야할 뿐만 아니라, 타이핑이 잘못되는지 확인하기 위해 입력되는 텍스트도 봐야 한다. 발생하는 대부분의 실수는 키보드 상의 키의 크기가 작고 제한된 수의 손가락으로 사용자가 타이핑해야 하기 때문이다. 실수가 발생한 후에, 사용자는 타이핑 실수를 정정해야 하는데, 이는 일반적으로 사용자가 화면 및 키보드 상의 상이한 장소를 봐야 할 것을 요구한다. 실수 및 뒤이은 정정은 항시 생기며, 이 수정에는 상당한 시간이 걸린다. 사용자가 의도하는 입력을 버튼 등을 통해 장치 커맨드로 확실하게 번역하는 것은 컴퓨팅 장치를 사용하는 중에 사용자의 만족에 매우 중요하다.
작은 키보드로 타이핑을 시도하고 개선하기 위한 몇몇 해법들이 제안되었고 구현되어왔다. 그 일례로, 사용자가 터치 스크린 키보드 상의 키를 터치한 후 사용자의 손가락이 단어의 각 글자를 가로질러 스위핑한 다음 마지막 문자가 터치되었을 때 그 터치를 들어올리도록 하는 것을 들 수 있다. 이것은 예컨대 Swype(미국 특허 제7,808,480호 Gross, 미국 특허 제7,098,896호 Kushler, http://www.swypeinc.com/), Shapewriter(미국 특허 제7,895,518호 Kristensson, http://www.shapewriter.com/), 및 SlidelT(미국 특허 제7,199,786호 Suraqui, http://www.mobiletextinput.com/Download/)의 키보드의 동작 방법이다.
이들 스위핑 키보드를 작동시키기 위해, 사용자는 여전히 단어의 각 글자 위로 자신의 손가락을 슬라이딩해야한다. 이들 키보드는 종래의 터치 키보드와 유사한 수의 키를 갖고 있으며, 따라서 유사한 크기의 작은 키를 갖고 있다. 키를 가로질러 손가락을 슬라이딩하는 것은 단순히 단어의 각 글자를 타이핑하는 것보다 더 정확한 것은 아니다. 따라서, 스위핑 키보드는 사용자가 타이핑하고자 하는 것을 예측하는 것에 크게 의존한다. 예측 기술은 자주 올바르게 예측함으로써 사용자의 경험을 향상시키지만, 예측은 관련 예러율을 갖는다. 예측 정정은 사용자로 하여금 단어의 개별 문자 대신에 전체 단어를 수정하게 한다. 이것은 사용자에게 전체적인 개선을 나타내지는 못한다.
작은 키보드 상에서의 타이핑을 개선하는 방법은 보다 적은 수의 키를 사용하는 것이다. 이 전략을 사용하는 한 기법으로 T9® 텍스트 입력 시스템(미국 특허 제5,818,437 Grover)이 있다. 이 시스템에서는, 사용자가 하나 이상의 문자를 나타내는 키를 누른다. 단어를 구성하는 문자들을 갖고 있는 키들을 누르고 나면, 이 시스템은 눌려진 키를 디코딩하고 사용자가 타이핑하고자 했던 것으로 여겨지는 단어를 입력한다. 물론 이 방법은 하나의 단어가 동일한 시퀀스의 키 누름으로 표현될 수 있는 경우보다 더 높은 에러율을 갖는다. 높은 에러율은 분명히 사용자에게 바람직하지 않다.
보다 적은 수의 키를 사용하는 다른 키보드로 메시지이지(MessagEase)(미국 특허 제6,847,706호 Bozorgui-Nesbat, www.exideas.com)가 있다. 이것은 단지 3행 3열 격자의 9개의 키만을 사용하는데, 이들 키는 알파벳의 모든 문자를 포함한다. 사용자는 키를 두드리거나 또는 키를 터치하여 개별 문자를 입력한 다음 손가락을 슬라이딩하여 다른 키에서 릴리스되게 함으로써 메시지이지(MessageEase)로 타이핑한다. 이것은 주어진 키보드 크기에 대해, 하나의 키가 통상의 키보다 더 크도록 허용하지만, 사용자가 하나의 키로부터 분명하게 복수의 키스트로크 선택 중에서 선택하게 한다. 이것은 보다 큰 키가 사용자에 의해 눌려져서 통상의 키보드의 작은 키들보다 더 낮은 에러율을 가질 수 있기 때문에 사용자에게 개선을 나타낸다. 그러나, 메시지이지(MessagEase)의 키는 소정의 문자를 선택하기 위해 사용자가 특정 거리 및 방향으로 슬라이드하거나 스위핑할 것을 요구한다. 이 거리는 사용자가 처음으로 누른 키를 충분히 벗어나되 인접 키를 지날 정도로 멀리 벗어나서는 안된다. 또한, 메시지이지 키들은 인접 키의 방향으로만 스위핑될 수 있을 수 있으며, 이것은 최초 키 누름으로 선택될 수 있는 문자 선택의 수를 제한한다. 또한, 메시지이지의 키보드 레이아웃은 종래의 키보드 레이아웃을 닮지 않았는데, 이것은 시장 진입을 제한한다.
제한된 수의 키를 사용하는 다른 키보드로는 Tiki6Keys® 키보드(http://tikilabs.com/index.php?p=home)가 있다. 이 키보드는 다른 사용 모드를 제공한다. 한 모드에서, 사용자는 문자를 입력하기 위해 복수의 키를 누를 것을 요구받는다. 이것은 텍스트 입력이 단일 키 누름만 요구하는 종래의 키보드에 비해 텍스트 입력을 분명히 느리게 한다. 다른 모드에서는, 사용자가 키를 누른 다음 다른 키로 슬라이드하여 문자를 입력할 수 있다. 이것은 메시지이지와 유사하며 동일한 한계를 갖는다.
언어에는 많은 문자들이 있기 때문에, 소형 장치에서 키보드는 일반적으로 많은 선택들 사이에서 신뢰할 수 있는 선택 방법을 사용자에게 주기 위한 요건을 갖는다. 이 때문에, 작은 키보드에 대해 상이한 정도의 성공을 갖는 많은 독창적인 해법들이 시도되었다. 그러나, 사용자가 작은 공간의 작은 범위 내에 다수의 커맨드 또는 문자를 신속하게 입력할 수 있게 하는 사용자 입력 객체가 키보드를 넘어서 많은 애플리케이션에서 유용할 수 있다. 하나보다 많은 커맨드를 신뢰할 수 있게 생성할 수 있고, 높은 신뢰도를 가지며 사용자 동작 및 노력을 적게 하는, 버튼, 메뉴 또는 키가 요구된다. 바람직한 해법은 본 발명의 우선권 주장의 기초가 되는 미국 가특허출원 제61/396,261호(2010년 5월 24일)(본 발명의 발명자에 의한)에 개시되어 있다.
도 1은 도 3a의 장치의 투시도.
도 2a, 2b, 2c, 2d, 2e 및 2f는 본 발명의 일부 방법에 의해 처리된 사용자 입력 시퀀스의 일례를 도시한 도면.
도 3a 및 3b는 본 발명의 일부 실시예에 따른 전자 장치의 평면도.
도 4a 및 4b는 본 발명의 일부 방법을 도시한 도면.
도 5a는 본 발명의 일부 실시예의 일부 방법을 도시한 도면.
도 5b는 본 발명의 일부 실시예의 일부 방법을 도시한 도면.
도 6a, 6b, 6c 및 6d는 본 발명의 일부 방법을 도시한 도면.
도 7, 8, 9, 10 및 11은 본 발명의 일부 실시예를 도시한 도면.
도 12 및 13은 본 발명의 일부 방법을 도시한 도면.
도 14 및 15는 본 발명의 일부 실시예의 일부 방법을 도시한 도면.
도 16은 본 발명의 일부 실시예를 도시한 도면.
도 17은 본 발명의 일부 실시예의 일부 방법에 따른 전자 장치의 평면도.
본 발명의 실시예 및 추가적인 실시예를 보다 잘 이해하기 위해, 이하에서는 도면을 참조하여 본 발명을 상세히 설명하며, 도면에서 유사한 참조번호는 도면 전체에 걸쳐 대응하는 부분을 지칭한다.
이하에서는 첨부 도면에 도시되어 있는 예를 참조하여 본 발명의 실시예 및 방법을 상세히 설명할 것이다. 이하의 상세한 설명에서, 본 발명의 철저한 이해를 제공하기 위해 숫자로 특정된 상세가 설명된다. 그러나, 본 발명은 이들 특정 상세없이 실시될 수도 있음이 당업자에게는 명백할 것이다. 다른 예에서는, 공지되어 있고/또는 일반적인 프로세스, 프로그래밍 방법, 절차, 컴포넌트, 회로 및 네트워크는 불필요하게 실시예들의 특징을 모호하게 하지 않게 하기 위해 상세히 설명되지 않는다.
다양한 요소들을 설명하기 위해 본 명세서에서는 제 1, 제 2 등의 용어들이 사용되지만, 이들 요소들은 이들 용어에 의해 한정되어서는 안됨을 이해할 수 있을 것이다. 이들 용어는 하나의 요소를 다른 요소와 구별하기 위해서만 사용될 수 있다. 예컨대, 본 발명의 범주로부터 벗어나지 않고, 제 1 모션이 제 2 모션으로 지칭될 수도 있고, 마찬가지로 제 2 모션이 제 1 모션으로 지칭될 수도 있다.
본 명세서에서 사용되는 용어는 특정한 실시예 및 방법을 설명하기 위한 것이며, 본 발명을 한정하고자 하는 것은 아니다. 본 발명의 설명 및 첨부한 청구범위에 사용된 바와 같이, 문맥이 명확하게 다르게 지시하지 않는 한 단수형은 복수형을 포함하고자 한다. 또한 "및/또는"이란 용어는 관련 나열 항목들 중 하나 이상의 모든 가능한 조합을 지칭하며 이들을 포함한다. "포함"이라는 용어는 명세서에서 사용될 때 설명된 특징, 단계, 방법, 동작, 요소 및/또는 컴포넌트의 존재를 명시하지만, 하나 이상의 다른 특징, 단계, 방법, 동작, 요소 및/또는 그 컴포넌트의 존재 또는 추가를 배제하지 않는다.
컴퓨팅 장치, 그러한 장치를 위한 사용자 인터페이스 및 그러한 장치를 사용하는 관련 방법 및 프로세스의 실시예가 설명된다. 일부 실시예에서는, 장치가 웹 브라우징, PDA, 뮤직 플레이어 및 기타 기능과 같은 다른 기능들뿐만 아니라 제한되지 않은 기능에 대한 다운로드 가능한 애플리케이션을 포함할 수 있는 모바일 전화기와 같은 터치 스크린 디스플레이를 가진 휴대형 통신 장치이다. 다른 실시예에서는 장치가 키보드이다.
단순화를 위해 이하의 논의에서는 컴퓨팅 장치가 예시적인 실시예로서 사용된다. 그러나, 개시된 다방향 버튼 또는 키, 사용자 인터페이스 및 관련 프로세스는 컴퓨터 키보드, 핸드 헬드 전자 디스플레이, 개인용 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 휴대형 뮤직 플레이어, GPS 장치, 전자 시계와 같은 다른 장치에 적용될 수도 있다. 컴퓨팅 장치는 복수의 작업을 수행할 수도 있고 때론 "다기능 장치"라고도 한다. 단순화를 위해 컴퓨팅 장치는 때론 간단히 "컴퓨팅 장치" 또는 "장치"라고 한다.
컴퓨팅 장치는 사용자가 볼 수 있는 프로그램 내용의 디스플레이를 위해 하나 이상의 스크린을 가질 수도 있다. 이들 스크린은 나란한 스크린(side by side screen) 또는 장치의 양쪽 상의 스크린일 수도 있지만 이에 한정되지는 않는다. 단순화를 위해, 현재 사용자가 볼 수 있는 하나 이상의 스크린을 "디스플레이 스크린들" 또는 "디스플레이 스크린"이라고도 한다.
단순화를 위해, '버튼'이란 용어는 물리적 버튼 또는 디스플레이 스크린 상에 그려진 시각적 온스크린 버튼을 나타낼 것이다. 온스크린 버튼은 포인팅 디바이스와 함께 사용될 수 있고 또는 사용자에 의해 직접 터치되도록 의도된 터치 스크린 버튼일 수 있다. 버튼은 사용자 입력 객체이고 사용자 커맨드를 장치에게 발행하는 수단이다.
X, Y, Z 축을 디스플레이하는 모든 도면에서, X 축 및 Y 축은 하나 이상의 버튼의 상부면의 평면과 합치된 평면을 정의한다. 모든 도면에서, 버튼들의 위치는 컴퓨팅 장치(10)의 상부면에 있는 것으로 도시되어 있지만, 이들이 상부면에 있을 필요는 없다. 단순화를 위해, 버튼들은 모두 컴퓨팅 장치의 상부면에 도시되어 있다. Z 축은 버튼으로부터 위쪽으로 연장되는 정의(positive) Z 방향을 갖는 버튼들에 대해 직교하도록 정의된다. 단순화를 위해, 정의 Z 방향은 장치의 사용자쪽을 가리킨다고 가정하는데, 이것은 사용자가 디스플레이 스크린을 마주보고 있다고 가정한다.
"사용자 입력"이란 용어는 사용자가 버튼을 사용하게 하는 수단을 지칭한다. 이것은 사용자의 손가락으로 버튼을 조작함으로써 달성될 수 있다. 버튼들에 대한 사용자의 입력은 또한 스타일러스, 마우스로 달성될 수 있고 또는 그 출력이 누름, 릴리스 및 누름 동작으로 해석될 수 있는 임의의 장치로 달성될 수 있다.
사용자 입력을 감지하고 신호를 생성하는 수단은 모든 실시예에 공통이다. 사용자 입력 감지 신호의 처리 및 이들 신호를 스크린 변화(screen changes) 및 장치 커맨드로 변환하는 수단 및 방법은 본 발명의 디스플레이 스크린 및/또는 다방향 버튼을 하우징하는 휴대형 장치에서 일어날 필요가 없다. 예를 들면, 누름, 누름 해제(또는 릴리스(release)) 및 누름 신호의 동작 및 신호의 처리는 휴대형 장치 외부의 프로세서와 통신할 수 있다. 마찬가지로 디스플레이의 프로그래밍은 프로세서 외부로부터 통신될 수 있다. 본 명세서에서 설명하는 휴대형 장치의 예에서, 사용자 입력 신호를 감지하는 모든 수단 및 이들 신호를 스크린 변화 및 장치 커맨드로 변환하는 수단은 하나의 휴대형 장치에 포함된다. 그러나, "휴대형 컴퓨팅 장치"란 용어는 사용자 입력 신호의 처리가 발생할 수도 있는 어떤 경우에 있어서도 하나 이상의 휴대형 디스플레이 스크린, 사용자 입력 신호를 감지하는 수단, 이들 신호를 커맨드로 변환하는 수단을 포함하는 것으로 해석해야 한다.
버튼은 모든 실시예 및 방법에서 공통이며, 일반적으로 단순화를 위해 "다방향 버튼", "버튼" 또는 "메뉴"로 지칭되지만 "키", "스위치", "토글" 또는 "장바구니(pick list)"라고 지칭될 수도 있다. 버튼은 일반 버튼과 마찬가지로 사용자 입력 누름 및 릴리스를 검출하지만, 누름의 방향에 대해 실질적으로 직교하는 방향으로의 사용자 입력 모션 또는 힘을 추가적으로 검출한다. 버튼은 누름 방향에 실질적으로 직교하는 방향으로의 사용자 모션 또는 힘의 값 및/또는 방향을 포함하는 신호를 생성하고/또는 검출한다. 단순화를 위해, 누름 방향에 실질적으로 직교하는 방향을 "측면 방향"이라고도 한다. 본 명세서의 실시예들 및 방법들의 버튼들은 누름, 모션 및/또는 힘, 모션 및/또는 힘 임계치의 초과 및 누름의 해제로 이루어진 버튼 이벤트를 검출한다. 본 명세서의 실시예들 및 방법들의 버튼들은 또한 시간 임계치의 초과를 버튼 이벤트로서 검출할 수 있다. 본 명세서의 다방향 버튼들의 방법들 및 실시예들은 하나 이상의 버튼 이벤트를 검출하여 상기 장치의 하나 이상의 커맨드를 결정한다. 본 명세서의 다방향 버튼들은 사용자가 장치에 커맨드를 입력하도록 선택할 수 있는 복수의 선택사항을 갖는다.
적어도 하나의 다방향 버튼을 포함하는 입력 객체에 대한 사용자 변경을 검출하는 수단은 모든 버튼 메소드에 있어 공통이다. 입력 객체는 그 객체가 물리적 버튼이면 사용자에 의해 직접 조작될 수 있다. 입력 객체가 온스크린 버튼들이면, 이들은 포인터 및 포인터 제어기 버튼에 의해 조작될 수 있으며, 이는 일반적으로 마우스 인터페이스로서 알려져 있다. 입력 객체가 온스크린 터치 스크린 버튼인 경우, 이들 버튼은 터치 스크린을 직접 터치함으로써 조작될 수 있다. 신호를 처리하기 위해 많은 공통 수단이 존재하며 본 발명은 일특정 방법에 제한되지 않는다. 예컨대, 운영체제는 버튼들로부터 신호를 수신하고 프로세스 또는 애플리케이션 프로그램에게 메시지를 송신한다. 다른 예에서는, 개별 애플리케이션 또는 프로세스가 버튼들의 상태 변화에 대해 버튼 장치를 폴링할 수 있다.
일실시예에서, 사용자는 하나 이상의 다방향 버튼을 누르고, 이 누름을 움직이며, 이 누름을 해제시켜 커맨드를 장치에 입력한다. 이들 기능을 수행하기 위한 인스트럭션은 하나 이상의 프로세서에 의한 실행을 위해 구성된 컴퓨터 판독가능 저장 매체 또는 다른 컴퓨터 프로그램 제품에 포함될 수 있다. 이들 기능을 수행하는 인스트럭션은 하나 이상의 방법 및 휴리스틱(heuristics)을 장치에 대한 커맨드를 결정하기 위한 누름 모션 및 커맨드를 처리하는 인스트럭션에 적용될 수 있다.
일실시예에서, 버튼은 누름, 릴리스, 및 힘 및/또는 측면 방향으로의 모션을 검출할 수 있는 물리적 버튼일 수 있다. 버튼은 이동가능하거나 스트레인 게이지(strain gage)와 같은 수단을 통해 힘을 검출할 수 있다. 모든 도면에서 X/Y 평면에서의 버튼의 측면 모션 또는 검출된 사용자가 가한 힘은 본 명세서에서 "누름 모션"으로 지칭되며 그냥 "모션"이라고도 한다. 사용자가 물리적 버튼으로부터 하나 이상의 손가락을 들어올리는 것을 "릴리스(release)"라고 할 것이다.
본 발명의 방법에서, 사용자는 물리적 다방향 버튼을 눌러 다방향 버튼 또는 커맨드, 메소드를 개시한다. 버튼 메소드는 메소드를 개시하는 제 1 누름 신호를 수신하는 것과, 누름에 대한 정보를 저장하는 것과, 버튼의 실질적으로 측면 모션 또는 움직임을 검출하는 것과, 버튼의 모션이 모션 임계치를 초과했는 지를 검출하는 것과, 버튼의 릴리스를 검출하는 것과, 버튼의 모션의 방향을 결정하는 것과, 장치에 대한 커맨드를 결정하는 단계를 포함하고, 장치에 대한 커맨드는 키스트로크의 입력, 메뉴 또는 버튼 또는 다른 입력 객체에 의해 일반적으로 발행되는 임의의 커맨드 및/또는 제 2 버튼 메소드의 개시일 수 있지만 이들에 한정되지는 않는다.
일실시예에서, 버튼은 사용자 인터페이스 커맨드를 생성하는 메소드를 개시하기 위해 사용자가 포인터를 움직이는 디스플레이 스크린의 영역 또는 구역을 포함한다. 스크린 상에서 포인터를 움직이는 것은 사용자가 마우스 또는 마우스 대체물로 포인터를 움직이는 것을 포함할 수 있다. 마우스 또는 마우스 대체물은 "포인터 버튼"이라고 하는 하나 이상의 버튼을 포함한다. 포인터가 버튼 바운다리 위에 있는 동안 하나 이상의 버튼을 누르는 것을 "누름(press)"이라 할 것이다. 눌러진 하나 이상의 버튼으로 마우스를 움직이는 것을 본 명세서에서는 "누름 모션(press motion)"이라 하며, 때론 그냥 "모션"이라고 할 것이다. 사용자가 하나 이상의 포인터 버튼을 릴리스하는 것을 "릴리스(release)"라고 할 것이다.
본 발명의 방법에서, 사용자는 마우스 또는 마우스 대체물로 버튼 바운다리 위에서 디스플레이 스크린 상의 포인터를 움직이고 포인터 또는 마우스로 버튼을 눌러 다방향 버튼 또는 커맨드, 메소드를 개시한다. 버튼 메소드는 메소드를 개시하는 제 1 누름 신호를 수신하는 것과, 누름에 대한 정보를 저장하는 것과, 마우스 또는 마우스 대체물의 모션 또는 움직임을 검출하는 것과, 모션의의 변위를 계산하는 것과, 모션이 변위 임계치를 초과했는 지를 판정하는 것과, 포인터 버튼의 릴리스를 검출하는 것과, 각도 변위를 결정하는 것과, 장치에 대한 커맨드를 결정하는 것을 포함하고, 장치에 대한 커맨드는 키스트로크의 입력, 메뉴 또는 버튼 또는 다른 입력 객체에 의해 일반적으로 발행되는 임의의 커맨드 및/또는 제 2 버튼 메소드의 개시일 수 있지만 이들에 한정되지는 않는다.
일실시예에서, 버튼은 사용자가 사용자 인터페이스 커맨드를 생성하는 메소드를 개시하기 위해 터치할 수 있는 터치 스크린 디스플레이의 영역 또는 구역을 포함한다. 스크린의 터치는 사용자가 하나 이상의 손가락 또는 자신의 손의 다른 부분 또는 신체로 터치 스크린을 터치하는 것을 포함할 수 있다. 또는 스크린의 터치는 스타일러스와 같은 하나 이상의 객체로 터치 스크린을 터치하는 것을 포함한다. 본 명세서에서는 단순화를 위해, 사용자가 자신의 손가락을 사용하여 스크린을 터치한다고 가정한다. 터치 스크린의 최초 터치를 "누름"이라고 할 것이다. 사용자는 하나 이상의 손가락을 스크린과 접촉한 채로 터치 스크린을 가로질러 슬라이딩할 수 있다. 이것은 일반적으로 "플릭(flick)" 또는 "스위프(swipe)"라고 하고, 본 명세서에서는 "누름 모션(press motion)"이라 지칭되며 때론 그냥 "모션"이라 한다. 사용자가 하나 이상의 손가락을 스크린으로부터 들어올리는 것을 "릴리스"라고 할 것이다.
터치 스크린 사용자 인터페이스를 이용함으로써, 사용자는 객체를 터치하고 드래그하거나 또는 "플릭" 또는 "스위프"하여 객체를 직접 변화시킬 수 있다. 객체를 스크롤하고 정보의 페이지를 통해 탐색하는 것 뿐만 아니라 객체에게 직접 명령을 내리는 것은 일반적이다. 그러나, 스크롤 또는 탐색의 방향을 넘어 객체에게 복수의 상이한 명령을 내리는 것은 일반적이지 않다. 사용자가 객체를 직접 조작하는 것과, 버튼 객체를 조작하는 것 사이의 차이로, 사용자는 버튼을 조작하여 객체에게 직접 명령을 발행하거나 또는 장치에 직접 명령을 발행한다. 다방향 버튼에서, 사용자는 다방향 버튼을 조작하여 객체 및/또는 장치에 대해 하나보다 많은 커맨드 중에서 선택할 수 있다. 다방향 버튼의 이점은 단일 버튼 객체로부터 사용자에게 커맨드의 선택을 준다는 것이다.
본 발명의 방법에서, 사용자는 버튼 바운다리 내에서 터치 스크린을 터치하여 다방향 버튼 또는 커맨드, 메소드를 개시한다. 버튼 메소드는 메소드를 개시하는 제 1 터치 누름 신호를 수신하는 것과, 터치 누름에 대한 정보를 저장하는 것과, 터치의 모션 또는 움직임을 검출하는 것과, 터치의 변위를 계산하는 것과, 터치가 변위 임계치를 초과했는지를 판정하는 것과, 터치의 릴리스를 검출하는 것과, 각도 변위를 결정하는 것과, 장치에 대한 커맨드를 결정하는 것을 포함하고, 장치에 대한 커맨드는 키스트로크의 입력, 메뉴 또는 버튼 또는 다른 입력 객체에 의해 일반적으로 발행되는 임의의 커맨드 및/또는 제 2 버튼 메소드의 개시일 수 있지만 이들에 한정되지는 않는다.
본 발명의 일측면에서, 다방향 버튼 메소드는 또한 다른 사용자 누름, 누름의 위치 및 일부 데이터 변수 내의 누름 횟수를 검출할 수 있으며, 이것에 의해 버튼 메소드는 장치에 대한 하나 이상의 커맨드를 결정할 수 있다.
본 발명의 일측면에서, 다방향 버튼 메소드는 최초 누름 위치 및 릴리스 시의 누름 위치 또는 모션 임계치를 초과한 누름 모션 시간 또는 다른 시간에서의 누름 위치로부터 하나 이상의 누름의 각도 변위를 결정할 수 있다. 다방향 버튼의 사용자는 주로 단일 방향으로 누름을 움직이지는 않을 것이다. 예컨대, 사용자가 자신의 손가락으로 터치 스크린을 터치하고 자신의 손가락으로 한 방향으로 플릭한다면, 실질적으로 모션은 자신의 손가락을 손가락 관절에 대해 회전할 때 형성되는 원호 곡선을 따를 것이다. 사용자가 의도하는 모션을 해석하는 가장 정확한 방법은 사용자의 스타일 및 기술에 의존할 수 있다. 다방향 버튼은 사용자 구성가능하거나 또는 그렇지 않은 데이터 값 및/또는 설정에 기초하여 그 동작을 변화시킬 수 있다. 사용자 입력 객체, 소프트웨어 메소드, 또는 프로세스의 동작을 구성하는 것과 사용자가 이 동작에 영향을 미치는 설정을 변경할 수 있도록 하는 것은 컴퓨팅 장치에서 일반적이다. 다방향 버튼 메소드는 하나 이상의 저장된 데이터 값을 판독하여 버튼 이벤트를 어떻게 처리할 지 여부를 결정한다. 예컨대, 다방향 버튼 메소드는 데이터 값으로부터 각도 변위를 계산하는데 사용할 방법을 선택할 수 있다.
본 발명의 방법에서, 사용자는 버튼 바운다리 내의 터치 스크린을 터치하여 버튼 또는 커맨드, 메소드를 개시한다. 버튼 메소드는 메소드를 개시하는 제 1 터치 누름 신호를 수신하는 것과, 추가적인 터치 누름을 검출하는 것과, 하나 이상의 터치 누름의 위치 및/또는 누름의 시간을 일부 데이터 변수 내에 저장하는 것과, 터치의 변위를 계산하는 것과, 터치가 변위 임계치를 초과했는지를 판정하는 것과, 터치의 릴리스를 검출하는 것과, 하나보다 많은 누름이 검출되면 릴리스의 시간을 결정하는 것과, 터치의 릴리스 시에 터치의 위치를 결정하는 것과, 최초 터치 위치 및 릴리스 터치 위치로부터 각도 변위를 계산하는 것과, 장치에 대한 커맨드를 결정하는 것을 포함하고, 장치에 대한 커맨드는 키스트로크의 입력, 메뉴에 의해 일반적으로 발행되는 임의의 커맨드 및/또는 제 2 버튼 메소드의 개시일 수 있지만 이들에 한정되지는 않는다.
포인터 또는 터치의 모션의 변위의 계산은 포인터 기반 사용자 입력 및 터치의 사용자 누름 및 이동에 기초하는 터치 스크린 기반 사용자 입력을 이용하는 모든 실시예들에 있어 공통이다. 터치의 변위는 사용자의 손가락 또는 스타일러스가 최초 스크린 접촉점으로부터 현재의 스크린 접촉점까지 디스플레이 스크린을 따라 이동한 거리이다. 포인터의 변위는 포인터가 최초 위치로부터 현재의 위치까지 디스플레이 스크린을 따라 이동한 거리이다. 누름 또는 터치의 모션이 이동하여 변위에 도달하는 거리는 중요하지 않기 때문에 변위라는 용어가 거리 대신에 사용될 것이다.
휴대형 장치의 운영체제는 일반적으로 포인터 위치 또는 터치의 위치 정보를 포함하는 신호를 제공한다. 위치 데이터는 일반적으로 데카르트 좌표계로 알려져 있는 X 및 Y 좌표로 주어진다. 그러나, 위치 데이터는 일반적으로 극좌표계로 알려져 있는 기준점으로부터의 변위 및 각도와 같은 다른 방법으로 제공될 수도 있다. 위치 정보는 스크린 상의 픽셀 위치 또는 현재 스크린의 좌표 또는 스크린의 섹션으로부터 변환될 수 있는 글로벌 좌표계에 기초할 수 있다.
데카르트 좌표계로 변위를 계산하는 것은 최초 포인터 또는 터치 위치 및 현재 포인터 또는 터치 위치에 피타고라스 정리를 적용함으로써 달성될 수 있다. 장치가 포인터 또는 터치 위치 신호에 X 및 Y 데이터 값을 제공하고 있다고 가정하면, 최초 및 현재의 포인터 또는 터치 위치(X) 값의 차의 제곱과 최초 및 현재 포인터 또는 터치 위치(Y) 값의 차의 제곱의 합의 제곱근을 취함으로써 변위를 계산할 수 있다. 포인터 또는 터치 변위를 계산하는 것은 당업계에 주지의 사실이다.
최초 포인터 또는 터치 위치로부터 현재 포인터 또는 터치 위치의 각도를 찾아내는 것은 X 및 Y의 최초 및 현재 성분의 차를 갖는 인버스 탄젠트 함수를 이용하면 간단한 문제이다. 이것은 통상의 기하학이며 당해 분야에 주지의 사실이다.
최초 위치로부터 현재 위치로의 변위 및 각도를 찾아내는 것은 극좌표계에 있어서도 공통이다.
도 1은 도 3a의 장치의 투시도이고, 일부 실시예에 따른 터치 스크린 디스플레이(16)를 갖는 휴대형 컴퓨팅 장치를 도시하고 있다. 휴대형 컴퓨팅 장치는 스마트폰과 유사하며 상태 바(11) 및 시각적 방향을 위한 홈 버튼(13)을 포함한다. 일부 실시예에 따르면 터치 스크린 디스플레이는 온스크린 키보드(14)를 포함한다. 온스크린 키보드는 복수의 다방향 버튼을 포함한다. 버튼은 하나의 누름, 모션 또는 노 모션(no motion) 및 하나의 릴리스 내에 9개의 상이한 사용자 선택가능한 선택사항을 포함한다.
도 2a, 2b, 2c, 2d, 2e는 다방향 버튼의 동작을 예시하기 위해 다방향 버튼으로부터 선택될 수 있는 복수의 커맨드 중 하나의 커맨드를 사용자가 선택하는 순서의 예를 도시한 것이다. 도 2a, 2c 및 2e는 디스플레이 스크린(16)을 통해 사용자에게 디스플레이되는 것을 도시하고 있다. 도 2b 및 2d는 디스플레이 스크린 상의 터치 포인터와 바운다리의 위치 및 임계치를 보여준다. ("터치 포인트"는 사용자가 터치 스크린을 터치하고 있는 스크린 상의 지점 또는 마우스 버튼이 눌러졌을 때 포인터가 위치해 있는 지점이다.) 도 2b 및 2d는, 이들 객체가 모호해지지 않도록, 사용자가 디스플레이 스크린 상에서 보는 컨텐츠를 디스플레이하지 않는다. 바운다리 및 임계치 및 터치 포인트의 위치는 사용자에게 디스플레이되지 않고, 사용자가 버튼으로부터 복수의 선택사항으로부터 선택할 수 있게 하는 방법을 설명하기 위해서만 보여진다. 바운딩 버튼 영역은 사용자에 의해 눌러질 때 온스크린 방향 버튼에 대한 본원의 메소드를 개시할 디스플레이 스크린의 영역이다.
도 2a는 단일의 다방향 버튼(20)의 일례를 디스플레이하는 디스플레이 스크린(16)을 도시한 것이다. 다방향 버튼의 디스플레이는, 사용자가 보는 것으로, 일반적인 버튼 또는 메뉴 항목으로 나타난다. 버튼이 포인터(21)에 의해 선택되려면, 사용자가 버튼 위에 포인터를 위치시키고 포인터 또는 마우스나 버튼을 눌러야 한다. 버튼이 터치 스크린 상에서의 터치로 선택되려면, 사용자가 터치 스크린 상의 버튼을 직접 누를 것이다. 버튼 누름에 의해 사용자 모션 및 릴리스의 시퀀스로부터 커맨드를 결정하기 위한 버튼 메소드가 개시된다.
도 2b는 디스플레이 스크린의 부분을 나타내는 버튼 바운다리(22)를 도시한 것으로, 그 내부의 누름(24) 또는 터치가 다방향 버튼 메소드를 개시할 것이다. 버튼 메소드를 개시하는 누름(24)은 작은 십자형으로 표현된다. 버튼 메소드를 개시하는 누름 신호 또는 메시지 수신시, 이 메소드는 누름 모션을 검출하고 모션 임계치(28)를 초과하는 모션에 대해 검사한다. 이 예에서, 버튼 임계치는 최초 누름 위치(24)로부터 누름 모션의 변위 임계치를 나타낸다. 따라서, 모션 임계치는 최초 누름 위치에 중심을 둔 원으로 표현된다.
본 발명의 일측면에서, 모션 임계치는 누름 모션과 직접적으로 연관될 필요는 없지만, 포인터 또는 터치 모션의 신호에 기초한 임계치일 수 있다.
도 2c에 도시된 바와 같이, 사용자 누름이 버튼 바운다리 내에서 발생하는 경우, 이 예시적인 버튼 메소드는 사용자에게 디스플레이되는 것을 변화시킨다. 이 예시적인 버튼에서, 이제 5개의 커맨드 선택사항이 디스플레이된다. 버튼 메소드가 막 개시되었고 모션 임계치를 넘은 누름 모션이 아직 검출되지 않았으므로, 디스플레이된 다방향 버튼(26)의 중앙 선택사항이 하이라이트된다(highlighted). 모션 임계치를 넘는 누름 모션 없이, 이제 사용자가 누름을 해제하면, 버튼 메소드는 장치에 대한 중앙 선택사항과 연관된 커맨드를 발행할 것이다.
본 발명의 일측면에서, 버튼 메소드는 사용자가 버튼을 누를 때 사용자에게 디스플레이되는 것을 변경할 수도 있고 변경하지 않을 수도 있다. 또한, 버튼 메소드는 사용자가 모션 또는 시간 임계치를 넘어서 누름을 움직이는 경우 사용자에게 디스플레이되는 것을 변경할 수도 있고 변경하지 않을 수도 있다. 또한, 버튼 메소드는 임의의 일반적인 방법을 이용하여 선택사항을 디스플레이하고 이들 선택사항 중 현재의 선택사항을 하이라이트한다.
본 발명의 일측면에서, 버튼 메소드는 사용자에게 디스플레이되는 것을 디스플레이 스크린 상의 어디에도 위치시킬 수 있다. 본 예에서는, 버튼 메소드가 디스플레이된 다방향 버튼(26)을 디스플레이 스크린(16)의 중심 근방에 위치시키고 있다. 지금 디스플레이되고 있는 선택사항을 사용자가 보는 것을 사용자의 손가락이 방해하지 않도록 하기 위해, 이 버튼의 디스플레이는 누름 또는 터치 바로 아래에 디스플레이되지는 않는다.
도 2d는 사용자가 다방향 버튼으로부터 커맨드를 선택하는 시퀀스의 다음 단계를 도시한 것이다. 이 단계에서, 사용자는 누름(40)을 최초 모션 임계치(28)를 넘어서 이동시켰다. 일반 버튼 동작과 다방향 버튼 간의 차이로, 버튼 메소드를 개시한 버튼 바운다리는 더 이상 중요하지 않다. 만약 사용자가 중심 선택 또는 선택사항 이외의 다른 선택을 누르면, 누름의 변위는 버튼 바운다리를 넘을 필요가 없지만 모션 임계치를 넘을 필요는 있다. 버튼 메소드는, 누름의 현재 위치가 모션 임계치를 초과했음을 검출한 경우에, 어느 선택 영역이 현재 누름 위치를 현재 포함하는지 판정한다. 이 판정을 하는 소프트웨어 메소드는 일반적이며 많은 메소드에 의해 달성될 수 있다. 본 예에서는, 최초 누름 위치로부터 변위된 누름의 각도(도 2f의 β')가 네 개의 각도 선택 영역(41, 42, 43, 44)과 비교된다. (도 2f로부터 알 수 있듯이, β'은 Y 방향의 축 A와 축 C 사이의 각도이고, 이 축 C는 현재의 누름 지점과 최초 누름 지점을 통과한다.) 본 예에서, 네 개의 선택 영역 각각은 90°의 개구각(angular aperture)을 갖는다. (도 2d에서 알 수 있듯이, β는 축 D와 축 E 사이의 각이다.)
본 발명의 일측면에서, 선택 영역의 개구각은 규칙적인 간격이 아니다. 소정의 사용자 입력 모션은 다른 모션보다 더 정확할 수도 있다. 예컨대, 프로그래머는 사용자가 신뢰할 수 있게 실행하기가 보다 어려운 모션에 대해 보다 큰 선택 영역 개구각을 갖는 다방향 버튼을 구현할 수 있다.
본 발명의 일실시예에서, 프로세스는 사용자 입력 에러를 추적하는 데이터베이스를 생성할 수도 있고 소정의 커맨드 선택의 에러율에 기초하여 선택 영역 개구 및/또는 모션 임계치 및/또는 시간 임계치를 조정할 수도 있다. 사용자 에러의 비율은 백스페이스 이전에 발행된 커맨드 또는 다른 에러 정정 커맨드를 추적하는 것과 같은 일반적인 방법에 의해 추적될 수 있다. 사용자 입력 에러는 정정 커맨드 이후의 사용자에 의해 입력된 커맨드를 정정 커맨드 이전에 입력된 커맨드와 비교함으로써 결정될 수 있다. 이전 커맨드, 정정 커맨드 및 정정된 커맨드는 복수의 장치 커맨드로 이루어질 수 있다.
도 2d에 도시된 예시적인 사용자 입력 시퀀스에서, 버튼 메소드는 지금 선택 영역(41) 내에 누름이 있음을 검출하였다. 본 예에서는, 버튼 메소드가 디스플레이 스크린(16)을 도 2e에 도시된 바와 같이 업데이트하여 최상위 메뉴 항목을 하이라이트한다.
사용자 입력 선택 시퀀스의 마지막 단계는 사용자가 누름을 해제하는 것이다. 릴리스 선택시, 메소드는 하나 이상의 커맨드를 발행한다. 이 예시적인 메소드는 그 다음에 스크린을 업데이트하여 팝업 다방향 버튼, 메뉴 또는 디스플레이를 제거한다.
본 발명의 일측면에서, 소프트웨어 메소드는 사용자에 의해 선택되거나 하이라이트될 수 있는 커맨드가 현재 누름이 있는 선택 영역 근방의 선택 영역과 연관됨을 판정한다. 사용자의 손가락이 호를 그리는 모션을 생성하는 경향이 있는 피봇으로 이루어져 있기 때문에, 아마도 사용자가 누름을 직선으로 움직이지는 않을 것이다. 따라서, 사용자가 누름을 이동시키고자 한 방향의 판단으로부터 다양한 메소드가 선택될 수 있다. 예컨대, 모션 임계치를 초과한 누름에서 누름 모션의 각도는 누름의 릴리스의 각도를 평균한 것일 수도 있다. 다른 예에서는, 최초 누름 모션이 보다 최근의 모션보다 더 높게 가중될 수도 있다.
마이크로소프트의 윈도우 운영체제에서, 많은 애플리케이션에서 오른쪽 마우스 버튼이 메뉴를 팝업한다. 본 발명의 일측면에서, 마우스 버튼의 누름 또는 터치 스크린의 터치 또는 물리적 버튼의 누름이 있는 경우, 다방향 버튼이 마찬가지로 사용자 누름에 응답하여 팝업할 수 있다. 최초 온스크린 버튼이 사용자에게 디스플레이될 필요는 없다.
본 발명의 일측면에서, 선택 영역의 임의의 수의 개구각이 다방향 버튼에 존재할 수 있다. 각도 선택 영역은 무한히 작을 수 있기 때문에, 이론적으로 다방향 버튼에 존재할 수 있는 선택사항 및 커맨드의 수에 제한은 없다. 그러나, 실제로는 사용자가 신뢰할 수 있게 누름을 움직일 수 있는 선택 영역을 제한하는 최소 개구각으로 제한된다.
본 발명의 일측면에서, 선택 영역은 규칙적인 각도 간격으로 있거나 또는 모션 임계치 주위로 대칭적으로 있을 필요가 없다. 다방향 버튼은 이들을 제어하는 애플리케이션의 요구에 적합하도록 적응되는 선택 영역을 가질 수도 있다.
다방향 버튼으로 이루어진 키보드의 상세한 설명
다른 실시예에서는, 복수의 다방향 버튼이 키보드를 구성한다. 도 3a는 소프트웨어 키보드(14)를 포함하는 예시적인 컴퓨팅 장치(10)를 도시한 것이다. 소프트웨어 키보드는 때론 "소프트 키보드"라고 하는데, 물리적 키가 없는 키보드이다. 이 키보드는 터치 스크린 키보드일 수도 있고 포인팅 장치 또는 스타일러스 또는 온스크린 소프트웨어 키보드를 동작시키는 일반적인 방법에 의해 동작할 수도 있다. 소프트웨어 키보드는 보통 물리적 키보드를 위한 공간을 갖지 않는 작은 휴대형 컴퓨팅 장치에 일반적이다.
본 예의 다기능 버튼 키보드는 복수의 다기능 버튼을 갖고 있는데, 그 중 3개의 다기능 버튼이 영어 알파벳의 모든 알파벳 문자를 포함한다. 이들 3개의 버튼 각각은 버튼당 9개의 키 선택사항을 갖는 다방향 버튼이다.
도 3b는 예시적인 컴퓨팅 장치(10)의 디스플레이 스크린(16) 상에 소프트웨어 키보드의 다방향 버튼의 버튼 바운다리를 도시하고 있다. 버튼 바운다리(33, 34, 35)는 다방향 버튼(30, 31, 32)의 바운다리이며, 이들 버튼은 각기 모두 26개의 영어 알파벳 문자를 포함한다. 버튼 바운다리(46, 47, 48)는 다방향 버튼(36, 37, 38)의 바운다리이며, 이들은 각기 일반 키보드에서 볼 수 있는 다른 일반 키 또는 커맨드를 포함한다.
본 발명의 일측면에서, 소프트웨어 키보드를 구현하는 방법은 버튼 바운다리 내의 사용자 누름 위치 또는 사용자 누름 에러를 추적할 수도 있고, 사용자 선호(user preference) 또는 사용자 패턴에 맞도록 버튼 바운다리의 위치를 조정할 수도 있다.
도 4a 및 4b는 다방향 버튼의 동작을 예시하기 위해 사용자가 복수의 커맨드로부터 하나의 커맨드를 선택하는 예시적인 시퀀스를 도시한 것이다. 이 예시적인 시퀀스에서, 사용자에 의해 알파벳 문자가 컴퓨팅 장치로 입력된다. 도 4a 및 4b는 사용자가 보는 디스플레이의 컨텐츠를 디스플레이하지 않고 버튼 경계 누름 및 모션 임계치의 위치 및 디스플레이 스크린 상의 누름 또는 터치 또는 위치를 보여준다. 바운다리 및 임계치의 위치 및 누름 위치는 사용자에게 디스플레이되지 않고, 다만 단일 버튼으로부터의 복수의 선택사항으로부터 사용자가 선택할 수 있게 하는 방법을 설명하기 위해서 도시된다. 버튼 바운다리 영역들은 사용자에 의해 선택될 때 온스크린 다방향 버튼에 대한 본 발명의 다방향 버튼 메소드를 개시할 터치 스크린의 영역들이다.
예시적인 시퀀스의 제 1 단계는 버튼 바운다리(34) 내에서의 사용자 누름으로 이루어진다. 도 4a는 버튼 바운다리(34) 내에 작은 십자형으로 표시된 최초 누름 위치(24)를 도시한 것이다. 버튼 바운다리는 도 3a에 도시된 바와 같이, 소프트웨어 키보드(14) 상의 상부 중심 버튼에 대응한다. 버튼 메소드를 개시하는 신호 또는 메시지 수신 시, 메소드는 누름 모션을 검출하고 모션 임계치(28)를 초과하는 모션에 대해 검사한다.
이 예시적인 메소드에서, 사용자의 손가락 또는 다른 선택 장치는 디스플레이된 온스크린 버튼 위에 있어 디스플레이된 버튼을 가린다. 이 예시적인 메소드에서, 변화는 사용자에 의해 보이지 않을 것이므로 스크린 상에 디스플레이된 버튼은 변하지 않는다.
본 발명의 일측면에서, 사용자가 누름을 즉각 해제하면 선택되는 현재의 키 또는 커맨드는 컴퓨팅 상의 어디에든 디스플레이될 수 있다.
예시적인 시퀀스에서 제 2 단계는 도 4b에 도시된 바와 같이, 상용자가 누름을 최초 누름 위치로부터 새로운 선택 지점(40)으로 이동시키는 것이다. 이 예에서, 각각의 8개의 선택 영역(81 내지 88)이 45°의 개구각을 갖는다. 새로운 선택 지점은 이 버튼 메소드에 대해 모션 임계치(28)를 초과했다. 이 예에서, 최초 누름 위치로부터 디스플레이된 누름의 각도는 β'이다. 도 4b에서 알 수 있듯이, β'는 Y 방향의 축 A와 축 C 사이의 각으로, 축 C는 현재의 누름 지점과 최초 누름 지점을 통과한다.) 이 예의 다방향 버튼 메소드는 각도 β'를 8개의 각도 선택 영역과 비교하여 누름이 어느 선택 영역으로 이동했는지를 판단한다.
본 발명의 일측면에서, 선택 영역의 개구각은 규칙적인 간격으로 있을 필요는 없고 특정 목적에 맞는 어떠한 개구각 및 임계치도 될 수 있다.
도 3a에 도시된 소프트웨어 키보드(14)는 다양한 커맨드 선택사항을 갖는 다방향 버튼을 도시한 것이다. 소프트웨어 키보드의 이 예에서, 다방향 버튼(36)은 4 개의 커맨드 선택사항을 가지며, 다방향 버튼(37)은 5개의 커맨드 선택사항을 갖고, 다방향 버튼(38)은 2개의 커맨드 선택사항을 갖는다.
본 발명의 일측면에서, 다방향 버튼을 구현하는 애플리케이션 프로그램 또는 프로세스는 언제라도 다방향 버튼을 재구성할 수 있다. 예컨대, 커맨드 선택사항이 버튼들에 추가될 수도 있고 버튼들로부터 제거될 수도 있다.
본 발명의 일측면에서, 다방향 버튼은 선택당 단일 커맨드로 한정될 필요는 없고, 복수 커맨드를 발행하거나 또는 다른 메소드를 개시할 수도 있다. 예컨대, 도 3a에 도시된 다방향 버튼(37)에서, 사용자가 올바른 선택사항을 선택함으로써 발행된 커맨드는, 마침표 문자가 장치에 입력되고, 그 후 스페이스 문자가 장치에 입력되며, 이어서 다음 키의 대문자가 입력되는 것을 포함하는 메소드를 개시할 것이다.
본 발명의 일측면에서, 장치에 입력되는 커맨드는 상태 변경을 포함할 수 있다. 예컨대, 소프트웨어 키보드의 좌하측 다방향 버튼(36)은 일반적인 키보드 상태 변경들, 즉 캡스락(Caps Lock) 키, 시프트(Shift) 키, 컨트롤(Control) 키 및 알트(Alt) 키를 포함하는 네개의 선택사항을 포함한다.
본 발명의 메소드에서, 시프트 키는 "Caps Lock" 상태를 온 및 오프 사이에서 토글하기 위해 2회 눌러질 수도 있다.
현재의 예시적인 메소드에서, 예시적인 다방향 버튼은 제 2 모션 임계치(45)를 갖는다. 사용자가 누름을 제 2 임계치를 넘어 이동시키면, 아무런 커맨드도 발행되지 않을 것이며 메소드는 소프트웨어 키보드의 버튼들을 디스플레이 스크린 상의 새로운 위치로 이동시킬 것이다. 이런 방법으로, 사용자는 스크린 상에서 키보드를 쉽게 이동시켜 사용자에게 적응시킬 수 있다.
본 발명의 일측면에서는, 소프트웨어 키보드를 포함하는 다방향 버튼이 사용자의 타이핑 스타일에 매칭하도록 디스플레이 스크린 상에서 이동 또는 배치될 수 있다. 예컨대, 사용자는 한 손가락 또는 입력 장치로 키보드를 사용하는 것으로부터 복수의 손가락 또는 입력 장치들로 키보드를 사용하는 것으로 바꿀 수도 있다. 디스플레이 스크린 상의 최적의 버튼 레이아웃은 사용자가 키보드를 사용하기 위해 선택하는 다양한 방법에 대해 상이하다.
본 발명의 일측면에서는, 터치 스크린 상에서, 사용자는 한 손가락보다 많은 손가락으로 스크린을 동시에 터치할 수도 있다. 이것은 당해 분야에서 "코딩(chording)"으로 알려져 있다. 사용자가 버튼을 가진 마우스를 사용하고 있다면, 한번에 하나 보다 많은 마우스 버튼을 누르는 것도 당해 분야에서 "코딩"으로 지칭된다. 코딩은 사용자에게 이용가능한 커맨드 선택사항의 수를 확장시키는데 사용될 수 있다.
본 발명의 메소드에서는, 다방향 버튼 메소드가 코딩을 검출한다. 코딩은 다음 방법으로 검출될 수 있다. 다방향 버튼 메소드는, 최초 버튼 누름에 응답하는 신호에 의해 개시된 후에, 최초 누름 후에 하나 이상의 사용자 누름에 의해 생성된 신호를 검출한다. 후속 사용자 누름은 사용자가 다른 손가락 또는 손가락들로 터치 스크린을 터치하기 및/또는 사용자가 다방향 버튼일 수도 있고 아닐 수도 있는 다른 버튼 또는 버튼들을 누르기로 이루어질 수도 있다. 사용자 누름은 시스템 포인터가 다방향 버튼 위에 있는 동안 사용자가 하나보다 많은 마우스 버튼을 누르는 것으로 이루어질 수도 있다. 사용자 누름은 사용자가 복수의 물리적 다방향 버튼을 누르는 것으로 이루어질 수도 있다. 누름 검출시, 다방향 버튼 메소드는 추가적인 누름, 누름의 동작 및 릴리스를 검출하여 장치에 대한 커맨드를 결정한다.
본 발명의 일측면에서, 다른 누름 검출시, 버튼 메소드는 다른 버튼을 개시하여 사용자 누름 시퀀스, 모션 및 릴리스를 해석하여 장치에 대한 커맨드를 결정한다.
본 발명의 일측면에서, 다방향 버튼 메소드는 사용자 의도들을 구별하기 위해 타이머를 설정하고/또는 누름 시간을 기록한다. 예컨대, 시간 임계치 내에서 눌러지거나 또는 릴리스된 복수의 버튼이 동시 다중 버튼 사용자 누름 또는 릴리스로서 해석될 수 있다.
본 발명의 메소드에서, 도 1 및 도 3a에 도시된 바와 같이, 다방향 버튼 메소드는 시간 임계치 내에 컴퓨팅 장치(10)의 디스플레이 스크린(16) 상의 소프트웨어 키보드(14) 상의 2개의 사용자 누름을 검출한다. 메소드는, 사용자의 누름 해제 검출시에 "스페이스(space)" 키 커맨드를 장치에 입력한다.
본 발명의 메소드에서, 도 1 및 3a에 도시된 바와 같이, 다방향 버튼 메소드는 컴퓨팅 장치(10)의 디스플레이 스크린(16) 상의 소프트웨어 키보드(14) 상의 2개의 사용자 누름을 검출한다. 메소드는, 시간 임계치 내에 사용자의 누름 해제 검출시, "스페이스" 키 커맨드를 장치에 입력한다.
일반 키보드는 키 또는 버튼을 누르거나 또는 유지함으로써 사용자가 복수의 키스트로크 또는 커맨드를 입력하도록 허용한다. 일반 프로세스는, 키의 누름이 검출될 때, 시간의 설정 간격 또는 비율로 타이머 시간을 프로세스에게 전송하는 시스템 타이머를 개시한다. 타이머 신호가 수신되면, 눌러진 키의 릴리스의 검출 전에, 프로세스가 키스트로크 또는 커맨드를 장치에 입력한다. 누름 해제 검출 시, 프로세스는 시스템 타이머를 턴오프한다.
본 발명의 메소드에서, 다방향 버튼 누름이 검출되고/또는 버튼 누름이 모션 임계치를 초과했을 때, 다방향 버튼 메소드는 시스템 타이머를 개시한다. 시스템 타이머는 시간의 설정 간격 또는 비율로 버튼 메소드에게 타이머 신호를 보낸다. 타이머 신호가 수신되면, 눌러진 키의 릴리스의 검출 전에 프로세스는 키스트로크 또는 커맨드를 장치에 입력한다. 누름 해제 검출시, 버튼 메소드는 시스템 타이머를 턴오프한다. 이것에 의해 사용자는 복수의 커맨드를 장치에 입력할 수 있다.
본 발명의 일측면에서, 다방향 버튼 메소드는 다른 버튼들 또는 객체들 또는 다른 버턴들 또는 객체들의 디스플레이 스크린 상의 디스플레이를 변경할 수도 있다.
본 발명의 메소드에서, 최초 버튼 누름에 의해 개시된 다방향 버튼 메소드는 버튼 디스플레이 및 하나 이상의 버튼들의 처리를 변경한다. 제 2 누름 검출 및 존재할 경우 제 2 누름의 모션 및 메소드를 개시한 누름의 해제 전의 제 2 누름의 해제 검출시, 메소드는 커맨드를 장치에 입력한다. 개시 누름의 해제시, 제 2 누름이 검출되지 않았으면 장치에 입력되는 커맨드는 억제될 것이다.
본 발명의 메소드에서, 최초 버튼 누름에 의해 개시된 다방향 메소드는 버튼 디스플레이를 변경하고 반대 상태의 알파벳 문자를 디스플레이하도록 하나 이상의 버튼을 처리한다. 메소드는, 제 2 누름 및 제 2 누름의 모션 검출시, 메소드를 개시한 누름의 해제 전에, 하나 이상의 문자를 장치에 입력한다. 개시 누름의 해제시, 제 2 누름이 검출되지 않았으면, 장치에 입력되는 커맨드는 억제될 것이다.
예컨대, 도 3a의 소프트웨어 키보드(14)의 세 개의 버튼(30, 31, 32) 중 하나가 사용자에 의해 눌러지면, 다방향 버튼은 버튼 누름 검출시 다른 2개의 버튼을 변경하여 반대 상태의 문자들을 디스플레이하고 처리할 수 있다. 도 5a는 다방향 버튼(32) 상의 예시적인 사용자 누름(24)을 도시한 것이다. (개시 버튼 누름(24) 및 모션 임계치(28)를 볼 수 있도록 사용자가 버튼(32) 상에서 보는 문자들이 도면에서 제거되었다.) 도면에서 알 수 있듯이 본 사례는 도 3a의 소문자로부터 도 5a에 도시된 다방향 버튼(30, 31) 상의 대문자로 변경되었다.
본 발명의 일측면에서, 제 2 누름은 누름이 다른 버튼의 상태를 변경하기 위한 메소드에 대해 다방향 버튼 메소드를 개시한 후에 시간의 임계치를 넘어 발생할 수도 있다.
본 발명의 메소드에서, 다방향 버튼 메소드는 모션 임계치를 넘는 개시 누름 및/또는 시간 임계치를 넘는 누름의 모션을 검출하고, 다방향 버튼일 수도 있고 아닐 수도 있는 다른 버튼을 변경한다. 변경들은, 다방향 버튼일 수 있는 다른 객체로의 스크린 객체의 대체, 다방향 버튼에 의해 발행된 커맨드의 변경 및/또는 다방향 버튼 바운다리, 모션 임계치 및/또는 시간 임계치 및 또는 다방향 버튼의 디스플레이 또는 디스플레이 스크린 상의 기타 스크린 객체의 변경으로 이루어지지만 이에 한정되지는 않는다. 다방향 버튼은 복수의 커맨드 선택을 포함하고, 이 선택은 보다 많은 다방향 버튼들을 개시할 수도 있다.
다른 예에서, 도 3a의 소프트웨어 키보드(14)의 3개의 버튼(30, 31, 32) 중 하나가 사용자에 의해 눌러지면, 버튼 누름 검출시 다방향 버튼 메소드는 알파벳 문자 대신에 비알파벳 문자를 디스플레이하고 처리하기 위해 다른 2개의 버튼을 변경할 수 있다. 도 5b는 다방향 버튼(32) 상의 예시적인 사용자 누름(24)을 도시한 것이다. (개시 버튼 누름(24) 및 모션 임계치(28)를 볼 수 있도록 사용자가 버튼(32) 상에서 보는 문자들은 도면에서 제거되었다.) 이 예에서는, 사용자가 모션 임계치를 넘어 누름을 이동시켰다. 이 메소드는, 모션 임계치를 넘은 누름의 검출시에, 도 5b에 도시된 바와 같이 숫자 패드를 포함하는 비알파벳 문자를 디스플레이하고 처리하도록 다방향 버튼(30, 31)을 변경하였다.
본 발명의 일측면에서, 메소드를 개시하는 누름 후에 시간의 임계치를 넘어 제 2 누름이 발생할 수도 있다.
본 발명의 일측면에서, 커맨드를 변경한 다방향 버튼의 디스플레이의 변경은, 메소드를 개시하는 누름 시간 이후 시간 임계치가 경과될 때까지 발생하지 않을 수도 있다.
본 발명의 일측면에서, 커맨드를 변경한 다방향 버튼의 디스플레이는, 메소드를 개시하는 누름 시간으로부터 시간 임계치 내에서 모든 누름이 릴리스되지 않으면, 변경되지 않을 수도 있다.
본 발명의 메소드에서, 사용자가 두 손가락으로 소프트웨어 키보드를 누른 다음 두 개의 누름을 실질적으로 같은 방향으로 모션 임계치를 넘어서 이동시키면, 키보드가 디스플레이 스크린 상에서 이동한다. 이것에 의해, 사용자는 키보드를 자신의 타이핑 스타일에 맞게 이동시킬 수도 있다.
본 발명의 메소드에서, 사용자가 두 손가락으로 소프트웨어 키보드를 누른 다음 두 개의 누름을 반대로, 일반적으로는 회전 방향으로 선택적으로는 모션 임계치를 넘어서 이동시키면 키보드의 방향이 변한다.
본 발명의 메소드에서, 사용자가 두 손가락으로 소프트웨어 키보드를 누른 다음 두 개의 누름을 서로를 향하도록 또는 서로 멀어지도록 이동시키면 키보드의 크기가 변하고/또는 본 발명의 키보드의 버튼의 위치가 변하며/또는 키보드가 둘 이상의 키 세트로 나누어지거나 또는 둘 이상의 키 세트가 하나의 키보드로 재결합된다.
예컨대, 키보드가 디스플레이 스크린(이것은 태블릿 컴퓨터 위에 있지 않을 수도 있다)의 폭 또는 높이의 범위를 채우지 않으면, 그리고 사용자가 두 손가락으로 키보드 위를 누르면, 사용자는 자신의 손가락을 벌려 키보드를 확대할 수 있다. 또한, 사용자가 자신의 손가락을 최대 확대 설정을 초과하여 계속 움직이면, 키보드는 키의 카피를 포함할 수 있는 두 세트의 버튼 또는 키로 나누어질 수 있다. 그러면, 두 세트의 키는 디스플레이 스크린의 반대 편에 위치할 수 있다. 둘 이상의 키 세트를 포함하는 본 발명의 일실시예가 도 17에 도시되어 있다. 메소드의 이 예에서, 사용자는 한 손으로 타이핑하기에 좋은 보다 작은 키보드로부터 양 손을 사용하여 타이핑하기에 좋은 레이아웃을 가진 두 세트의 키로 키보드를 변경할 수 있다. 분리된 키보드를 갖는게 좋은 양 손으로 타이핑하는 한가지 방법은 "엄지손가락(thumb)" 타이핑이다.
도 17은 본 발명의 일실시예를 도시하고 있다. 이 실시예의 장치(10)는 대중적인 태블릿 컴퓨터와 유사하다. 상태 바(11), 텍스트 입력 영역(12), 및 홈(Home) 버튼(13)이 사용자 방향으로 보여진다. 디스플레이 스크린(16)은 2개의 동일한 다방향 버튼 세트(14, 15)를 포함하는 소프트웨어 키보드를 포함하는데, 이들 다방향 버튼들은 알파벳 문자를 포함한다. 도면에서 볼 수 있듯이, 좌측 버튼 세트의 버튼들(30, 31, 32, 36, 37, 38)은 우측 버튼 세트의 버튼들(170, 171, 172, 176, 177, 178)과 동일한 외양 및 기능을 갖는다. 따라서 사용자는 양손으로 장치를 파지하고 자신의 엄지 손가락으로 타이핑함으로써 본 실시예의 키보드로 타이핑하기를 선택할 수 있다. 사용자는 우측 세트 또는 좌측 세트 또는 두 세트의 키의 조합의 버튼을 사용하여 타이핑하도록 선택할 수 있다. 따라서, 사용자는 다양한 방식으로 자신의 취향에 따라 키보드를 사용할 수 있다. 본 실시예는 또한 숫자 패드 및 기타 문자들을 포함하는 다방향 버튼들의 세트(173, 174, 175)를 더 포함한다. 이들 세 버튼은 중심에 위치해 있고 디스플레이 스크린에 카피를 갖지 않는다.
일반적인 키보드의 키를 분리하는 것이 당해 분야에 일반적이다. 그러나, 다방향 버튼으로 이루어진 키들을 분리하는 것 및 다방향 버튼들로 이루어진 키들 또는 알파벳 문자들을 포함하는 일반 키들의 복수의 카피를 배치하는 것은 신규하며 자명하지 않다. 당업자는 본 발명의 범주로부터 벗어나지 않고 키들의 숫자, 배치, 디스플레이 및 조합을 조정할 수 있다. 또한, 카피된 키들은 동일할 필요가 없지만, 유사한 기능을 가지면서 유사할 수는 있다.
본 발명의 일측면에서, 사용자가, 모션 임계치 내의 영역인, 다방향 버튼의 중앙 선택 영역으로부터 누름을 움직이는데 필요한 최소 변위는 버튼 바운다리의 크기와는 무관하다. 또한, 모션 임계치를 넘는데 필요한 누름의 모션 또는 변위는 스크린 디스플레이 또는 그래픽 상의 다방향 버튼의 크기 또는 위치 또는 형상에 기초하지 않는다. 다방향 버튼과 일반 메뉴들 또는 일반 버튼들 간의 차이는 모션 임계치를 초과하여 다른 선택 영역까지 움직이는데 필요한 누름의 변위가 하나의 유사한 크기의 메뉴로부터 다른 메뉴로 움직이는데 필요한 변위보다 작을 수 있다는 것이다. 또한 누름의 최대 변위는 인접 버튼 바운다리에 의해 제한될 필요가 없다. 최대 변위는 누름 모션의 범위에 의해서만 제한되면 되며, 터치 스크린 상에서 이것은 스크린 바운다리이다. 일반 메뉴 또는 버튼 상에서는, 사용자는 하나의 메뉴 항목 또는 버튼으로부터 다른 메뉴 항목 또는 버튼으로 누름을 이동시킴으로써 흔히 메뉴 항목들 또는 인접 버튼들 사이를 움직일 수 있지만, 누름은 반드시 선택되는 메뉴 항목 또는 버튼 위에 있어야 한다. 다방향 버튼의 이점은 사용자가 누름 모션이 덜 정확해도 된다는 것이다.
통상의 메뉴 시스템에서, 사용자는 자신이 선택하고 있는 메뉴 항목 또는 버튼의 범위 및 선택 바운다리를 알고 있어야 한다. 포인터 기반 사용자 입력 시스템에서, 사용자는 포인트가 선택될 메뉴 항목 위에서 움직였는지 그리고 메뉴 항목을 넘지 않았는지를 알기 위해 스크린 상에서 포인터를 지켜봐야 한다. 터치 기반 사용자 입력 시스템에서, 사용자는 마찬가지로 자신의 손가락의 변위가 선택될 메뉴 항목 위에서 메뉴 항목을 넘지 않았는지를 알고 있어야 한다. 방향 버튼의 경우에는, 사용자는 누름의 위만 지켜보면 된다. 선택의 나머지 메소드에 대해서는, 사용자는 터치 또는 포인터가 얼마나 멀리 움직였는지 그리고 어떤 방향으로 움직였는지에 대한 느낌만 갖고 있으면 된다. 실제로는, 다방향 버튼의 사용자는 그것이 "터치 타입"보다 훨씬 더 쉽다는 것을 알 것인데, 즉, 사용자가 버튼 또는 메뉴 또는 인터페이스와 시각적 접촉을 유지할 필요가 없이 사용자가 커맨드를 발행할 수 있다고 할 수 있다.
임계치를 넘은 포인터 또는 터치의 변위를 검출하는 것은 포인터 기반 사용자 입력 및 사용자 누름 및 터치의 움직임에 기초한 터치 스크린 기반 사용자 입력을 사용하는 모든 실시예에 대해 공통이다. 임계치가 변위의 반경 및 반경의 각도로 이루어지면 임계치는 하나의 값을 가질 수 있다. 반경 및 각도로 이루어지는 임계치는, X 및 Y 좌표가 단위당 동일한 거리를 나타낸다고 가정할 경우, 원형 임계 영역을 정의한다. 임계치는 다른 형상을 정의하는데 필요한 복수의 값을 가질 수도 있다. 예컨대, X 및 Y 값으로 이루어진 임계치는 직사각형 임계 영역을 정의할 것이다.
일실시예에서, 다방향 버튼은, 최초 누름에서부터 새로운 선택 영역으로 누름을 움직이는데 필요한 누름 모션 변위가 증가하는, 복수의 모션 임계치를 갖는다. 예컨대, 터치 스크린 상에서, 사용자는 자신의 손가락을 제 1 누름 모션 임계치를 지나 이동시켜 자신의 손가락을 제 2 누름 모션 임계치를 지나 계속해서 이동시킬 수 있다. 사용자는 자신의 손가락을 디스플레이 스크린의 크기에 의해서만 제한되는 더 많은 모션 임계치를 지나 계속 이동시킬 수도 있다.
본 발명의 일측면에서, 포인터, 터치 및 물리적 다방향 버튼 기반 입력의 실시예 및 메소드는 컴퓨팅 장치에서 서로 배타적일 필요는 없고 임의의 조합으로 구현될 수도 있다.
도 3a, 6a, 6b, 6c, 6d는 제 2 복수의 커맨드 선택사항을 디스플레이하는 다방향 버튼의 동작을 예시하기 위해, 사용자가 복수의 커맨드 중 다방향 버튼으로부터 선택될 수 있는 하나의 커맨드를 선택하는 예시적인 시퀀스를 도시한 것이다. 도 3a, 6a, 6c는 디스플레이 스크린(16) 상에서 사용자에게 디스플레이되는 것을 도시하고 있다. 도 6b 및 6d는 사용자가 보는 컨텐츠는 디스플레이하지 않고, 디스플레이 스크린 상의 터치 포인트, 바운다리의 위치 및 임계치를 도시하고 있다. 바운다리, 임계치 및 터치 포인트의 위치는 사용자에게 디스플레이되지 않지만, 다방향 버튼으로부터의 복수의 선택사항으로부터 사용자가 선택할 수 있게 하는 메소드를 설명하기 위해 도시되어 있다. 바운딩 버튼 영역은 사용자가 눌렀을 때 다방향버튼에 대한 본 발명의 메소드를 개시할 터치 스크린의 영역이다.
도 3a는 다방향 버튼으로 이루어진 소프트웨어 키보드의 일례를 디스플레이하고 있는 디스플레이 스크린(16)을 도시한 것이다. 이 예의 시퀀스에서, 제 1 단계는 사용자가 버튼(30)을 누르는 것으로 이루어진다. 도 6b에 도시되어 있는 바와 같이, 누름 신호 수신시, 예시적인 버튼 메소드는 최초 누름 위치(24)를 판정한다. 그 다음에 도 6b에 도시된 바와 같이, 메소드는 누름이 제 1 모션 임계치(28)를 넘었는지를 판정하기 위해 누름의 모션을 검출한다.
예시적인 시퀀스의 제 2 단계는 사용자가 모션 임계치를 넘어 새로운 누름 위치(60)로 누름을 이동시키는 것으로 이루어진다. 누름이 제 1 모션 임계치 외부로 이동했음을 검출하면, 이 메소드는 새로운 다방향 버튼을 개시한다. 메소드는 이제 사용자가 누름을 해제하면 선택될 현재의 커맨드를 하이라이트하는데, 본 경우에는 도 6a에 도시된 바와 같이 "a" 키이다. 이 예시적인 메소드에서, 메소드는 제 2 커맨드 세트의 디스플레이 및 처리를 개시한다. 도 6a에서 알 수 있는 바와 같이, 사용자에게 디스플레이된 원래의 버튼은 제 2 다방향 버튼(66)으로 대체되었다. 도 6d는 새로운 제 2 모션 임계치 및 새로운 선택 영역을 도시하고 있다. 이 예에서는, 다방향 버튼으로부터 영어 단어와 뒤이은 스페이스 문자로 이루어진 세 개의 새로운 커맨드가 선택될 수 있다. 사용자는 이제 누름을 우측으로, 즉, 정의 X 방향으로 세 개의 선택 영역 중 하나에서 누름을 해제하기에 적합한 각도로 이동시켜 세 개의 2차 커맨드 중 하나를 선택할 수 있다.
도 6d에 도시된 바와 같이, 예시적인 시퀀스의 제 3 단계는 사용자가 누름을 2차 모션 임계치(68)를 넘어 최종 누름 위치(65)로 이동시키는 것으로 이루어진다. 이 최종 누름 위치는 선택 영역(63)에 있다. 모션이 2차 모션 임계치를 넘었다는 신호 수신시, 도 6c에 도시되어 있는 바와 같이, 메소드는 2차 다방향 버튼(66)의 디스플레이를 변경하여 버튼의 우하위의 커맨드를 하이라이트한다. 이 예에서, 도 6d에 도시되어 있는 바와 같이, 선택 영역(64)은 누름 해제시, 선택 위치가 2차 모션 임계치 내에 있을 때 릴리스가 발생하면 발행될 커맨드와 동일한 커맨드를 발행한다.
예시적인 시퀀스의 제 4 단계에서, 사용자는 선택 영역(63)에서 누름을 해제한다. 이 선택 영역은 영어 문자들, 즉 단어 "and"에 해당하며, 이 단어가 장치에 입력된다.
본 발명의 일측면에서, 누름 해제 시, 다방향 버튼 메소드는 단순히 누름이 모션 임계치를 초과하지 않았고 누름이 소정 방향으로 움직였거나 움직이지 않았다는 것만 검사할 수도 있다. 예컨대, 이전의 예시적인 시퀀스에서, 버튼 메소드는 누름 해제시 릴리스 위치가 부의 X 방향에 있는 지를 검출할 수 있다. 그러한 경우, 누름은 정의 방향으로 움직이지 않았고 메소드는 커맨드 "a"를 장치에 입력할 것이다.
이전의 예시적인 시퀀스에서, 사용자는 버튼을 눌렀고, 소정 방향으로 움직였으며 누름을 해제했다. 이 사용자 입력 시퀀스에 의해 완전한 단어가 생성되고 이어서 스페이스 문자가 생성되어 장치에 입력되며, 이것에 의해 사용자는 다방향 버튼으로 거의 아무런 노력없이 고속으로 그리고 높은 정확도로 타이핑이 수행될 수 있음을 확인할 수 있다.
본 발명의 일측면에서, 2차 모션 임계치의 초과 및/또는 누름이 2차 선택 영역에 있을 때의 시간 임계치를 초과하는 누름은 또 다른 수준의 커맨드를 개시할 수 있다. 일반 소프트웨어 메뉴 내의 2차 메뉴를 설명하는데 사용된 용어는 "서브메뉴(submenu)"이다. 메뉴가 서브메뉴를 이끌어내는 것과 마찬가지로(이들은 또한 더 많은 서브메뉴를 이끌어낼 수 있음), 다방향 버튼은 더욱 더 많은 다방향 버튼들을 이끌어낼 수 있다. 커맨드 선택사항 및 다방향 버튼(최초 다방향 버튼으로부터 생길 수 있는 "서브 다방향 버튼"이라고 할 수도 있음)의 수에 대한 이론적인 제한은 없다.
본 발명의 메소드에서, 소프트웨어 키보드를 구현하는 메소드는 사용자에 의해 현재 입력되는 단어의 문자를 추적한다. 메소드는 하나 이상의 누름의 모션을 검출한다. 1차 모션 임계치를 넘는 모션 검출시, 메소드는 2차 커맨드 레벨을 개시한다. 누름의 모션이 모션 임계치를 넘으면 누름 해제시 초과될 커맨드는 현재 타이핑되고 있는 가능한 단어를 완성하는 키스트로크로 이루어진다. 예컨대, 사용자가 이전 예에서와 동일한 사용자 입력 시퀀스를 시작하기 전에 문자 "m"을 타이핑하여 새로운 단어를 현재 시작하면, 메소드는 다른 2차 커맨드 세트를 디스플레이할 것이다. 도 12는 2차 다방향 버튼(120)을 도시하고 있다. 이 예에서는, 디스플레이 스크린(16) 상에서 볼 수 있듯이, 3개의 영어 단어가 2차 다방향 버튼에 디스플레이된다. 디스플레이된 세 개의 단어 "mad", "made" 및 "make"는 사용자가 누름을 2차 모션 임계치를 넘어 이들 각 선택 영역 중 하나로 이동하도록 선택할 경우에 완성될 수 있는 영어 단어를 표현한다.
본 발명의 방법에서, 다방향 버튼으로 소프트웨어 키보드를 구현하는 일부 방법은 사용자에 의해 입력된 문자들을 소프트웨어 키보드에 저장하고, 입력된 문자들의 스트림을 분석하여 소프트웨어 키보드를 포함하는 장치에 현재 입력되고 있는 단어의 입력된 문자들을 판정하고, 사용자가 입력하고 있을 수 있는 가능한 단어들을 소프트웨어 사전에서 검색하고, 소프트웨어 사전에서 발견한 하나 이상의 단어와 선택적인 후속 스페이스 문자로 이루어지는 하나 이상의 커맨드를 포함하는 2차 다방향 버튼을 디스플레이한다.
본 발명의 일측면에서, 소프트웨어 사전은 단어들 및 일반 언어에서 그 단어의 사용 빈도 순위를 포함할 수 있다. 다방향 버튼은 단어 리스트를 소프트웨어 사전에서 발견된 빈도 순위의 순서로 포함할 수도 있다.
본 발명의 방법에서, 소프트웨어 키보드를 구현하는 방법은 다방향 버튼의 제 1 모션 임계치의 횡단을 검출하고, 제 2 커맨드 선택 레벨을 디스플레이하고, 2차 모션 임계치의 횡단을 검출하고, 제 3 커맨드 선택 레벨을 디스플레이한다. 제 3 커맨드 레벨은 단어의 변형 또는 단어의 조합으로 이루어질 수도 있다.
도 12는 제 2 레벨의 다방향 버튼을 개시하는 전술한 커맨드의 사용자 시퀀스를 도시한 것이다. 버튼(120)은 세 개의 단어 "mad", "made" 및 "make"와 "a" 문자를 포함한다. 사용자가 누름을 우하 방향으로 도 6d에 도시된 선택 영역(63)으로 이동시키면, 커맨드 "make"가 새로운 중심 선택이 될 것이다. 새로운 중심 선택의 검출시, 버튼 메소드는 제 3 커맨드 선택 레벨을 디스플레이할 것이다. 도 13에 도시된 바와 같이, 새로 디스플레이된 다방향 버튼(130)은 단어 "makes", "making" 및 "make up"으로 이루어진 3개의 새로운 커맨드를 디스플레이한다. 사용자가 누름을 좌하 방향으로 다시 이동시켜 누름을 해제하면, 사용자는 후속 스페이스 키를 갖는 문구 "make up"을 선택할 수 있다. 전체적으로, 사용자는 누름, 모션 및 릴리스로 "m" 키를 선택한 다음 버튼을 누르고, 누름을 3 방향으로 이동시키고 누름을 해제하여 8개의 문자를 장치에 입력했을 것이다. 이와 대조적으로, 종래의 키보드에서는 사용자가 자신의 손가락을 8개의 키로 이동하고 누르고 이들 8개의 키를 해제해야 한다. 다방향 버튼으로 이루어진 소프트웨어 키보드는 감소된 양의 누름 및 모션으로 사용자가 완전한 단어 및 심지어 복수의 단어도 입력할 수 있게 한다. 또한, 모션 임계치를 넘는데 요구되는 모션의 양이 종래의 키보드 상의 키들 사이를 움직이는데 요구되는 모션보다 훨씬 적을 수 있다.
본 발명의 일측면에서, 누름의 모션이 모션 임계치를 초과하고 모션이 속도의 임계치 아래 및/또는 시간의 임계치에 대한 속도의 임계치 아래 및/또는 속도의 임계치 또는 최초 누름 위치로부터 모션 임계치에 도달한 지점으로의 누름 모션의 방향과 상당히 다른 방향으로의 변위 또는 속도의 임계치 위에 있을 때까지, 멀티레벨 다방향 버튼은 다음 레벨의 다방향 버튼 또는 커맨드 선택 세트가 개시하기를 기다릴 수 있다. 당업자가 다음 레벨의 다방향 버튼을 언제 개시하는지 판정하도록 구현할 수 있는 가능한 방법들은 많이 있다. 또한, 멀티레벨 다방향 버튼은 디스플레이 스크린 상에 버튼을 디스플레이하는 것을 지연시키는 동안 다음 레벨을 개시할 수도 있다. 따라서, 하나 이상의 방향으로 누름을 신속하게 이동시키는 사용자는 스크린 상에서 깜빡이는 다방향 버튼의 디스플레이에 의해 주의가 흐트르지지 않을 것이다.
본 발명의 일부 실시예에서, 복수의 다방향 버튼은 전술한 바와 같은 키보드를 포함한다. 일반 키보드의 키 레이아웃은 일반 키 및 버튼으로부터 다방향 버튼에 이상적으로 적합하지 않을 수도 있다. 많은 나라의 가장 일반적인 키보드 레이아웃은 QWERTY 키보드 레이아웃이다. 도 7은 다방향 버튼에 적합한 예시적인 QWERTY 키보드를 도시한 것이다. 모든 주요 라틴 문자들(A-Z)은 일반 키보드와 실질적으로 동일한 위치에 유지된다. 키보드 레이아웃은 QWERTY 레이아웃에 익숙하다고 가정되는 사용자에게 배우기에 가장 쉬운 다방향 버튼 키보드 레이아웃을 제공한다. 그러나, 다방향 버튼에서 중심 커맨드, 또는 키 또는 선택사항이 실행하기에 가장 효율적인 커맨드이다. QWERTY 레이아웃에서는, 문자 "s", "g" 및 "k"가 이들 위치를 차지한다. 그러나, 이들 문자는 가장 일반적으로 타이핑하는 문자가 아니다.
본 발명의 일실시예에서, 키보드는 복수의 다방향 버튼으로 이루어진다. 도 8에 도시되어 있는 바와 같이, 버튼의 레이아웃은 3개의 키 쌍의 위치가 교환되어 있는 QWERTY 키보드 레이아웃(80)으로 구성된다. 교환된 쌍은 "s" 문자와 "e" 문자, "g" 문자와 "t" 문자, "k" 문자와 "i" 문자이다. 이들 문자 쌍의 교환은 영어 텍스트 타이핑 시에 중심 버튼 커맨드 선택 또는 키가 약 15% 더 자주 실행될 것이다. (이것은 일반적으로 이용가능한 문자 사용 빈도 데이터로부터 발견되었다. 중심 커맨드는 교환된 쌍의 레이아웃을 이용하는 경우에 약 22% 사용되는데, 일반적으로 타이핑하는 동안 종래의 Qwerty 레이아웃을 이용하는 경우에는 7% 사용된다.) 이 키보드 레이아웃을 여기서는 "템플(Temple)" 키보드 레이아웃이라 할 것이다.
템플 키보드 레이아웃은 QWERTY 레이아웃에 익숙한 사용자에 대해 약간 더 높은 학습 곡선(learing curve)을 가질 것이지만, 결국 더 높은 효율을 가질 것이다. 템플 레이아웃은 단지 인접 키들을 교환함으로써 학습 곡선을 감소시킨다. 사용자가 위치를 변경한 6개의 키 중 하나를 찾으면, 사용자는 기껏해야 예상 위치로부터 한 키 떨어진 곳에서 그 키를 발견할 것이다. "a" 키는 영어에서 세번째로 가장 많이 사용되는 문자이지만, "a" 키는 "e" 키만큼 자주 사용되지는 않는다. "a" 키를 다방향 버튼의 중심 위치에 배치하기 위해서는 "a" 키가 다른 다방향 버튼으로 이동되어야 하는데, 이것은 QWERTY 레이아웃에 익숙한 사용자에게 학습 곡선을 킬질적으로 상승시킨다. (템플 키보드 레이아웃은 "a"가 중심 위치에 있는 "i"로 대체되는 경우보다 단지 1.3% 덜 효과적이다.)
QWERTY 키보드 레이아웃을 다방향 버튼에 적응시키는데, 도 7 및 도 8에 도시된 바와 같이 "p" 키는 혼자, 다른 문자들에 대한 상대 위치에 남아 있는 경우, 기본 라틴 문자들을 포함하는 4개의 다방향 버튼(버턴당 9개의 커맨드가 있음) 중 맨 우측에 위치한다. 본 발명의 일실시예에서는, 도 1a 및 도 3a에 도시된 바와 같이 "p"가 세번째의 다방향 버튼에 "m" 키의 우측으로 이동하여 배치된다. 이 예에서, 모든 기본 라틴 문자들은 3개의 다방향 버튼에 포함된다. 이것은 모든 기본 라틴 문자들을 포함하기 위해 요구된 다방향 버튼의 수를 3으로 최소화하며, 이는 주어진 키보드 크기에 있어서 다방향 버튼의 크기를 보다 크게 할 수 있게 한다.
다른 일반 키보드 레이아웃은 QWERTZ 레이아웃으로 동유럽 국가에서 널리 사용된다. 이 레이아웃과 일반 QWERTY 레이아웃 간의 주요 차이는 "Y" 및 "Z" 문자가 교환되어 있다는 것이다. 본 발명의 일실시예에서, "Temple" 레이아웃 및 본 발명의 수정된 QWERTY 레이아웃은 "Y" 및 "Z" 문자를 교환함으로써 QWERTZ 레이아웃을 사용하는 국가에서도 유사하게 조정될 수 있다.
일반 QWERTY 키보드 레이아웃 상에서, 숫자 키는 일반적으로 기본 문자 키 위에 있다. 이들 숫자 키는 기본 QWERTY 키보드 레이아웃에 대해 그들의 위치를 변경하지 않으면 다방향 버튼에 잘 적응되지 않는다. 도 7은 다방향 버튼에 맞게 조정된 QWERTY 키보드 레이아웃 및 숫자 키를 도시한 것이다. 숫자 키가 2개의 최상위 우측 다방향 버튼으로 이동되었음을 알 수 있다. "1" 내지 "9" 키를 포함하는 다방향 버튼은 일반 컴퓨터 키보드의 숫자 패드 상에서 발견할 수 있는 것과 동일한 상대 위치에 정렬된 숫자 키를 갖는다. 우상부의 다방향 버튼은 중앙에 "0"키를 포함하고, 일반적으로 숫자 키와 함께 사용되는 키들이 외부 위치들을 차지하도록 배치하고 있다.
도 9는 다방향 버튼으로 이루어진 숫자 패드(90)를 도시하고 있는데, 이는 보다 큰 키보드 레이아웃의 일부이며, 숫자 "1" 내지 "9"가 일반 폰 키 레이아웃의 위치에 배치되어 있다. 우측에 있는 다방향 버튼은 중앙에 "0" 키를 포함하고 있으며, 일반적으로 숫자 키와 함께 사용되는 키들이 외측 위치를 차지한다.
도 10은 다방향 버튼으로 이루어진 숫자 패드(100)의 다른 실시예를 도시한 것이다. 이 실시예에서는 숫자들이 5개의 커맨드 선택사항으로 이루어진 다방향 버튼에 배치되어 있다. 5개의 커맨드 버튼들은 사용자가 누름을 모션 임계치를 지나 4개의 선택 영역 중 하나로 이동시킴으로써 선택될 수 있는 중앙 커맨드 선택사항과 4개의 커맨드 선택사항으로 이루어져 있다. 이 실시예의 버튼들은 사용자로부터의 누름 모션의 각도 정확성을 덜 요구한다. 그 결과 입력 정확도가 높아지지만, 다방향 버튼이 주어진 공간에 맞게 작아질 필요가 있는 다른 버튼을 갖는다.
도 11은 3개의 일반 다방향 키를 갖도록 구현된 일반 QWERTY 키보드 레이아웃(110)을 포함하는 본 발명의 일실시예를 도시한 것이다. 3 커맨드 다방향 키는 사용자가 버튼의 모션 임계치를 초과하지 않은 누름 모션 없이 버튼의 누름을 해제하는 경우 선택될 중심 커맨드 선택을 갖는다. 중심 커맨드는 2개의 선택 사항에 의해 둘러싸여 있는데, 하나는 중심 커맨드 위에 있고 다른 하나는 중심 커맨드 아래에 있다. 이 실시예의 버튼 메소드는 모션 임계치를 초과한 모션을 검출하기 위해 단순히 Y 축을 따른 수직 누름 모션을 검출할 수 있다. 도 11에서 알 수 있는 바와 같이, 사용자가 맨 좌측 버튼을 누르고 아무런 모션없이 누름을 해제하면, "a" 문자가 장치에 입력될 것이다. 만약 사용자가 동일 버튼을 누르고 누름을 정의 Y 방향으로 모션 임계치를 넘어 이동시키면, "q" 문자가 장치에 입력될 것이다. 이 키보드 레이아웃에 대한 이점은 사용자가 보다 작은 각도 누름 모션 정확도를 필요로 한다는 것이다. 단점은 버턴 폭이 일반 키보드 레이아웃과 동일하게 유지된다는 것이다. 사용자가 자신의 손가락을 X 축을 따라 수평으로 넘기는 것이 편리하지 않다고 느끼면 사용자는 이 키보드 레이아웃을 선호할 수도 있다. 모든 다방향 버튼과 같이, 3 커맨드 다방향 버튼이 일반 키보드에 삽입될 수도 있다. 예컨대, 키의 중심 행, 즉 일반 QWERTY 키보드에서 ("asd..." 행)이 도 11의 키보드 레이아웃(110)으로 대체될 수도 있다.
도 16은 3 커맨드 다방향 키로 구현된 일반 QWERTY 키보드 레이아웃(160)을 포함하는 본 발명의 일실시예를 도시한 것이다. 3 커맨드 다방향 키는 사용자가 버튼의 모션 임계치를 넘지 않은 누름 모션 없이 버튼의 누름을 해제하는 경우 선택되는 중심 커맨드 선택사항을 갖는다. 중심 커맨드는 2개의 선택사항으로 둘러싸여 있는데, 하나는 중심 커맨드의 좌측에 있고 다른 하나는 중심 커맨드의 우측에 있다. 이 실시예의 버튼 메소드는 모션 임계치를 넘은 모션을 검출하기 위해 단순히 X 축을 따른 수평 누름 모션을 검출할 수 있다. 도 16에서 알 수 있듯이, 사용자가 상부 최좌측 버튼을 누르고 아무런 모션 없이 누름을 해제하면, "w" 문자가 장치에 입력될 것이다. 만약 사용자가 동일 버튼을 누른 다음 부의 X 방향으로 모션 임계치를 넘어 누름을 이동시킨 다음 누름을 해제하면, "q" 문자가 장치에 입력될 것이다. 이 키보드 레이아웃의 이점은 사용자가 각도 누름 모션 정확도를 덜 요구한다는 것이다. 단점은 버튼 높이가 일반 키보드 레이아웃과 똑같이 유지된다는 것이다. 그러나, 일반 키보드 상의 키의 높이는 일반적으로 그 폭보다 크므로, 이 3 커맨드 다방향 키의 키보드 레이아웃은 도 11에 도시된 종래의 실시예보다 큰 정확도를 가질 수 있다.
드보락(Dvorak) 키보드 레이아웃 또는 인터내셔널 키보드 레이아웃과 같은 일반적으로 사용되는 다른 키보드 레이아웃을 본 발명의 키보드 레이아웃에 맞게 조정하는 것은 특별한 기술을 요구하지 않고 다방향 버튼 내에 복수의 키스트로크 및 커맨드를 두는 본 발명의 범위 내에 있다고 요약할 수 있다.
휴대형 컴퓨팅 장치는 흔히 복수 방향에서 보여질 수 있다. 장치의 사용자는 휴대형 장치를 회전시켜 스크린 방향을 세로 및 가로(portrait and landscape) 디스플레이 사이에서 변경할 수 있다. 휴대형 컴퓨팅 장치는 흔히 프로세스가 디스플레이 스크린의 방향을 변경하는 신호를 제공하는 방향 센서(orientation sensor)를 포함한다. 소프트웨어 키보드가 디스플레이 스크린과 함께 회전하고 소프트웨어 키보드가 방향 변경 때 자신의 사이즈를 그에 맞게 조정하는 것이 일반적이다. 본 발명의 방법에서는, 스크린 방향을 변경하는 신호 검출 시, 메소드가 디스플레이 스크린 상에서 본 발명의 소프트웨어 키보드의 방향을 변경한다. 소프트웨어 키보드는 복수의 다방향 버튼으로 이루어지고 비다방향 버튼을 포함할 수도 있다.
본 발명의 일측면에서, 표시된 소프트웨어 키보드는 방향 변경에 응답하여 그 크기와 함께 자신의 레이아웃을 변경할 수도 있다.
본 발명의 일실시예에서, 휴대형 컴퓨팅 장치는 디스플레이 스크린의 한 방향으로 통상의 소프트웨어 키보드를 디스플레이하고, 장치는 다른 방향으로 적어도 하나의 다방향 버튼을 포함하는 소프트웨어 키보드를 디스플레이한다.
본 발명의 일실시예에서, 휴대형 컴퓨팅 장치는 디스플레이 스크린 상에 다방향 버튼의 카피를 하나보다 많이 가진 적어도 하나의 다방향 버튼을 포함하는 소프트웨어 키보드를 디스플레이한다. 예컨대, 많은 사용자는 두 손으로 휴대형 장치를 파지하고 자신의 엄지손가락으로 타이핑하는 것을 선호한다. 만약 사용자가 키보드의 모든 버튼 또는 사용자 입력 객체의 다른 컬렉션을 편안하게 사용할 수 없을 정도로 장치가 충분히 크다면, 버튼의 복수의 카피는 사용자의 엄지손가락 가까이에 배치될 수 있다. 이것에 의해 사용자는 자신의 두 엄지손가락 중 어느 하나로 다방향 버튼일 수 있는 버튼으로부터 커맨드를 선택할 수 있다.
본 발명의 일측면에서, 본 발명의 키보드는 많은 현재의 소프트웨어 기반 타이핑 개선과 호환가능하다. 개선(enhancement)은 스펠링 정정, 자동 정정, 자동 대문자화, 단어 예측 및 단어 명확화 소프트웨어 중 하나 이상을 포함하지만 이에 한정되지는 않는다.
다른 개선은 예측 타이핑을 통한 터치 바운다리의 수정이다. 본 발명의 방법에서, 방법은 현재 컴퓨팅 장치에 입력되고 있는 단어의 글자들을 검출하고 저장하며, 어느 커맨드가 다음에 입력될 가능성이 가장 높은지 판정하고, 다방향 버튼 선택의 선택 영역의 크기를 조정하며, 이로써 사용자가 자신이 의도한 사용자 입력 커맨드를 선택할 확률이 높아진다. 선택 영역의 크기는 모션 임계치를 변경하고/또는 누름 모션의 개구각을 변경함으로써 변경될 수 있다.
본 발명의 일측면에서, 본 발명의 다방향 버튼은 일반 키보드의 키, 숫자 패드, 메뉴 또는 기타 버튼들의 집합 등과 같은 기타 사용자 인터페이스 객체 내에 삽입될 수 있다. 다방향 버튼은 주로 일반 버튼들 또는 키들로 이루어지는 키보드 내에 삽입될 수 있다.
본 발명의 일측면에서, 버튼 메소드는 누름, 모션 임계치를 넘는 누름의 모션, 시간 임계치를 초과하는 누름, 누름의 해제 및/또는 가청, 촉각 및/또는 햅틱 사용자 피드백을 생성함에 의한 임의의 버튼 이벤트에 응답할 수 있다. 사용자 피드백의 타입은 피드백이 응답하는 이벤트의 타입 및 버튼에 의해 변할 수도 있다.
본 발명의 방법에서, 다방향 버튼 메소드는, 누름 및 모션 임계치를 초과하는 모션의 검출시, 최초 누름 위치에 대한 모션의 각도를 검출하고 사용자 피드백을 생성한다. 사용자 피드백은 정의 X 방향으로 약 90° 각도에 있는 선택 영역에 해당하는 모션과 약 45° 각도에 있는 선택 영역에 해당하는 모션에 대해 상이하며, 이것에 의해 사용자에게 누름 모션의 방향을 통지하는 가청 및/또는 햅틱 피드백이 사용자에게 주어진다.
본 발명의 방법에서, 다방향 버튼 메소드는 사용자로부터의 커맨드의 선택시, 선택된 커맨드에 대응하는, 컴퓨팅 장치에 의해 제공된 임의의 공통 수단에 의해, 가청 피드백을 생성한다. 예컨대, 하나 이상의 다방향 버튼으로 이루어진 키보드로부터의 피드백은 문자일 수 있는 선택된 커맨드의 가청 표현으로 이루어질 수 있다. 시각장애인 사용자는 예컨대, "a" 문자와 같은 문자를 선택한 후에 장치의 스피커로부터 글자 "a"를 들음으로써 즉각적인 피드백을 얻을 수 있다. 본 발명의 다방향 버튼들로 이루어진 사용자 인터페이스는 키보드 및 기타 사용자 인터페이스 객체를 포함할 수 있으며, 이러한 유형의 가청 피드백을 제공받는 경우 시각 장애가 있는 사람에게 큰 이점이 있다. 또한, 다방향 버튼은 이들로부터 선택될 수 있는 커맨드의 양 때문에 종래의 버튼 그룹에 비해 훨씬 더 큰 버튼을 가질 수 있다. 따라서, 시각장애가 있는 사용자는 다방향으로부터 누르고 선택하는데 보다 적은 어려움을 겪을 것이다.
본 발명의 일실시예에서, 컴퓨팅 장치는 또한 버튼으로 기능하는 터치 스크린을 갖는다. 터치 스크린은 스크린을 물리적으로 이동시키고 버튼 누름 신호를 생성하기에 충분한 터치로서 누름을 검출하는데 필요한 힘보다 큰 힘으로 눌러질 수 있다. 본 실시예의 컴퓨팅 장치에서, 다방향 버튼은 모션이 발생할 수 있게 하는 터치의 모션을 추적할 수 있고 버튼은 이전의 버튼 누름 없이 모션 임계치의 초과를 검출할 수도 있다.
본 발명의 일실시예에서, 컴퓨팅 장치는 버튼 누름으로 검출되기에 충분한 하향 힘 또는 움직임 없이 모션 임계치를 넘어서 버튼 누름의 방향에 실질적으로 수직인 측면 방향으로 이동할 수 있는 물리적 다방향 버튼 또는 키를 갖는다. 본 실시예의 컴퓨팅 장치에서, 다방향 버튼은 이전의 버튼 누름 없이 모션 임계치의 초과를 검출할 수도 있다.
본 발명의 일실시예에서, 컴퓨팅 장치는 사용자가 마우스 또는 마우스 대체물과 상호작용하는 하나 이상의 온스크린 다방향 버튼을 포함한다. 다방향 버튼은 버튼 누름 외의 다른 수단에 의해 개시될 수도 있어, 최초 상태에서 마우스 버튼이 눌리지 않을 수도 있다. 본 실시예의 컴퓨팅 장치에서, 다방향 버튼은 마우스의 모션을 추적하고 이전의 버튼 누름 없이 모션 임계치의 초과를 검출한다.
이전 세 실시예에 있어서, 다방향 버튼은 이전의 버튼 누름 없는 모션을 추적할 수도 있고 버튼 누름이 있는 모션과 없는 모션 사이를 구별할 수도 있다. 본 발명의 방법에서, 이전 메소드들에서와 같이 버튼 누름일 수도 있고 아닐 수도 있는 이벤트 또는 프로세스에 의해 초기화된 다방향 버튼 메소드는 하나 이상의 버튼 누름 및 하나 이상의 모션 임계치를 넘은 하나 이상의 모션을 검출하고, 이전 누름을 갖고 모션 임계치를 초과하는 모션 및 이전 누름 없이 모션 임계치를 초과하는 모션 간을 구별하며, 하나 이상의 누름 해제를 검출하고, 버튼 이벤트의 시퀀스로부터 장치에 대한 하나 이상의 커맨드를 결정한다.
메소드의 예시적인 다방향 버튼이 도 14 및 도 15에 도시되어 있다. 이 예시적인 다방향 버튼(140)은 단지 메소드의 버튼으로 만들어질 수 있는 다수의 버튼 패턴의 일례일 뿐이다. 도 14는 최초 상태에서의 버튼을 도시하고 있다. 중심 커맨드 선택부, 즉 선택 영역(141)이 하이라이트된다. 사용자가 모션 임계치를 초과하는 누름의 모션 없이 버튼을 누르고 해제하면, 이 선택과 연관된 커맨드가 장치에 입력될 것이다. 사용자가 버튼을 누르고 누름을 좌측으로 이동시키면, 누름은 선택 영역으로 이동할 것이다. 사용자가 이 선택 영역에서 누름을 해제하면, 이 선택과 연관된 커맨드는 장치에 입력될 것이다. 그러나, 사용자가 버튼을 누르지 않고 버튼을 좌측으로 이동시키면, 버튼 메소드는 누름을 검출하지 않고 모션 임계치를 초과하는 모션을 검출할 것이며, 도 15에 도시된 바와 같이, 선택 영역(144)이 하이라이트된다. 누름 해제가 검출되면, 이 선택과 연관된 커맨드가 장치로 입력될 것이다. 사용자가 버튼을 누른 다음 누름을 상향 방향으로 이동시키면, 누름은 선택 영역(143) 내에 있을 것이다.
다방향 버튼이 상이한 모션을 위한 선택 영역을 정의하는 상이한 개구각을 가질수도 있음을 보여주기 위해, 다방향 버튼으로 만들어질 수 있는 많은 패턴으로부터 예시적인 다방향 버튼이 선택되었다. 이 예의 다방향 버튼의 중심에서는, 8개의 선택 영역이 중심 디폴트 선택을 둘러싼다. 이들 선택 영역을 입력하기 위해, 사용자는 버튼을 누르고 누름을 모션 임계치를 지나 이동시켜야 한다. 중심 영역을 둘러싸는 8개의 선택 영역 각각은 약 45°의 개구각을 갖는 선택 영역을 갖는다. 선택 영역(142)은 이들 영역들 중 하나이다. 버튼 누름 없이 버튼의 모션에 의해 사용자에 의해 선택된 4개의 외부 선택 영역에 있어서, 선택 영역은 약 90°의 개구각을 갖는다. 선택 영역(144)은 이들 영역들 중 하나이다. 버튼 누름 없이 버턴의 모션 다음 다른 모션에 의해 사용자에 의해 선택된 8개의 가장 바깥쪽 선택 영역에 있어서, 선택 영역은 약 180°의 개구각을 갖는다. 선택 영역(143)은 이들 영역들 중 하나이다.
사용자가 버튼을 볼 필요없이 이 예시적인 버튼으로부터 신뢰할 수 있고 빠르게 선택할 수 있는 총 선택의 수는 21개이다. 더 많은 선택사항을 갖는 다방향 버튼으로 다른 패턴들이 생성될 수 있다. 요약하면, 이 메소드의 다방향 버튼은 사용자가 고속으로 매우 정확하게 신뢰할 수 있게 선택할 수 있는 다수의 커맨드를 허용할 것이다.
요약, 영향 및 한계(Summary, Ramifications, and Scope)
본 발명의 실시예들 및 측면들이 본 발명을 요약하기 위해 여기에 개시되지만, 본 발명의 범주를 제한하고자 하는 것은 아니다.
본 명세서는 일반적으로 커맨드를 컴퓨팅 장치에 입력하기 위한 사용자 입력 객체와 관련된다. 입력 객체는 하나 이상의 다방향 버튼으로 이루어지며 다른 입력 객체를 포함할 수도 있다. 개시된 실시에 및 메소드는 장치의 사용자가 쉽게 그리고 신속히 높은 정확도 및 속도로 특히 제한된 공간을 갖는 작은 휴대형 컴퓨팅 장치로 커맨드를 입력할 수 있도록 한다.
개시된 휴대형 컴퓨팅 장치는 결함들 및 컴퓨팅 장치로 전술한 사용자 입력과 연관된 기타 문제들을 저감시키거나 제거한다. 일부 실시예에서는, 장치가 휴대형이다. 일부 실시예에서는, 장치가 하나 이상의 디스플레이 스크린, 사용자 입력을 검출하는 수단, 하나 이상의 프로세서, 메모리 및 하나 이상의 모듈, 프로세스, 프로그램 또는 메모리에 저장된 복수의 기능을 수행하기 위한 명령어 세트를 갖는다. 일부 실시예에서, 사용자는 하나 이상의 다방향 버튼을 누르고, 이들 누름을 움직이고, 이들 움직임을 해제하여 장치에 커맨드를 입력한다. 이들 기능을 수행하는 인스트럭션은 컴퓨터 판독가능한 저장 매체 또는 하나 이상의 프로세서에 의해 실행하도록 구성된 다른 컴퓨터 프로그램 제품에 포함될 수 있다. 이들 기능을 수행하는 인스트럭션은 하나 이상의 메소드 및 휴리스틱스를 모션에 적용하여 장치에 대한 커맨드 및 커맨드를 처리하는 인스트럭션을 결정한다.
개시된 실시예 및 방법들은 다방향 버튼을 가진 컴퓨팅 장치들이 사용자가 원하는 방법으로 작동할 수 있도록 한다. 따라서, 다방향 버튼을 갖는 사용자 인터페이스는 다방향 버튼으로 이루어지며 사용자 커맨드를 입력하는 바람직한 메소드이다.
본 발명 및 실시예 및 메소드에 대한 참조는 본 발명의 범주를 제한하기 위한 것이 아니다. 당업자는 본 발명의 범주 및 사상으로부터 벗어나지 않고 다양한 수정 및 변경을 만들 수 있을 것이다. 따라서, 첨부된 청구범위는 전술한 실시예들의 설명에 제한되어서는 안 된다.
10: 컴퓨팅 장치
11: 상태 바
12: 텍스트 입력 영역
13: 홈 버튼
14: 소프트웨어 키보드
15: 소프트웨어 키보드
16: 디스플레이 스크린
20: 다방향 버튼
21 : 시스템 포인터
22: 버튼 바운다리
24: 최초 누름 위치
26: 디스플레이된 다방향 버튼
28: 모션 임계치
30: 다방향 버튼
31: 다방향 버튼
32: 다방향 버튼
33: 버튼 바운다리
34: 버튼 바운다리
35: 버튼 바운다리
36: 다방향 버튼
37: 다방향 버튼
38: 다방향 버튼
40: 선택 포인트
41: 선택 영역
42: 선택 영역
43: 선택 영역
44: 선택 영역
45: 제 2 모션 임계치
46: 버튼 바운다리
47: 버튼 바운다리
48: 버튼 바운다리
60: 새로운 누름 위치
61: 선택 영역
62: 선택 영역
63: 선택 영역
64: 선택 영역
65: 누름 위치
66: 제 2 다방향 버튼
68: 제 2 모션 임계치
70: 키보드 레이아웃
80: 키보드 레이아웃
81: 선택 영역
82: 선택 영역
83: 선택 영역
84: 선택 영역
85: 선택 영역
86: 선택 영역
87: 선택 영역
88: 선택 영역
90: 숫자 패드
100: 숫자 패드
110: 키보드 레이아웃
120: 제 2 다방향 버튼
130: 부 다방향 버튼
140: 다방향 버튼
141: 선택 영역
142: 선택 영역
143: 선택 영역
144: 선택 영역
145: 선택 영역
160: 키보드 레이아웃
170: 다방향 버튼
171: 다방향 버튼
172: 다방향 버튼
173: 다방향 버튼
174: 다방향 버튼
175: 다방향 버튼
176: 다방향 버튼
177: 다방향 버튼
178: 다방향 버튼

Claims (32)

  1. 사용자가 전자 장치와 상호작용할 수 있도록 하는 컴퓨터 구현 메소드(method)로서,
    상기 메소드는 다방향 버튼, 키 또는 메뉴를 구현하며,
    하나 이상의 사용자 누름(press)과 연관된 하나 이상의 신호를 수신하는 것과,
    상기 하나 이상의 누름의 방향과 실직적으로 직각을 이루는 방향의 일부 모션과 연관된 일부 모션 신호를 검출하는 것과,
    하나 이상의 모션 임계치(motion threshold)를 초과하는 일부 모션을 검출하는 것과,
    상기 모션의 방향을 검출하는 것과,
    상기 장치에 대한 커맨드를 결정하기 위해 상기 누름 신호, 상기 모션 신호, 상기 임계치의 검출 및 릴리스 신호에 휴리스틱(heuristic)을 적용하는 것을 포함하되,
    상기 커맨드는 상기 장치에 의해 실행되는
    메소드.
  2. 제 1 항에 있어서,
    상기 누름은 상기 사용자가 상기 장치의 터치 스크린을 하나 이상의 손가락으로 누르는 것을 포함하고,
    상기 릴리스는 상기 사용자가 하나 이상의 손가락을 상기 터치 스크린으로부터 들어올리는 것을 포함하며,
    상기 모션은 상기 사용자가 하나 이상의 손가락을 상기 터치 스크린을 가로질러 슬라이딩하는 것을 포함하고,
    상기 모션 임계치는 상기 사용자가 하나 이상의 손가락을 임계 변위를 넘어 슬라이딩하는 것을 포함하는
    메소드.
  3. 제 1 항에 있어서,
    상기 누름은 상기 사용자가 상기 장치의 하나 이상의 마우스 버튼을 누르는 것을 포함하고,
    상기 릴리스는 상기 사용자가 상기 하나 이상의 마우스 버튼을 릴리스하는 것을 포함하며,
    상기 모션은 상기 사용자가 상기 마우스를 이동시키는 것을 포함하고,
    상기 모션 임계치는 상기 사용자가 상기 마우스를 변위의 임계치를 넘어 이동시키는 것을 포함하는
    메소드.
  4. 제 1 항에 있어서,
    상기 누름은 상기 사용자가 상기 장치의 하나 이상의 물리적 다방향 버튼을 누르는 것을 포함하고,
    상기 릴리스는 상기 사용자가 상기 다방향 버튼을 릴리스하는 것을 포함하며,
    상기 모션은 상기 사용자가 상기 다방향 버튼을 이동시키는 것을 포함하고,
    상기 모션 임계치는 상기 사용자가 상기 다방향 버튼을 임계 변위를 넘어 이동시키는 것을 포함하는
    메소드.
  5. 제 1 항에 있어서,
    상기 모션의 방향은 상기 다방향 버튼의 상부면의 평면 내에 있는 축으로부터의 하나 이상의 각도를 계산함으로써, 하나 이상의 모션 신호로부터 상기 메소드에 전달된 좌표로부터 결정되는
    메소드.
  6. 제 1 항에 있어서,
    하나 이상의 모션 임계치를 초과하는 하나 이상의 모션의 검출은, 하나 이상의 최초 누름 신호의 하나 이상의 모션 신호로부터 상기 메소드에 전달된 좌표를 모션 신호의 하나 이상의 현재의 위치와 비교하는 것으로 이루어지는
    메소드.
  7. 제 1 항에 있어서,
    상기 메소드는 릴리스가 발생하는 선택 영역으로부터 상기 장치에 대한 상기 커맨드를 결정하는
    메소드.
  8. 제 7 항에 있어서,
    상기 선택 영역은, 모션의 일부 범위 또는 제 2 모션 임계치 중 하나와 모션 임계치 및 개구각에 의해 제한된 영역으로 이루어지는
    메소드.
  9. 제 1 항에 있어서,
    최초 버튼 누름에 의해 개시된 상기 메소드는 버튼 디스플레이를 변경하고 하나 이상의 버튼을 처리하며,
    상기 메소드는, 상기 메소드를 개시한 상기 누름의 릴리스 전에, 제 2 누름이 있는 경우 상기 제 2 누름, 제 2 누름의 모션 및 상기 제 2 누름의 릴리스의 검출시, 상기 장치에 커맨드를 입력하고,
    개시 누름의 릴리스 시, 상기 제 2 누름이 검출되지 않으면, 상기 장치에 입력될 상기 커맨드가 억제되는
    메소드.
  10. 제 1 항에 있어서,
    상기 다방향 버튼의 누름이 검출되거나 버튼 누름이 모션 임계치를 초과할 경우 시스템 타이머를 개시하는 것 -상기 시스템 타이머는 타이머 신호를 설정 간격 또는 시간 비율(rate of time)로 상기 버튼 메소드로 전송함- 과,
    일부 타이머 신호를 검출하는 것과,
    상기 눌러진 키의 릴리스의 검출 전에 상기 타이머 신호를 수신하는 것에 응답하여 키스트로크 또는 커맨드를 상기 장치에 입력하는 것과,
    상기 누름의 릴리스의 검출시 상기 시스템 타이머를 턴오프하는 것을 더 포함하고,
    이것에 의해, 상기 사용자는 복수의 커맨드를 상기 장치에 입력할 수 있는
    메소드.
  11. 제 1 항에 있어서,
    일부 누름, 모션 및/또는 릴리스 신호를 검출하는 것과,
    상기 신호 검출에 응답하여 청각, 촉각 및/또는 햅틱(haptic) 사용자 피드백을 생성하는 것을 더 포함하는
    메소드.
  12. 제 11 항에 있어서,
    정의 X 방향으로 약 90° 각도에 있는 선택 영역과 약 45° 각도에 있는 선택 영역에 대응하는 모션들에 대해 상이한 사용자 피드백을 제공하는 것을 더 포함하고, 이것에 의해 사용자에게 상기 누름 모션의 방향을 통지하는 가청, 촉각 및/또는 햅틱 피드백이 사용자에게 주어지는
    메소드.
  13. 제 11 항에 있어서,
    다방향 버튼으로부터 선택된 커맨드에 대응하는 가청 사용자 피드백을 제공하는 것을 더 포함하고, 이것에 의해 상기 사용자에게 선택된 상기 커맨드의 가청 피드백이 주어지는
    메소드.
  14. 제 1 항에 있어서,
    복수의 버튼을 포함하는 키보드를 구현하는 수단을 더 포함하되, 적어도 하나의 버튼은 제 1 항의 다방향 버튼이고, 이것에 의해 사용자는 타이핑에 의해 전자 장치와 상호작용할 수 있는
    메소드.
  15. 제 14 항에 있어서,
    복수의 버튼의 복수의 사용자 누름을 검출하는 것을 더 포함하되, 적어도 하나의 버튼은 다방향 버튼이고, 상기 메소드는 일부 사용자의 상기 누름의 릴리스 검출시 "스페이스" 키 커맨드를 상기 장치에 입력하는
    메소드.
  16. 제 14 항에 있어서,
    복수의 버튼의 시간 임계치 내의 복수의 사용자 누름을 검출하는 것을 더 포함하되, 적어도 하나의 버튼은 다방향 버튼이고, 상기 메소드는 일부 사용자의 상기 누름의 릴리스 검출 시에 "스페이스" 키 커맨드를 상기 장치에 입력하는
    메소드.
  17. 제 14 항에 있어서,
    상기 사용자가 두 손가락으로 상기 키보드를 누른 다음 두 개의 누름을 서로를 향하도록 또는 서로 멀어지도록 이동시키는 것을 검출하는 것과,
    버튼, 키 또는 다른 요소들로 이루어진 상기 키보드의 요소들을 크기 재조정하거나, 분할하거나 또는 결합하는 수단을 더 포함하는
    메소드.
  18. 제 14 항에 있어서,
    상기 사용자가 두 손가락으로 소프트웨어 키보드를 누른 다음 상기 두 누름을 모션 임계치를 넘어서 실질적으로 동일한 방향으로 이동시키는 것과,
    상기 키보드를 디스플레이 스크린 상에서 이동시키는 수단을 더 포함하고,
    이것에 의해 상기 사용자가 상기 키보드를 자신의 타이핑 스타일에 맞게 이동시킬 수 있는
    메소드.
  19. 제 14 항에 있어서,
    상기 사용자가 두 손가락으로 소프트웨어 키보드를 누른 다음 상기 두 누름을 반대로, 일반적으로는 회전 방향으로 모션 임계치를 넘어서 이동시키는 것과,
    상기 키보드의 방향을 변경하는 수단을 더 포함하는
    메소드.
  20. 제 14 항에 있어서,
    상기 사용자에 의해 현재 입력되고 있는 단어의 문자를 추적하는 것과,
    하나 이상의 누름의 모션을 검출하는 것을 더 포함하고,
    상기 메소드는 1차 모션 임계치를 초과하는 모션의 검출시 2차 커맨드 레벨을 개시하고, 누름의 릴리스 시에 실행될 커맨드는, 누름의 모션이 모션 임계치를 초과한 경우에 현재 타이핑되는 가능한 단어를 완성하는 키스트로크로 이루어지는
    메소드.
  21. 제 14 항에 있어서,
    상기 사용자에 의해 입력된 문자를 상기 소프트웨어 키보드에 저장하는 것과,
    상기 입력된 문자의 스트림을 분석하여 현재 상기 장치에 입력되고 있는 단어의 입력된 문자를 결정하는 것과,
    상기 사용자가 입력하고 있을 수 있는 가능한 단어를 소프트웨어 사전에서 검색하는 것과,
    상기 소프트웨어 사전에서 발견한 하나 이상의 단어와 선택적인 후속 스페이스 문자로 이루어지는 하나 이상의 커맨드를 포함하는 2차 다방향 버튼을 디스플레이하는 것을 더 포함하는
    메소드.
  22. 제 14 항에 있어서,
    최초 버튼 누름에 의해 개시된 상기 메소드는 버튼 디스플레이를 변경하고 반대 상태의 알파벳 문자를 디스플레이하도록 하나 이상의 버튼을 처리하며, 상기 메소드는, 제 2 누름이 있는 경우 제 2 누름 및 제 2 누름의 모션 검출시, 상기 메소드를 개시한 누름의 릴리스 전에, 하나 이상의 문자를 장치에 입력하며, 상기 개시 누름의 릴리스시, 상기 제 2 누름이 검출되지 않았으면, 장치에 입력되는 커맨드가 억제되는
    메소드.
  23. 제 14 항에 있어서,
    상기 메소드는 다방향 버튼의 제 1 모션 임계치의 횡단(crossing)을 검출하고, 제 2 커맨드 선택 레벨을 디스플레이하며, 2차 모션 임계치의 횡단을 검출하고, 제 3 커맨드 선택 레벨을 디스플레이하며, 상기 제 3 커맨드 레벨은 단어의 일반적인 변형 또는 단어의 조합으로 이루어질 수 있는
    메소드.
  24. 제 14 항에 있어서,
    상기 메소드는 상기 컴퓨팅 장치에 현재 입력되고 있는 단어의 글자들을 검출하고 저장하며, 어느 커맨드가 다음에 입력될 가능성이 가장 높은지 판정하고, 다방향 버튼 선택의 선택 영역의 크기를 조정하며, 이로써 사용자가 자신이 의도한 사용자 입력 커맨드를 선택할 확률이 높아지고, 선택 영역의 크기는 모션 임계치를 변경하고/또는 상기 누름 모션의 개구각을 변경함으로써 변경될 수 있는
    메소드.
  25. 제 14 항에 있어서,
    상기 메소드는 장치 방향의 변경을 검출하는 것과,
    상기 디스플레이 스크린의 한 방향 내에서의 통상의 소프트웨어 키보드를 위한 수단과,
    제 1 항의 적어도 하나의 다방향 버튼을 포함하는 소프트웨어 키보드를 다른 방향으로 디스플레이하는 것을 더 포함하는
    메소드.
  26. 제 14 항에 있어서,
    상기 키보드는 제 1 항의 적어도 3개의 다방향 버튼을 포함하고, 상기 버튼들 중 3개는 적어도 26 개의 알파벳 문자를 포함하며, 상기 다방향 버튼 중 적어도 2개는 3×3 개의 문자 격자 내에 디스플레이된 9개의 문자를 포함하고,
    제 1 키의 제 1행은 좌측에서 우측으로, Q, W, S 문자를 포함하고,
    상기 제 1 키의 제 2 행은 좌측에서 우측으로 A, E, D 문자를 포함하며,
    상기 제 1 키의 제 3 행은 중간에서 우측으로 X, C 문자를 포함하고,
    제 2 키의 제 1 행은 좌측에서 중간으로 R, G 문자를 포함하며,
    상기 제 2 키의 제 2 행은 좌측에서 우측으로 F, T, H 문자를 포함하고,
    상기 제 2 키의 제 3 행은 좌측에서 우측으로 V, B, N 문자를 포함하며,
    제 3 키의 제 1 행은 좌측에서 우측으로 U, K, O 문자를 포함하고,
    상기 제 3 키의 제 2 행은 좌측에서 우측으로 J, I, L 문자를 포함하며,
    상기 제 3 키의 제 3 행은 좌측에 문자 M을 포함하고,
    상기 제 1 버튼은 상기 제 2 버튼의 좌측에 있고, 상기 제 2 버튼은 상기 제 3 버튼의 좌측에 있는
    메소드.
  27. 제 14 항에 있어서,
    상기 키보드는 제 1 항의 적어도 3개의 다방향 버튼을 포함하고, 상기 버튼들 중 3개는 적어도 26 개의 알파벳 문자를 포함하며, 상기 다방향 버튼 중 적어도 2개는 3×3 개의 문자 격자 내에 디스플레이된 9개의 문자를 포함하고,
    제 1 키의 제 1행은 좌측에서 우측으로, Q, W, E 문자를 포함하고,
    상기 제 1 키의 제 2 행은 좌측에서 우측으로 A, S, D 문자를 포함하며,
    상기 제 1 키의 제 3 행은 중간에서 우측으로 X, C 문자를 포함하고,
    제 2 키의 제 1 행은 좌측에서 중간으로 R, T 문자를 포함하며,
    상기 제 2 키의 제 2 행은 좌측에서 우측으로 F, G, H 문자를 포함하고,
    상기 제 2 키의 제 3 행은 좌측에서 우측으로 V, B, N 문자를 포함하며,
    제 3 키의 제 1 행은 좌측에서 우측으로 U, I, O 문자를 포함하고,
    상기 제 3 키의 제 2 행은 좌측에서 우측으로 J, K, L 문자를 포함하며,
    상기 제 3 키의 제 3 행은 좌측에 문자 M을 포함하고,
    상기 제 1 버튼은 상기 제 2 버튼의 좌측에 있고, 상기 제 2 버튼은 상기 제 3 버튼의 좌측에 있는
    메소드.
  28. 제 14 항에 있어서,
    상기 키보드는 상기 키보드의 반대측에 배치된 복수의 유사한 버튼을 포함하고, 이것에 의해 상기 사용자는 자신의 손 중 어느 하나를 사용하여 커맨드 선택을 하는
    메소드.
  29. 제 1 항에 있어서,
    모션 임계치를 넘는 개시 누름 및/또는 시간 임계치를 초과하는 누름의 모션을 검출하는 것과,
    다방향 버튼일 수도 있고 아닐 수도 있는 다른 버튼 또는 객체를 변경하는 것을 더 포함하는
    메소드.
  30. 제 29 항에 있어서,
    상기 다른 버튼 또는 객체를 변경하는 것는 스크린 객체를 다방향 버튼일 있는 다른 객체로 대체하는 것, 다방향 버튼에 의해 발행된 커맨드를 변경하는 것 및/또는 다방향 버튼 바운다리, 모션 임계치 및/또는 시간 임계치를 변경하는 것 및/또는 상기 디스플레이 스크린 상의 다방향 버튼 또는 다른 스크린 객체의 디스플레이를 변경하는 것로 이루어지는
    메소드.
  31. 컴퓨팅 장치로서,
    하나 이상의 디스플레이 스크린과,
    하나 이상의 프로세서와,
    메모리와,
    하나 이상의 프로그램을 포함하고,
    상기 하나 이상의 프로그램은 메모리에 저장되고 상기 하나 이상의 프로세에 의해 실행되도록 구성되며,
    상기 하나 이상의 프로그램은
    하나 이상의 가상 다방향 버튼을 하나 이상의 디스플레이 스크린 상에 디스플레이하고 처리하는 인스트럭션과,
    사용자 누름, 모션 및 릴리스를 검출하고, 모션 임계치의 초과를 판정하는 인스트럭션과,
    상기 장치에 대한 하나 이상의 커맨드를 결정하는 인스트럭션을 포함하는
    컴퓨팅 장치.
  32. 본 발명의 메소드에서, 버튼 누름일 수도 있고 아닐 수도 있는 이벤트 또는 프로세스에 의해 초기화되는 다방향 버튼 메소드로서,
    일부 버튼 이벤트를 검출하는 것을 포함하고,
    상기 버튼 이벤트는 하나 이상의 버튼 누름, 일부 모션 임계치를 넘는 일부 모션, 일부 누름 릴리스를 포함하고,
    상기 메소드는 이전 누름을 갖고 모션 임계치를 초과하는 모션과 이전 누름이 없는 모션을 구별하는 것과,
    상기 버튼 이벤트의 시퀀스로부터 상기 장치의 하나 이상의 커맨드를 검출하고 결정하는 것을 포함하는
    메소드.
KR1020127032718A 2010-05-24 2011-05-19 다방향 버튼, 키 및 키보드 KR20130088752A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39626110P 2010-05-24 2010-05-24
US61/396,261 2010-05-24
PCT/US2011/000900 WO2011149515A1 (en) 2010-05-24 2011-05-19 Multidirectional button, key, and keyboard

Publications (1)

Publication Number Publication Date
KR20130088752A true KR20130088752A (ko) 2013-08-08

Family

ID=44972117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127032718A KR20130088752A (ko) 2010-05-24 2011-05-19 다방향 버튼, 키 및 키보드

Country Status (6)

Country Link
US (1) US20110285651A1 (ko)
EP (1) EP2577430A4 (ko)
JP (1) JP6115867B2 (ko)
KR (1) KR20130088752A (ko)
BR (1) BR112012029421A2 (ko)
WO (1) WO2011149515A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160083109A (ko) * 2013-12-30 2016-07-11 구글 인코포레이티드 터치스크린 키보드상에서 사용자 의도의 중의성 해결

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120162086A1 (en) * 2010-12-27 2012-06-28 Samsung Electronics Co., Ltd. Character input method and apparatus of terminal
US9891818B2 (en) * 2010-12-30 2018-02-13 International Business Machines Corporation Adaptive touch-sensitive displays and methods
US20160132119A1 (en) * 2014-11-12 2016-05-12 Will John Temple Multidirectional button, key, and keyboard
US10275153B2 (en) * 2011-05-19 2019-04-30 Will John Temple Multidirectional button, key, and keyboard
KR101878141B1 (ko) * 2011-05-30 2018-07-13 엘지전자 주식회사 이동 단말기 및 그 제어방법
KR101805922B1 (ko) * 2011-08-01 2017-12-07 엘지이노텍 주식회사 포인터 이동 값 보정 방법 및 이를 사용하는 3d 포인팅 디바이스
US20130033433A1 (en) * 2011-08-02 2013-02-07 Honeywell International Inc. Touch screen having adaptive input requirements
KR101156610B1 (ko) * 2012-03-20 2012-06-14 라오넥스(주) 터치 방식을 이용한 입력 제어 방법 및 이를 위한 입력 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR101374280B1 (ko) * 2012-08-21 2014-03-14 동국대학교 경주캠퍼스 산학협력단 위치·시간·사용자 기반에 따른 스와이프 패턴정보의 관계형 메타데이터db 생성방법, 관계형 메타데이터db에서 추출된 스와이프 패턴정보의 위치·시간·사용자 기반의 개별적 의미제공시스템 및 스와이프 사전제공시스템
KR101374283B1 (ko) * 2012-08-21 2014-03-14 동국대학교 경주캠퍼스 산학협력단 위치·시간·사용자별로 적용 가중치를 달리한 스와이프 패턴정보의 관계형 메타db 생성방법, 관계형 메타db에서 추출된 스와이프 패턴정보의 위치·시간의 가중치를 달리한 맞춤식 의미제공시스템 및 맞춤식 스와이프 사전제공시스템
US9355086B2 (en) * 2012-10-09 2016-05-31 Microsoft Technology Licensing, Llc User interface elements for content selection and extended content selection
US9170736B2 (en) * 2013-09-16 2015-10-27 Microsoft Corporation Hover controlled user interface element
JP5982417B2 (ja) * 2014-03-07 2016-08-31 ソフトバンク株式会社 表示制御装置及びプログラム
KR102282498B1 (ko) * 2014-05-19 2021-07-27 삼성전자주식회사 디스플레이를 이용한 입력 처리 방법 및 장치
JP2016057653A (ja) * 2014-09-05 2016-04-21 勇介 堀田 入力システム及び入力装置
US10929012B2 (en) * 2014-09-09 2021-02-23 Microsoft Technology Licensing, Llc Systems and methods for multiuse of keys for virtual keyboard
US20160357411A1 (en) * 2015-06-08 2016-12-08 Microsoft Technology Licensing, Llc Modifying a user-interactive display with one or more rows of keys
JP2017054378A (ja) * 2015-09-10 2017-03-16 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、その表示方法、及びコンピュータが実行可能なプログラム
WO2017077351A1 (en) * 2015-11-05 2017-05-11 Bálint Géza Hand held electronic device with an air mouse
US10771427B2 (en) * 2016-02-18 2020-09-08 Versign, Inc. Systems and methods for determining character entry dynamics for text segmentation
US10254900B2 (en) * 2016-02-18 2019-04-09 Tufts University Drifting keyboard
WO2017183035A1 (en) * 2016-04-20 2017-10-26 Avi Elazari Reduced keyboard disambiguating system and method thereof
US20180004385A1 (en) 2016-06-30 2018-01-04 Futurewei Technologies, Inc. Software defined icon interactions with multiple and expandable layers
KR102563619B1 (ko) 2016-12-01 2023-08-04 삼성전자 주식회사 병용(combined) 버튼을 가지는 전자 장치 및 전자 장치의 병용 버튼 제어방법
CN108563339B (zh) * 2018-07-07 2023-11-28 深圳市多彩实业有限公司 一种具有多功能旋钮的键盘
JP7305976B2 (ja) * 2019-02-13 2023-07-11 京セラドキュメントソリューションズ株式会社 表示装置、及び表示制御プログラム
JP7143792B2 (ja) * 2019-03-14 2022-09-29 オムロン株式会社 文字入力装置、文字入力方法、及び、文字入力プログラム

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003301A (en) * 1986-05-12 1991-03-26 Romberg Harvey D Key arrangement and method of inputting information from a key arrangement
JPH06301462A (ja) * 1993-04-09 1994-10-28 Mitsubishi Electric Corp データ入力装置
JP3546337B2 (ja) * 1993-12-21 2004-07-28 ゼロックス コーポレイション 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法
JPH0816297A (ja) * 1994-07-04 1996-01-19 Hitachi Ltd 文字入力装置
US5689667A (en) * 1995-06-06 1997-11-18 Silicon Graphics, Inc. Methods and system of controlling menus with radial and linear portions
JPH09116605A (ja) * 1995-10-16 1997-05-02 Sony Corp 電話装置
JPH09204274A (ja) * 1996-01-26 1997-08-05 Nec Corp 座標入力装置
JPH1049290A (ja) * 1996-08-05 1998-02-20 Sony Corp 情報処理装置および方法
JPH10154144A (ja) * 1996-11-25 1998-06-09 Sony Corp 文章入力装置及び方法
JP2000194693A (ja) * 1998-12-28 2000-07-14 Nec Corp 文字変換装置および文字変換方法
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
JP3663331B2 (ja) * 2000-03-10 2005-06-22 株式会社東芝 電子装置における文字入力装置、その方法
US6731227B2 (en) * 2000-06-06 2004-05-04 Kenichi Horie Qwerty type ten-key board based character input device
CA2323856A1 (en) * 2000-10-18 2002-04-18 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device
US6847706B2 (en) * 2001-03-20 2005-01-25 Saied Bozorgui-Nesbat Method and apparatus for alphanumeric data entry using a keypad
JP4096541B2 (ja) * 2001-10-01 2008-06-04 株式会社日立製作所 画面表示方法
US7002553B2 (en) * 2001-12-27 2006-02-21 Mark Shkolnikov Active keyboard system for handheld electronic devices
GB0201074D0 (en) * 2002-01-18 2002-03-06 3G Lab Ltd Graphic user interface for data processing device
JP4079656B2 (ja) * 2002-03-01 2008-04-23 株式会社日立製作所 ポインティングデバイスを用いた携帯端末
DE60328284D1 (de) * 2002-05-21 2009-08-20 Koninkl Philips Electronics Nv Objekteingabe in ein elektronisches Gerät
EP1522007B1 (en) * 2002-07-04 2011-12-21 Koninklijke Philips Electronics N.V. Automatically adaptable virtual keyboard
CN101673181A (zh) * 2002-11-29 2010-03-17 皇家飞利浦电子股份有限公司 具有触摸区域的移动表示的用户界面
US7895536B2 (en) * 2003-01-08 2011-02-22 Autodesk, Inc. Layer editor system for a pen-based computer
US7098896B2 (en) * 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
SG135918A1 (en) * 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
US7280096B2 (en) * 2004-03-23 2007-10-09 Fujitsu Limited Motion sensor engagement for a handheld device
JP2005301874A (ja) * 2004-04-15 2005-10-27 Kddi Corp トラックポイントを用いた文字入力装置
JP2006023872A (ja) * 2004-07-07 2006-01-26 Hitachi Ltd キーボード型入力装置
US20060071904A1 (en) * 2004-10-05 2006-04-06 Samsung Electronics Co., Ltd. Method of and apparatus for executing function using combination of user's key input and motion
US7443386B2 (en) * 2004-11-01 2008-10-28 Nokia Corporation Mobile phone and method
FR2878344B1 (fr) * 2004-11-22 2012-12-21 Sionnest Laurent Guyot Dispositif de commandes et d'entree de donnees
US20060132447A1 (en) * 2004-12-16 2006-06-22 Conrad Richard H Method and apparatus for automatically transforming functions of computer keyboard keys and pointing devices by detection of hand location
KR101002807B1 (ko) * 2005-02-23 2010-12-21 삼성전자주식회사 메뉴 화면을 표시하는 단말기에서 메뉴 네비게이션을 제어하는 장치 및 방법
US7389591B2 (en) * 2005-05-17 2008-06-24 Gesturetek, Inc. Orientation-sensitive signal output
US20060279532A1 (en) * 2005-06-14 2006-12-14 Olszewski Piotr S Data input device controlled by motions of hands and fingers
KR20070006477A (ko) * 2005-07-08 2007-01-11 삼성전자주식회사 가변적 메뉴 배열 방법 및 이를 이용한 디스플레이 장치
KR100679053B1 (ko) * 2005-12-28 2007-02-05 삼성전자주식회사 틸팅 인터페이스에서 기울기의 변화를 이용하여 반복적신호 입력을 정지시키는 방법 및 장치
US7644372B2 (en) * 2006-01-27 2010-01-05 Microsoft Corporation Area frequency radial menus
US10521022B2 (en) * 2006-03-17 2019-12-31 Conversant Wireless Licensing S.a.r.l. Mobile communication terminal and method therefor
US20070256029A1 (en) * 2006-05-01 2007-11-01 Rpo Pty Llimited Systems And Methods For Interfacing A User With A Touch-Screen
US9063647B2 (en) * 2006-05-12 2015-06-23 Microsoft Technology Licensing, Llc Multi-touch uses, gestures, and implementation
US20080046496A1 (en) * 2006-05-18 2008-02-21 Arthur Kater Multi-functional keyboard on touch screen
JP4087879B2 (ja) * 2006-06-29 2008-05-21 株式会社シンソフィア タッチパネルの文字認識方法及び文字入力方法
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US20080158024A1 (en) * 2006-12-21 2008-07-03 Eran Steiner Compact user interface for electronic devices
US8074172B2 (en) * 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8650505B2 (en) * 2007-02-28 2014-02-11 Rpx Corporation Multi-state unified pie user interface
JP2008305174A (ja) * 2007-06-07 2008-12-18 Sony Corp 情報処理装置、情報処理方法、プログラム
US8074178B2 (en) * 2007-06-12 2011-12-06 Microsoft Corporation Visual feedback display
US8059101B2 (en) * 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
EP2017707B1 (en) * 2007-07-06 2017-04-12 Dassault Systèmes Widget of graphical user interface and method for navigating amongst related objects
US8471823B2 (en) * 2007-08-16 2013-06-25 Sony Corporation Systems and methods for providing a user interface
US20100275150A1 (en) * 2007-10-02 2010-10-28 Access Co., Ltd. Terminal device, link selection method, and display program
TWI416399B (zh) * 2007-12-28 2013-11-21 Htc Corp 手持式電子裝置及其操作方法
TWI393029B (zh) * 2007-12-31 2013-04-11 Htc Corp 電子裝置以及於電子裝置上執行指令之方法
JP2009169456A (ja) * 2008-01-10 2009-07-30 Nec Corp 電子機器、該電子機器に用いられる情報入力方法及び情報入力制御プログラム、並びに携帯端末装置
JP2009169789A (ja) * 2008-01-18 2009-07-30 Kota Ogawa 文字入力システム
US8358277B2 (en) * 2008-03-18 2013-01-22 Microsoft Corporation Virtual keyboard based activation and dismissal
US20110043491A1 (en) * 2008-04-01 2011-02-24 Oh Eui-Jin Data input device and data input method
US9582049B2 (en) * 2008-04-17 2017-02-28 Lg Electronics Inc. Method and device for controlling user interface based on user's gesture
US8949743B2 (en) * 2008-04-22 2015-02-03 Apple Inc. Language input interface on a device
JP5187954B2 (ja) * 2008-05-27 2013-04-24 ソニーモバイルコミュニケーションズ株式会社 文字入力装置、文字入力学習方法、及びプログラム
US8826181B2 (en) * 2008-06-28 2014-09-02 Apple Inc. Moving radial menus
US8245156B2 (en) * 2008-06-28 2012-08-14 Apple Inc. Radial menu selection
US20100020033A1 (en) * 2008-07-23 2010-01-28 Obinna Ihenacho Alozie Nwosu System, method and computer program product for a virtual keyboard
KR101505198B1 (ko) * 2008-08-18 2015-03-23 엘지전자 주식회사 휴대 단말기 및 그 구동 방법
KR101004463B1 (ko) * 2008-12-09 2010-12-31 성균관대학교산학협력단 터치 스크린의 드래그를 이용한 메뉴 선택을 지원하는 휴대용 단말 및 그 제어 방법
US8627233B2 (en) * 2009-03-27 2014-01-07 International Business Machines Corporation Radial menu with overshoot, fade away, and undo capabilities

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160083109A (ko) * 2013-12-30 2016-07-11 구글 인코포레이티드 터치스크린 키보드상에서 사용자 의도의 중의성 해결

Also Published As

Publication number Publication date
WO2011149515A4 (en) 2012-02-02
EP2577430A4 (en) 2016-03-16
WO2011149515A1 (en) 2011-12-01
US20110285651A1 (en) 2011-11-24
BR112012029421A2 (pt) 2017-02-21
JP6115867B2 (ja) 2017-04-26
JP2013527539A (ja) 2013-06-27
EP2577430A1 (en) 2013-04-10

Similar Documents

Publication Publication Date Title
JP6115867B2 (ja) 1つ以上の多方向ボタンを介して電子機器と相互作用できるようにする方法およびコンピューティングデバイス
US10275153B2 (en) Multidirectional button, key, and keyboard
JP2013527539A5 (ko)
US10235039B2 (en) Touch enhanced interface
US20210018993A1 (en) Computer mouse
US8125440B2 (en) Method and device for controlling and inputting data
US7091954B2 (en) Computer keyboard and cursor control system and method with keyboard map switching
US20160364138A1 (en) Front touchscreen and back touchpad operated user interface employing semi-persistent button groups
US8542206B2 (en) Swipe gestures for touch screen keyboards
JP5730667B2 (ja) デュアルスクリーン上のユーザジェスチャのための方法及びデュアルスクリーンデバイス
US20170017393A1 (en) Method for controlling interactive objects from a touchpad of a computerized device
KR101636705B1 (ko) 터치스크린을 구비한 휴대 단말의 문자 입력 방법 및 장치
US20160132119A1 (en) Multidirectional button, key, and keyboard
US20140337786A1 (en) Method for controlling a virtual keyboard from a touchpad of a computerized device
US20110209087A1 (en) Method and device for controlling an inputting data
US20100020033A1 (en) System, method and computer program product for a virtual keyboard
US9542032B2 (en) Method using a predicted finger location above a touchpad for controlling a computerized system
US20110025718A1 (en) Information input device and information input method
US20140253486A1 (en) Method Using a Finger Above a Touchpad During a Time Window for Controlling a Computerized System
JP6740389B2 (ja) ハンドヘルド電子デバイスのための適応的ユーザ・インターフェース
US20160328024A1 (en) Method and apparatus for input to electronic devices
US20150035760A1 (en) Control system and method for defining function thereof
US20180011612A1 (en) A method for layout and selection of the menu elements in man-machine interface
KR101631069B1 (ko) 멀티터치 트랙패드를 통한 심리스한 입력모드 전환을 지원하는 통합 전용 입력 플랫폼
WO2013078621A1 (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