KR101955731B1 - 그루브 메타포를 이용한 순간적 패닝 기법 - Google Patents

그루브 메타포를 이용한 순간적 패닝 기법 Download PDF

Info

Publication number
KR101955731B1
KR101955731B1 KR1020137013795A KR20137013795A KR101955731B1 KR 101955731 B1 KR101955731 B1 KR 101955731B1 KR 1020137013795 A KR1020137013795 A KR 1020137013795A KR 20137013795 A KR20137013795 A KR 20137013795A KR 101955731 B1 KR101955731 B1 KR 101955731B1
Authority
KR
South Korea
Prior art keywords
user input
groove
user
moving
modified
Prior art date
Application number
KR1020137013795A
Other languages
English (en)
Other versions
KR20130126625A (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 KR20130126625A publication Critical patent/KR20130126625A/ko
Application granted granted Critical
Publication of KR101955731B1 publication Critical patent/KR101955731B1/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
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • 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

Landscapes

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

Abstract

사용자 입력 해석 메커니즘은 사용자 의도를 도출하기 위해 충분한 양의 사용자 입력의 수신를 기다리는 것보다, 최초에 사용자 입력을 프리폼 이동으로 취급하고 이를 비-수정 방식으로 전달함으로써, 지연없이 사용자 입력을 전달할 수 있다. 최초 지점으로부터 지정 범위 내의 사용자 입력은 프리폼 이동이고, 비-수정으로 진행되며, 이 범위를 넘는 사용자 입력은 정밀 선형 방식의 이동에 대한 의도를 뒷받침할 경우 그루브로 국한될 수 있다. 그루브는 수평 편향없이 정밀 수직 이동을 돕기 위해, 수직 편향 없이 정밀 수평 이동을 돕기 위해, 또는, 그외 다른 배향으로 구축될 수 있다. 진행되기 전에, 그루브 영역 내 사용자 입력은 그루브 영역 내에 입력을 중앙에 위치시키도록 수정될 수 있고, 어느 한 쪽으로의 약간의 편향과 같은, 사람의 부정확성을 제거할 수 있다. 사용자 입력은 그루브 영역에 직교하여 이동함으로써 그루브 영역을 이탈할 수 있다.

Description

그루브 메타포를 이용한 순간적 패닝 기법{INSTANTANEOUS PANNING USING A GROOVE METAPHOR}
현대의 컴퓨팅 장치는 다양한 물리적 입력 장치를 통해 사용자가 입력을 제공할 수 있게 하고, 그 중 상당수는 전통적인 키보드-및-마우스 메타포(metaphor)로부터 출발한다. 예를 들어, 현대의 컴퓨팅 장치는 터치스크린, 태블릿, 트랙패드, 또는 다른 유사 물리적-가압-기반 입력 주변 장치를 포함할 수 있다. 다른 예로서, 일부 현대의 컴퓨팅 장치는 사용자의 움직임을 캡처할 수 있는, 따라서, 컴퓨팅 장치로 하여금 이러한 움직임을 사용자 입력으로 변환시킬 수 있는 이미지 캡처 주변 장치를 포함할 수 있다.
그러나, 이러한 현대의 컴퓨팅 장치 상에서 실행되는 프로세스는 다양한 입력 주변 장치를 통해 입력을 수신하기 위해 반드시 최적화되지는 않을 수 있다. 예를 들어, 많은 애플리케이션, 운영 체제, 구성요소 또는 기타 컴퓨터-실행가능 명령어 집합에 의해 제시되는 사용자 인터페이스는 소정의 입력 주변 장치를 이용하여 구현하기 어려울 수 있는 유비쿼터스 클릭-앤드-드랙 메타포를 폭넓게 이용할 수 있게 한다. 결과적으로, 터치스크린과 같은 대안의 입력 주변 장치를 통해 사용자 입력을 수신하는 컴퓨팅 장치는, 먼저 사용자가 수행하고자 하는 것을 식별한 다음, 사용자의 입력을 때로는 수정된 방식으로 이러한 컴퓨팅 장치 상에서 실행되는 응용 프로그램, 운영 체제, 및 다른 컴퓨터-실행가능 명령어에 전달함으로써, 사용자를 돕고자 하는 해석 메커니즘을 구현해 왔다. 이러한 해석 메커니즘은 사용자를 당황하게 할 수 있는 지연을 야기한다.
이러한 지연의 한 가지 예로는 사용자에게 디스플레이되는 그래픽 사용자 인터페이스 요소를 패닝(panning) 또는 이동시키는 상황에 있다. 이 경우, 기존의 해석 매커니즘은 해석 메커니즘이 사용자가 활성화를 수행하여, 프리폼(freeform) 방식으로 패닝하고 싶어하는지, 또는, 사용자가 직선적으로 위아래로 또는 직선적으로 좌우로처럼, 선형으로 패닝하고 싶어하는지를 결정할 수 있을 때까지, 사용자의 입력을 응용프로그램에 전달하는 것을 지연시킬 것이다. 따라서, 사용자가 예를 들어, 터치스크린으로 컴퓨팅 장치를 이용할 때, 즉 예를 들어 손가락으로 터치스크린을 눌러서 손가락을 이동하기 시작할 때, 해석 메커니즘은 사용자의 손가락이 충분한 거리를 이동할 때까지 기다린 후에 사용자의 입력을 응용프로그램 또는 운영 체제에 전달할 것이다. 기존의 해석 메커니즘은 사용자의 손가락이 충분한 거리를 이동한 후에만, 사용자가 활성화를 수행하여 프리폼 방식으로의 패닝을 시도하고 있는지 여부, 또는, 사용자의 손가락이 정확하게 직선으로 이동하고 있지 않음에도 불구하고 사용자가 선형으로 패닝하고자 하는지 여부를 지능적으로 판정할 수 있다. 사용자가 선형으로 패닝을 시도하고 있다고 해석 메커니즘이 판정할 경우, 해석 메커니즘이 예컨대 컴퓨팅 장치 상에서 실행되는 응용 프로그램에 제공하는 사용자 입력은, 사용자의 손가락이 정확하게 직선으로 이동하고 있지 않음에도 불구하고 완벽하게 선형의 팬을 표시하는 사용자 입력일 수 있다. 그러나, 사용자의 시각으로부터, 이들의 손가락은 모든 대응하는 그래픽 사용자 인터페이스 요소에서 임의의 움직임이 존재하기 전에 적어도 소정 거리를 이동하였을 것이다. 전술한 바와 같이, 이러한 지연은 당황스러울 수 있다.
일 실시예에서, 사용자 입력 해석 메커니즘은 사용자의 입력을 지연없이, 프리폼 이동으로서 전달할 수 있다. 이어서, 사용자 입력 해석 메커니즘이 계속적인 사용자 입력에 기초하여 사용자가 선형 이동을 시도하고 있다고 판정할 경우, 사용자 입력 해석 메커니즘은 사용자 입력을 프리폼 이동과 반대로 선형 이동으로 전달하도록 천이할 수 있고, 사용자 입력 해석 메커니즘에 의해 해석되는 바와 같이, 전달되는 사용자 입력을 사용자가 의도하는 선형 이동 방향으로 배향된 "그루브"(groove)로, 진행되는 사용자 입력을 국한시킬 수 있다.
다른 실시예에서, 사용자 입력 해석 메커니즘은 사용자 입력을 처음 수신한 최초 지점을 둘러싸는 임계치를 초과하여 사용자 입력이 연장되지 않는 한, 사용자의 입력을 프리폼 이동으로 해석할 수 있다. 사용자 입력이 이러한 임계치를 넘어 이동하도록 진행될 경우, 사용자 입력 해석 메커니즘은 사용자 입력이 여전히 프리폼 이동으로 해석될, 규정 영역(defined regions)을 구축할 수 있다. 마찬가지로, 이러한 임계치를 초과할 경우 사용자 입력 해석 메커니즘은 선형으로 배향되는 "그루브" 영역을 구축할 수 있고, 이러한 그루브 영역 내에서 사용자 입력은 선형 이동을 의도하고 있는 것으로 해석될 것이며 마찬가지 방식으로 전달될 것이다.
추가적인 실시예에서, 사용자 입력 해석 메커니즘이 사용자의 입력을 선형 이동 의도로 해석하면, 이러한 해석은 사용자 입력이 임계치를 초과한 거리를 앞선 선형 운동의 방향에 직교하도록 이동할 경우 작동정지될 수 있다. 이러한 경우에, 사용자 입력은 다시, 해당 시간에 사용자 입력의 위치를 둘러싸는 영역 내의 자유 형성 이동으로 해석될 수 있다. 사용자 입력이 상기 영역 너머로 이동할 경우 사용자 입력은 다시, 프리폼 이동의 기-구축 영역과, 선형 이동의 기-구축 그루브 영역에 비추어 해석될 수 있다.
또 다른 실시예에서, 프리폼 이동으로서의 사용자 입력의 해석과, 선형 이동으로 국한되는 것으로의 사용자 입력의 해석 사이를 천이할 때, 사용자 입력이 선형으로 국한되는 그루브는 사용자 입력을 최초에 수신한 최초 지점과 정렬될 수 있고, 전달되는 사용자 입력은 현 위치로부터 이러한 그루브에 "스냅 백"(snap back)될 수 있고, 또는, 사용자 입력이 선형으로 국한되는 그루브가 사용자 입력의 현 위치와 정렬될 수 있다. 마찬가지로, 사용자가 짧은 시간 주기동안만 입력을 제공하는 경우, 또는, 사용자 입력이 활성화 임계치를 초과하여 이동하지 않은 경우, 사용자가 어느 것도 이동시킬 의향이 없었고 대신에 유비쿼터스 "마우스 클릭"과 유사하게, 활성화 이벤트를 수행하려 했다는 판정이 이루어질 수 있다. 이러한 경우에, 사용자 입력 해석 메커니즘에 의해 전달된 임의의 이동이 취소(undo)될 수 있다. 이러한 작용이, 사용자가 이동을 전혀 의도하지 않은 시각적 사용자 인터페이스 요소를 실제로 약간 이동시켜서 원위치로 복귀시킬 수 있지만, 이러한 활동은 요소가 실제 이동될 수 있음을 사용자에게 시각적 제안으로 제공할 수 있기 때문에 실제로 유익할 수 있다.
본 요약은 아래 상세한 설명에서 더 설명되는, 단순화된 형태의 개념들의 선택을 도입하기 위해 제공된다. 이러한 요약은 청구되는 대상의 핵심적 또는 본질적 특징을 식별하고자 하는 것이 아니고, 청구되는 대상의 범위를 제한하는데 사용되고자 하는 것도 아니다.
추가적인 특징 및 장점은 첨부 도면을 참조하여 진행되는 다음의 상세한 설명으로부터 명백해질 것이다.
다음의 상세한 설명은 첨부 도면과 연계하여 접할 때 잘 이해될 수 있다.
도 1은 예시적인 컴퓨팅 장치의 블록도,
도 2는 예시적인 입력 해석 메커니즘의 작동의 가시화의 블록도,
도 3은 예시적인 입력 해석 메커니즘의 작동의 다른 형태의 가시화의 블록도,
도 4는 예시적인 입력 해석 메커니즘의 순서도,
도 5는 예시적인 입력 해석 메커니즘의 상태도.
다음의 설명은 사용자에게 디스플레이되고 있는 하나 이상의 그래픽 사용자 인터페이스 요소를 패닝 또는 이동시키는 콘텍스트에서 사용자로부터 수신되는 입력의 해석에 관한 것이다. 최초 사용자 입력 이벤트를 수신하면, 사용자 입력 해석 메커니즘은 임의의 움직임을 프리폼 운동으로 해석할 수 있고, 이러한 사용자 입력을 지연없이 이러한 사용자 입력이 지향될 응용 프로그램 또는 다른 컴퓨터-실행가능 명령어에 공급할 수 있다. 사용자 입력이 활성화 임계치를 초과하여 진행되지 않을 경우, 사용자 입력 해석 메커니즘은 사용자의 입력을 하나의 활성화로 해석할 수 있고, 예를 들어 원 입력 이벤트의 위치로 복귀하기 위한 입력을 자동적으로 발생시킴으로써, 이들이 전달했을 수 있는 작은 움직임들을 "취소"(undo)시킬 수 있다. 사용자 입력의 움직임이 프리폼 임계치를 초과하여 진행될 경우, 사용자 입력 해석 메커니즘은 이러한 움직임을 프리폼 운동, 또는 대안으로서, 최초 사용자 입력 이벤트의 위치로부터 선형 방식으로 연장되며 사용자가 직선 상하 방향과 같이 선형 방향으로 입력을 용이하게 제공하게 할 수 있게 하는 "그루브" 영역에 기초한 선형 운동으로 해석할 수 있다. 그루브 영역 바깥의 영역은 프리폼 영역으로 유지될 수 있다. 사용자 입력이 그루브 영역 내에 있다고 판정될 경우, 사용자 입력 해석 메커니즘은 그루브 영역의 선형 배향으로 이러한 사용자 입력을 제한할 수 있고, 실제 사용자 입력 자체가 부정확할 수 있음에도 불구하고, 선형 사용자 입력을 통과시킬 수 있다. 그루브 방향에 대한 직교 모션은 그 후 이러한 그루브로부터 사용자 입력을 해제할 수 있고, 프리폼 운동을 재개할 수 있다. 이러한 방식으로, 사용자의 입력은 어떤 해석적 지연없이 사용자 입력 해석 메커니즘에 의해 전달될 수 있으나, 이러한 입력은 그루브 영역을 통해, 선형 방향으로의 사용자 입력을 제한하는 것과 같은, 해석적 도움(interpretational aids)으로부터 또한 이익을 얻을 수 있다.
설명을 위해 여기서 설명되는 기술은 사용자로 하여금 하나 이상의 손가락을 통해 입력을 제공할 수 있게 하는 것과 같은, 터치-기반 인터페이스를 지향하고, 하나 이상의 사용자 인터페이스 요소가 이동하거나 패닝되는 콘텍스트를 지향한다. 그러나, 이러한 예시들은 엄격히 예시적인 사항이고 제공되는 구체적 예로 설명되는 메커니즘을 제한하고자 하는 것이 아니다. 대신에, 이러한 예시들은 당 업자에게 명백한 개념적 틀을 제공하기 때문에, 따라서 설명되는 해석 메커니즘의 적어도 하나의 실시예를 설명하기 위한 유용한 틀을 제공하기 때문에, 선택되었다. 그러나, 터치-기반 인터페이스, 특히, 손가락-작동식 터치-기반 인터페이스를 참조하지만, 설명되는 메커니즘은 예를 들어, 제스처 인터페이스 또는 3차원 인터페이스를 포함한, 다른 형태의 사용자 인터페이스에도 수정 없이 동등하게 적용가능하며, 예를 들어 터치스크린을 터치하는 대신에 사용자가 손을 이용하여 단순히 모션을 취함으로써 관련 입력을 제공할 수 있다. 게다가, 설명되는 기술은 키보드, 마우스, 트랙패드, 펜-기반 주변 장치, 및 다른 유사 인터페이스와 같은 더 많은 종래의 인터페이스 주변 장치를 통한 입력을 포함한, 임의의 사용자 입력에 적용가능하다. 결과적으로, "터치", "누름" 또는 "해제"(release)에 대한 아래의 참조는 예시적인 것에 불과하고, 연관된 인터페이스에서 임의의 유사 입력을 참조하는 것을 의도한다. 마찬가지로, 아래에서 "패닝", 또는 "움직임"을 참조하지만, 이러한 참조는 역시 예시적인 사항을 의미할 뿐이고, 설명되는 메커니즘은 비디오 게임의 콘텍스트 내에서 2차원 또는 3차원 지향성 입력의 제공과 같은, 다른 사용자 상호작용에 동등하게 적용가능하다. 결과적으로, "패닝", 및 "움직임"이라는 용어의 이용은, 동등한 사용자 입력을 포괄하는 것으로 넓게 이해되어야 한다.
요구되는 것은 아니지만, 아래의 설명은 컴퓨팅 장치에 의해 실행되고 있는, 프로그램 모듈과 같은, 컴퓨터-실행가능 명령어의 일반적 콘텍스트 내에 있을 것이다. 더욱 구체적으로, 설명은 달리 명시하지 않을 경우, 하나 이상의 컴퓨팅 장치 또는 주변 장치에 의해 실행되는 작동들의 작용 및 부호적 표현을 참조할 것이다. 이와 같이, 종종 컴퓨터에 의해 실행되는 것으로 언급되는 이러한 작용 및 작동들은 구조화된 형태로 데이터를 나타내는 전기 신호의 프로세싱 유닛에 의한 조작을 포함한다. 이러한 조작은 데이터를 변환하거나 데이터를 메모리 내 위치에 유지시키며, 이는 당 업자에게 잘 이해되는 방식으로 컴퓨팅 장치 또는 주변 장치의 작동을 재설정 또는 그렇지 않을 경우 변경시킨다. 데이터가 유지되는 데이터 구조는 데이터의 포맷에 의해 규정되는 특정 성질을 갖는 물리적 위치다.
일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조, 등을 포함한다. 더욱이, 당 업자는 컴퓨팅 장치가 종래의 개인용 컴퓨터에 제한될 필요가 없고, 핸드-헬드 장치, 멀티-프로세서 시스템, 마이크로프로세서-기반 또는 프로그래머블 소비자 전자 장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한, 다른 컴퓨팅 구조를 포함함을 이해할 것이다. 마찬가지로, 통신 네트워크를 통해 링크되는 원격 프로세싱 장치에 의해 작업이 수행되는 분배형 컴퓨팅 환경에서 메커니즘이 또한 수행될 수 있기 때문에, 컴퓨팅 장치가 독립형 컴퓨팅 장치일 필요는 없다. 분배형 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치할 수 있다.
도 1을 참조하면, 예시적인 컴퓨팅 장치(100)가 도시되고, 이와 연관하여 아래 설명되는 메커니즘이 구현된다. 도 1의 예시적인 컴퓨팅 장치(100)는 프로세싱 유닛(120)에 시스템 메모리를 포함하는 다양한 시스템 구성요소를 연결하는 시스템 버스(121)와, RAM(132)을 포함할 수 있는 시스템 메모리(130) 및 하나 이상의 중앙 처리 유닛(CPU)(120)을 포함할 수 있으나, 이에 제한되지 않는다. 시스템 버스(121)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 구조 중 임의의 것을 이용하는 로컬 버스를 포함하는 여러 타입의 버스 구조 중 임의의 것일 수 있다. 컴퓨팅 장치(100)는 그래픽 하드웨어 인터페이스(190) 및 디스플레이 장치(191)를 포함하는, 그러나 이에 제한되지 않는, 시각적 사용자 인터페이스의 디스플레이를 위한 것과 같은 그래픽 하드웨어를 선택적으로 포함할 수 있다. 추가적으로, 컴퓨팅 장치(100)는 마우스(153), 디지털 비디오 카메라(152) 및/또는 터치 센서(151)와 같은 사용자 인터페이스 입력 하드웨어를 또한 포함할 수 있다. 입력 하드웨어는 주변 인터페이스(150)를 통해 시스템 버스(121)에 통신 연결될 수 있다. 일부 경우에 입력 하드웨어는 컴퓨팅 장치(100)의 다른 특징부와 동일 장소에 위치될 수 있다. 예를 들어, 핸드헬드 또는 태블릿 구조에서, 컴퓨팅 장치(100)는 터치 센서(151)와 일체형인 디스플레이 장치(191)를 포함할 수 있어서, 터치 센서(151) 상의 터치 위치가 디스플레이 장치(191)에 의해 동일 위치에서 디스플레이될 수 있는 하나 이상의 그래픽 사용자 인터페이스 요소와 상관될 수 있다.
컴퓨팅 장치(100)는, 컴퓨팅 장치(100)에 의해 액세스될 수 있고 휘발성 및 비휘발성 매체와 탈착형 및 비-탈착형 매체를 포함하는 임의의 가용 데이터를 포함할 수 있는 컴퓨터 판독가능 매체를 또한 통상적으로 포함한다. 예를 들어, 제한없이, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같이, 임의의 정보 저장 방법 또는 기술로 구현되는 매체를 포함한다. 컴퓨터 저장 매체는, 요망 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(100)에 의해 액세스될 수 있는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다용도 디스크(DVD), 또는 다른 광학 디스크 저장 수단, 자기 카세트, 자기 테이프, 자기 디스크 저장 수단, 또는 다른 자기 저장 장치, 고상 저장 매체 또는 그외 다른 매체를 포함하지만, 이에 제한되지 않는다. 위 수단들의 임의의 조합 역시, 컴퓨터 판독가능 매체의 범위 내에 또한 포함되어야 한다.
시스템 메모리(130)는 읽기 전용 메모리(ROM)(131) 및 기언급한 RAM(132)과 같은 휘발성 및/또는 비휘발성 메모리의 형태의 컴퓨터 저장 매체를 포함할 수 있다. 예컨대 시동 중에 컴퓨터 장치(100) 내의 요소들 사이에 정보를 전달하는 데 도움을 주는 기본 루틴을 지닌 기본 입/출력 시스템(133)(BIOS)은 통상적으로 ROM(131)에 저장된다. RAM(132)은 프로세싱 유닛(120)에 의해 즉시 액세스가능하고 프로세싱 유닛(120) 상에서 현재 작동하고 있는 데이터 및/또는 프로그램 모듈을 통상적으로 지닌다. 예를 들어, 제한없이, 도 1은 다른 프로그램 모듈(135) 및 프로그램 데이터와 함께 운영 체제(134)를 도시한다.
컴퓨팅 장치(100)는 다른 탈착형/비-탈착형, 휘발성/비휘발성 컴퓨터 저장 매체를 또한 포함할 수 있다. 예를 들어, 도 1은 비-탈착형, 비휘발성 자기 매체로부터/에 읽고/쓰는 하드 디스크 드라이브(141)를 도시한다. 예시적인 컴퓨팅 장치와 함께 사용될 수 있는 다른 탈착형/비-탈착형, 휘발성/비휘발성 컴퓨터 저장 매체는, 자기 테이프 카세트, 플래시 메모리 카드, 디지털 다용도 디스크, 디지털 비디오 테이프, 고상 RAM, 고상 ROM, 다른 고상 저장 장치 등을 포함하지만, 이에 제한되지 않는다. 하드 디스크 드라이브(141)는 인터페이스(140)와 같은 비-탈착형 메모리 인터페이스를 통해 시스템 버스(121)에 통상적으로 연결된다.
위에서 논의한 그리고 도 1에 도시된 드라이브 및 연관된 컴퓨터 저장 매체는, 컴퓨팅 장치(100)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 다른 데이터에 대한 저장 수단을 제공한다. 도 1에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 다른 프로그램 모듈(145) 및 프로그램 데이터(146)를 저장하는 것으로 도시된다. 이러한 구성요소들은 운영 체제(134), 다른 프로그램 모듈(135) 및 프로그램 데이터(136)와 동일한 것일 수도 있고, 또는 다른 것일 수도 있다. 운영 체제(144), 다른 프로그램 모듈(145) 및 프로그램 데이터(146)는 최소한, 이들이 서로 다른 복제본임을 나타내기 위해 서로 다른 번호를 부여받는다.
컴퓨팅 장치(100)는 하나 이상의 원격 컴퓨터에 대한 논리적 연결을 이용하여, 네트워크(180)에 의해 표현되는 네트워크 환경에서 작동할 수 있다. 컴퓨팅 장치(100)는 시스템 버스(121)에 또한 연결되는 네트워크 인터페이스 또는 어댑터(170)를 통해 범용 네트워크 연결(171)에 연결되는 것으로 도시된다. 네트워크 환경에서, 컴퓨팅 장치(100) 또는 그 일부분 또는 그 주변 장치와 관련하여 묘사되는 프로그램 모듈은 범용 네트워크 연결(171)을 통해 컴퓨팅 장치(100)에 통신 연결되는 하나 이상의 다른 컴퓨팅 장치의 메모리에 저장될 수 있다. 도시되는 네트워크 연결은 예시적인 것이고 컴퓨팅 장치들 사이에서 통신 링크를 구축하기 위한 다른 수단이 사용될 수 있다.
도 2를 참조하면, 도시되는 시스템(200)은 터치스크린 장치를 이용하는 사용자가 통상 파일 아이콘으로 도시되는 그래픽 사용자 인터페이스 요소(210)를 움직이는 상황에서의 사용자 입력 해석 메커니즘의 예시적 동작을 보여준다. 최초에, 사용자가 파일 아이콘(210)을 움직이고자 할 경우, 사용자는 파일 아이콘(210)에 근접한 터치스크린 장치 위를 손가락 등을 이용하여 누를 수 있다. 원(211)은 사용자 입력의 위치를 나타내며, 원(211)에 의해 표시된 위치에서 터치스크린 장치 위를 사용자가 누름으로써 발생될 수 있다. 마찬가지로, 라인(215)은 사용자 입력의 후속 움직임을 나타내며, 라인(215)을 따라 손가락을 이동시키면서 터치스크린 장치 위를 사용자가 계속 누름으로써 발생될 수 있다.
일 실시예에서, 영역(291)은 사용자의 입력이 처음에 수신된 위치(211) 주위로 연장될 수 있고, 사용자 입력 해석 메커니즘이 지연없이 사용자 입력을 통과시키는 영역을 규정할 수 있으며, 사용자의 입력을 추가적인 편집 또는 수정을 요하지 않는 프리폼 이동으로 취급할 것이다. 프리폼 이동 영역(291)은 사용자 입력을 처음 수신한 위치(211)로부터 연장될 수 있는 프리폼 이동 임계치(280)에 의해 규정될 수 있다. 따라서, 도 2의 시스템(200)에 의해 도시되는 바와 같이, 예를 들어 사용자가 위치(211)에서 터치스크린 장치를 손가락으로 누르고 그 후 라인(215)을 따라 위치(221)로 손가락을 드래그할 경우, 일 실시예에서 이러한 사용자 입력 을 지연없이 사용자 인터페이스 요소(210)를 책임지는 응용프로그램 또는 운영 체제에 전달할 수 있다. 그 결과, 이러한 응용프로그램 또는 운영 체제는 도 2의 시스템(200)에 아이콘(220)으로 도시되어 있는 아이콘(210)의 윤곽 또는 그레이-아웃 버전을 도시하여, 아이콘(210)의 사용자 "드래그"의 시각적 피드백을 사용자에게 제공할 수 있다.
여기서 설명을 위해, 아이콘(220)과 같은, 아이콘(210)의 그레이-아웃 버전은 해석 메커니즘이 사용자의 입력을 전달하는 방식을 설명하는데, 이는 이러한 그레이-아웃 버전이 해석 메커니즘에 의해 제공됨에 따라 사용자 입력의 직접적 산물로 발생될 수 있기 때문이다. 예를 들어, 도 2의 시스템(200)에서 도시되는 특정 예에서, 사용자 입력 해석 메커니즘은, 지연없이 그리고 수정없이, 위치(211)로부터 라인(215)을 따라 위치(221)까지 드래그함에 있어서, 사용자의 입력을 전달할 수 있다. 비-수정 방식의 이러한 사용자의 입력의 전달은, 이러한 입력을 수신하는 응용프로그램 또는 운영 체제가 위치(221)와 같이 사용자 입력 해석 메커니즘에 의해 수신된 실제 사용자 입력 상에 중심이 위치하도록 그레이-아웃 아이콘(22)을 배치시킨다는 점에 의해 설명된다. 확인가능하듯이, 위치(211)로부터 라인(215)을 따라 위치(221)로 드래그하는 동안의 사용자 입력은 사용자 입력 해석 메커니즘에 의해 프리폼 이동으로 해석될 수 있는데 이는 모든 사용자의 움직임이 앞서 언급한 프리폼 영역(291) 내에 머무르기 때문이다. 이와 같이, 메커니즘의 사용자 입력 해석이 사용자 의도를 도출하려 시도하는 추가적인 사용자 입력을 기다리지 않고, 대신에, 비-수정 방식으로 프리폼 이동으로 프리폼 이동 임계치(280) 내에서 사용자의 초기 입력을 전달하기 때문에, 사용자 입력이 지연없이 사용자 입력 해석 메커니즘에 의해 전달될 수 있다.
사용자 입력 해석 메커니즘은 사용자의 입력이 프리폼 이동과 연관된 영역 내에서 머무르는 한, 사용자의 입력을 프리폼 이동으로 계속 해석할 수 있다. 일 실시예에서, 프리폼 이동과 연관된 영역은 달리 규정되지 않을 경우 단순히 해당 영역일 수 있다.
다른 타입의 영역은 "그루브" 영역으로 식별될 수 있는데, 그 이유는 "그루브" 영역이 사용자가 특별한 보조 정밀도로 이동하고자 하는 모션 배향을 나타낼 수 있기 때문이다. 예를 들어, 하나 이상의 사용자 인터페이스 요소를 위 또는 아래로 이동시킬 때, 사용자는 이러한 인터페이스 요소를 정확히 위로 또는 정확히 아래로 이동시키고 싶어할 것이고, 좌측 또는 우측으로의 편향을 피하고 싶어할 것이다. 따라서, 예를 들어, 사용자가 문서를 읽고 있을 때, 사용자는 계속 읽기 위해 문서를 위 또는 아래로 스크롤하고자 할 것이고, 어떤 좌측 또는 우측의 모션은 문서를 읽기 위한 사용자의 노력을 방해할 것이다. 다른 예로서, 사용자가 수평으로 배향된 이미지들의 컬렉션을 편집하고자 할 경우, 사용자는 사용자 인터페이스 요소를 정확히 좌측으로 또는 정확히 우측으로 이동시킴으로써 다음 이미지로 스크롤하고자 할 수 있고, 어떤 상/하 모션은, 마찬가지로, 이미지들의 컬렉션을 편집하기 위한 사용자의 노력을 방해할 수 있다. 이러한 예에서, 사용자에 의한 하나 이상의 사용자 인터페이스 요소의 수직 및 수평 움직임은 "그루브" 메타포를 적용하는 사용자 입력 해석 메커니즘에 의해 도움을 받을 수 있고, 이에 따라 실질적으로 수직인 사용자 입력과 같이, 특정 방향을 따라 실질적으로 지향되는 사용자의 입력은, 정밀하게 수직 방식으로 정렬되는 그루브 내로 들어가는 것으로 간주될 수 있어서, 사용자 입력이 완벽하게 수직이 아니고 좌측 또는 우측으로 약간 편향된 경우에도, 사용자 입력 해석 메커니즘에 의해 제공되는 사용자 입력이 수정되거나 교정되어 사용자가 이러한 도움없이 달성할 수 없던 정밀 수직 움직임을 반영할 수 있게 된다.
일 실시예에서, 그루브 영역은, 예를 들어, 사용자 인터페이스 요소의 초기 위치로 이러한 영역을 정렬시킴으로써, 판정될 수 있다. 따라서, 도 2의 시스템(200)에 도시되는 바와 같이, 그루브 영역(292, 293, 294, 295)은 아이콘(210)의 최초 위치 또는 위치(211)에서 사용자 입력의 시작점에 기초하여 규정될 수 있다. 이러한 실시예에서, 나머지 영역, 즉, 영역(296, 297, 298, 299)은 프리폼 영역을 유지할 수 있다. 추가적으로, 이러한 실시예에서, 사용자 입력이 그루브 영역에 들어갈 때, 통과한 사용자 입력을 그루브 영역과 정렬시키도록 사용자 입력 해석 메커니즘에 의해 적용될 수 있는 이러한 사용자 입력의 수정은, 이러한 사용자에 입력에 의해 영향받는 사용자 인터페이스 요소를 그루브 영역 내로 시각적으로 "점프"할 수 있게 한다.
이에 반해, 다른 실시예에서, 그루브 영역은 미리 판정될 필요가 없고, 또는, 배향에 관해서는 미리 결정될 수 있으나 위치에 관해서는 이미 결정될 필요가 없다. 이러한 실시예에서, 사용자 입력이 정밀 직선 라인으로 이동하고자 하는 의도를 뒷받침할 때, 예를 들어, 좌측 또는 우측으로 사람에 의한 약간의 부정확성을 예외로 하고 사용자 입력이 실질적으로 수직 방식의 추세를 나타낼 경우, 그루브 영역으로 배향으로 이동하고자 하는 의도를 나타내는 사용자 입력이 위치하는 위치에 그루브 영역이 확립된다. 이러한 실시예에서, 사용자 입력 해석 메커니즘에 의해 이루어지는 사용자 입력에 대한 수정은, 영향받는 사용자 인터페이스 요소의 임의의 종류의 최초 시각적 "점프"를 야기할 필요가 없고, 대신에, 그루브 영역이 구축되면, 그루브의 배향으로 후속 사용자 입력을 단순히 직선화할 수 있다. 이러한 실시예의 일시적 속성 때문에 도면에 구체적으로 도시되지 않으나, 아래의 그루브 영역에 대한 참조는 도면에 도시되는 것과 같은 기-구축된 그루브 영역에 대한 참조와, 사용자 입력 히스토리에 기초하여 동적으로 구축되는 그루브 영역에 대한 참조를 모두 포함하도록 의도된다.
도 2를 다시 참조하면, 예를 들어, 위치(221)로부터 위치(231)까지 터치스크린 상에서 사용자가 손가락을 이동시킴으로써, 사용자 입력이 라인(215)을 따라 계속될 때, 사용자 입력이 프리폼 영역(291)을 떠났음에도 불구하고, 프리폼 영역(298) 내로 진행되어왔고, 그 결과, 프리폼 이동으로 계속 해석될 수 있기 때문에, 사용자 입력은 여전히 비-수정 방식으로 전달될 수 있다. 사용자 입력의 위치(231)와 함께 중앙에 위치하는 그레이-아웃 영역(230)은 사용자 입력이 응용프로그램 또는 운영 체제에 전달되어서, 비-수정 방식으로 그레이-아웃 아이콘(230)을 발생시킴을 보여주며, 이는 응용 프로그램 또는 운영 체제가 사용자 입력 해석 메커니즘으로부터 사용자 입력을 위치(231)에 있는 것으로 수신하기 때문이고, 그 결과, 사용자 입력 위치에 따라 그레이-아웃 아이콘(230)을 그리기 때문이다.
유사한 방식으로, 사용자 입력이 라인(215)을 따라 위치(231)로부터 위치(241)로 계속 진행됨에 따라, 사용자 입력이 프리폼 영역 내에 머무를 수 있기 때문에 - 즉, 최초에 프리폼 영역(298)에 있다가, 나중에 다시 프리폼 영역(291) 내에 머무르기 때문에, 프리폼 이동으로 계속 해석될 수 있다. 따라서, 사용자 입력은 비-수정 방식으로 사용자 입력 해석 메커니즘에 의해 계속 전달될 수 있다. 따라서, 도시되는 바와 같이, 그레이-아웃 아이콘(240)은 사용자 입력 위치(241)에 중심을 두고 위치할 수 있는데, 이는 사용자 입력의 위치(241)가 변화없이 사용자 입력 해석 메커니즘에 의해 전달될 수 있기 때문이다. 추가적으로, 사용자 입력이 라인(215)을 따라 위치(241)로부터 위치(251)까지 전달될 수 있기 때문에, 마찬가지로, 사용자 입력이 프리폼 이동으로 계속 해석될 수 있으며, 이는 프리폼 영역(291) 내에, 그리고 후속하여 프리폼 영역(297) 내에 머무르기 때문이다. 그 결과, 그레이-아웃 아이콘(250)은 사용자 입력(251)의 위치에 중심을 두고 위치할 수 있는데, 이는 이러한 사용자 입력이 수정없이, 프리폼 입력으로 그레이-아웃 아이콘(250)을 그리는 책임을 갖는 응용프로그램, 또는 운영체제에 전달되기 때문이다.
그러나, 사용자 입력이 라인(215)을 따라 계속 진행하여 위치(261)에 도달하면, 사용자 입력 해석 메커니즘은 사용자가 정밀 수직 방식으로 아이콘(210)을 이동시키고자 한다고 판정할 수 있고, 그 결과, 사용자 입력 해석 메커니즘이 사용자 입력을 수정하여, 해석 메커니즘에 의해 전달되는 사용자 입력은 예를 들어, 터치스크린 상에 실제 제공되고 있는 사용자 입력과 다를 수 있다. 도 2의 시스템(200)에 도시되는 바와 같이, 위치(261)에서의 사용자 입력은 비-수정 방식으로 사용자 입력 해석 메커니즘에 의해 전달될 경우, 통상 그레이-아웃 아이콘(262)이 아이콘 윤곽(260)을 갖도록 제시되게 할 것이다. 응용프로그램 또는 운영 체제에 의해 디스플레이되는 실제 그레이-아웃 아이콘(262)은, 아이콘 윤곽(260)의 위치로부터 벗어난 위치에 놓일 수 있어서, 제시되는 그레이-아웃 아이콘(262)이 아이콘(210)의 원위치와 정밀하게 수직으로 정렬되게 된다. 사용자의 시선으로부터, 라인(215)을 따라 위치(251)로부터 위치(261)까지 사용자 입력의 제공은, 사용자 입력이 위치(261)에 도달함에 따라, 위치(260)로부터 그레이-아웃 아이콘(262)에 의해 도시되는 위치까지 그레이-아웃 아이콘을 시각적으로 "점프"시킬 수 있고, 따라서, 그레이-아웃 아이콘이 아이콘(210)의 원위치와 수직으로 정렬된 그루브 내로 놓이는 것처럼 보이게 될 것이다.
아이콘(210)과 같은 사용자 인터페이스 요소를 정밀 수직 방식으로 또는 정밀 수평 방식으로 이동시킴에 있어서 사용자를 돕기 위해, 그루브 영역이 아이콘(210)의 원위치의 바로 위아래로 그리고 정밀하게 좌우로 구축될 수 있다. 따라서, 도 2의 시스템(200)에 도시되는 바와 같이, 그루브 영역(292)은 아이콘(210) 바로 위로 연장되어, 그루브 영역(292)이 각각 아이콘(210)의 최좌측 및 최우측 경계의 연장선일 수 있는 경계부(282, 283)에 의해 형성된다. 마찬가지로, 그루브 영역(294)은 아이콘(210) 바로 아래로 연장될 수 있고, 각각 아이콘(210)의 최좌측 및 최우측 경계부의 연장선일 수 있는 경계부(287, 286)에 의해 형성될 수 있다. 추가적인 그루브 영역(293, 295)은 아이콘(210)의 정밀 수평 이동을 가능하게 하도록, 아이콘(210)의 우측 및 좌측으로 각각 연장될 수 있다. 아이콘(210)의 우측으로 연장되는 그루브 영역(293)은 각각 아이콘(210)의 최상부 및 최하부 경계부의 연장선일 수 있는 경계부(284, 285)에 의해 구획될 수 있다. 마찬가지로, 아이콘(210)의 좌측으로 연장되는 그루브 영역(295)은 각각 아이콘(210)의 최상부 및 최하부의 연장선일 수 있는 경계부(289, 288)에 의해 구획될 수 있다.
그루브 영역(292, 293, 294, 295)이 도 2의 시스템(200)에서 아이콘(210)의 경계부와 상응하는 경계부를 갖는 것으로 도시되지만, 설명되는 사용자 입력 해석 메커니즘은 구체적인 크기의 그루브 영역에 의해 제한되지 않고, 대신에, 임의의 폭 또는 길이의 그루브 영역을 구축할 수 있으며, 이러한 폭 또는 길이 내에서 사용자가 정밀 선형 방식으로 하나 이상의 사용자 인터페이스 요소를 이동시킬 것을 시도하고 있다고 결론짓는 것이 적절할 수 있다. 마찬가지로, 도 2의 시스템(200)에 도시되는 그루브 영역(292, 293, 294, 295)은 아이콘(210)에 대한 배향까지 예시적인 것을 의도할 뿐이다. 일 실시예에서 그루브 영역이 수평 및 수직으로 연장되어 사용자가 사용자 인터페이스 요소를 수평 또는 수직 방식으로 정밀하게 이동시키는 것을 도울 수 있는 경우를 고려할 때, 다른 실시예는 더 많거나 더 적은 그루브 영역을 고려한다. 예를 들어, 아이콘(210) 대신에, 이동한 사용자 인터페이스 요소가 문서의 일 페이지인 경우, 일 실시예에서는 이러한 문서의 판독이 더 읽기 위해 아래로 스크롤링하거나 특정 섹션을 다시 보기 위해 위로 다시 스크롤하기 위해 수직 방향으로 정밀 선형 모션만을 요구할 수 있기 때문에, 그루브 영역(295, 293)이 존재할 필요가 없음을 고려한다. 다른 예로서, 아이콘(210) 대신에, 이동하고 있는 사용자 인터페이스 요소가 일련의 수평 배열 사진들 중 한 장인 경우, 일 실시예에서는 수평으로 배열된 사진을 보는 것이 단지 수평 방향으로만 정밀 선형 모션을 요할 수 있기 때문에 그루브 영역(292, 294)이 존재할 필요가 없음을 고려한다. 또 다른 예로서, 사용자 인터페이스 요소(210)가 드로잉 프로그램의 일 요소일 경우, 도 2의 시스템(200)에 도시되는 그루브 영역에 추가적인 그루브 영역이, 예를 들어, 드로잉 프로그램의 콘텍스트 내에서 실용적일 수 있는 45도 대각선 또는 다른 유사 각도 오프셋으로, 구축될 수 있다.
도 2에 도시되는 시스템(200)을 다시 살펴보면, 사용자 입력이 그루브 영역 내로 들어가면, 예를 들어, 사용자 입력이 라인(215)을 따라 이동하여 위치(261)에 도달할 때, 사용자 입력 해석 메커니즘은 응용 프로그램, 운영 체제, 또는 컴퓨터-실행가능 명령어의 다른 컬렉션에 전달하는 사용자 입력을 수정하여, 예를 들어, 위치(261)에서의 사용자 입력이 그루브 영역(292)의 중심의 약간 우측으로 놓인다는 사실에도 불구하고, 사용자 입력이, 사용자 입력 해석 메커니즘에 의해 제공되듯이, 그루브 영역(292)의 중심에 놓이도록 수정될 수 있게 된다. 그 결과, 이러한 입력을 수신하고 있는 응용 프로그램, 운영 체제, 또는 컴퓨터 실행가능 명령어의 다른 컬렉션들이 적절한 사용자 인터페이스 요소를 원위치에 대해 정밀 선형 관계로 렌더링할 수 있다. 따라서, 예를 들어, 도 2의 시스템(200)에 도시되는 바와 같이, 위치(261)에서 사용자의 입력이 아이콘(210)의 원위치 바로 위에 있지 않음에도 불구하고, 수정된 사용자 입력이, 사용자 입력 해석 메커니즘에 의해 제공되는 바와 같이, 그레이-아웃 아이콘(262)을 그려내는 응용 프로그램 또는 운영 체제로 하여금, 원본 아이콘(210)에 대해 정밀 선형 관계로(즉, 도시되는 예에서, 원본 아이콘(210) 바로 위에) 이러한 아이콘을 그릴 수 있게 한다.
앞서 표시한 바와 같이, 그루브 영역은 물리적 그루브를 닮을 수 있고 소정의 영역을 형성할 수 있으며, 이러한 영역 내에서 사용자 입력은, 차량의 휠이 어느 한 쪽으로의 이동의 작은 변화에도 불구하고 내려 앉게 되는 그루브에 국한되게 유지되는 것과 상당 부분 동일한 방식으로 변화에도 불구하고 정밀 경로로 국한됨을 유지한다. 따라서, 도 2의 시스템(200)에 도시되는 바와 같이, 사용자 입력이, 라인(215)을 따라 위치(261)로부터 위치(271)로 진행하며 수평 방향으로 약간 편향될 경우, 대응하는 사용자 인터페이스 요소(즉, 도 2에 도시되는 예에서 아이콘(210))의 모션은 편향없는 수직 방향으로 이동을 유지할 수 있는데, 이는 사용자 입력 해석 메커니즘에 의해 전달되는 사용자 입력이, 라인(215)에 의해 표현되는, 그리고, 약간의 편향을 포함하는, 실제 사용자 입력으로부터 약간 수정될 수 있기 때문이다. 예를 들어, 위치(271)에서의 사용자 입력은 위치(261)에서의 사용자 입력으로부터 우측으로 약간 편향되어 있을 수 있다. 그럼에도 불구하고, 그레이-아웃 아이콘(272)은 그레이-아웃 아이콘(262)과 정렬 상태를 유지할 수 있고, 원위치로부터 아이콘(210)의 정밀 수직 운동을 나타낼 수 있다. 따라서, 위치(271)에서의 사용자 입력이 위치(270)의 아이콘의 렌더링을 전통적으로 야기하여 왔을 수 있으나, 사용자 입력 해석 메커니즘에 의해 제공되는 수정은 대신에 아이콘을 렌더링하는 응용 프로그램 또는 운영 체제에 의해 수신되는 사용자 입력을 수정시킬 수 있어서, 응용 프로그램 또는 운영 체제는 사용자 입력이 그루브 영역(292) 중앙에 있고 그 결과 위치(271)의 실제 사용자 입력의 좌측에 그레이-아웃 아이콘(272)을 발생한다고 믿게 된다. 사용자 입력이 라인(215)을 따라 대체로 윗 방향으로 진행됨에 따라, 위치(261)에 비해 위치(271)의 상대적 수평 위치로 도시되는 바와 같이, 사용자 입력의 이러한 약간의 수평 편향은 사용자 입력 해석 메커니즘에 의해 제거될 수 있으며, 입력 해석 메커니즘은 대신에 그루브 영역(292)에 국한되도록 사용자 입력을 수정할 수 있고, 사용자로 하여금 정밀 수직 방식으로 아이콘(210)을 드래그하게 할 수 있다.
따라서, 확인할 수 있는 바와 같이, 프리폼 이동 임계치(280)는 사용자 인터페이스 요소 주위로 프리폼 이동 영역(291)을 형성할 수 있어서, 최초 사용자 입력을 수정없이 따라서 지연없이 통과시킬 수 있게 되고, 그동안 관련 방향으로 정밀 선형 운동을 수행하는 사용자를 돕기 위해 구축될 수 있는 그루브 영역 또는 프리폼 영역 내에 그러한 입력이 있는지 여부를 결정하기 위해 후속 사용자 입력이 분석될 수 있다. 이러한 방식으로, 사용자 입력 해석 메커니즘은 정밀 선형 움직임을 수행하는 사용자를 도울 수 있고, 이와 동시에 최초 지연이 나타나는 것을 방지할 수 있다. 이에 반해, 사용자가 정밀 선형 움직임을 수행하고자 하는지 여부를 결정하기를 먼저 기다리는 전형적인 사용자 입력 해석 메커니즘은, 사용자의 의도를 알아내기 위해 충분한 사용자 입력을 기다려야 하기 때문에, 사용자의 입력을 전달하는 동안 최초 지연을 도입한다.
도 3을 살펴보면, 거기 도시되는 시스템(300)은 일 실시예에 따른 예시적인 메커니즘을 도시하고, 이에 따라 계속되는 사용자 입력은, 사용자의 입력이 정밀 선형 움직임으로 제한된다는 사용자에 의한 의도를 뒷받침하고 있다고 판명된 후에도, 그리고, 사용자 입력 해석 메커니즘에 의해 거쳐간 것과 같은 사용자 입력이 그루브 영역(292)과 같은 그루브 영역에 국한된 후에도, 사용자에 의해, 도움받지 않고 프리폼 이동으로 되돌아가고자 하는 의도를 드러낼 수 있다. 이러한 실시예를 설명하기 위해, 도 3의 시스템(300)은 도 2의 시스템(200)에 앞서 도시된, 그리고 위에서 세부적으로 설명되는, 라인(215)으로부터 계속되는 사용자 입력을 나타낼 수 있는 라인(315)을 포함한다. 앞서 설명한 바와 같이, 그리고 도 3의 시스템(300)에서 도시되는 바와 같이, 위치(261, 271) 사이를 따라 이동하는 사용자 입력은 정밀 선형 방식으로 도 2에 앞서 도시된 아이콘(210)을 이동시키고자 하는 바램(desire)을 표시하는 것으로 해석될 수 있고, 이와 같이, 사용자 입력은 사용자 입력 해석 메커니즘에 의해 수정되어, 통과한 사용자 입력이 그루브 영역(292)의 중앙에 놓일 수 있다. 따라서, 도 3의 시스템(300)에 도시되는 바와 같이, 도 2에 도시된 아이콘(210)은, 그루브 영역(292) 내에서 그레이-아웃 아이콘(262, 272)에 의해 표시되는 바와 같이 정밀 수직 방식으로 이동한다. 또한 앞서 설명된 것과 같이, 사용자 입력 해석 메커니즘은 그루브 영역(292) 인근의 사용자 입력을, 정밀 수직 방식으로 하나 이상의 사용자 인터페이스 요소를 이동시키고자 하는 의도를 뒷받침하는 것으로 해석할 수 있고, 이와 같이, 도 3의 시스템(300)에 도시되는 위치(261, 271) 및 라인(315)에 의해 표시되는 것과 같이, 제공되고 있는 실제 사용자 입력의 수평 변화에도 불구하고, 그루브 영역(292)의 중앙에 놓일 수 있는 수정된 사용자 입력을 거칠 수 있다.
그러나, 일 실시예에서, 사용자 입력이 그루브 이탈 임계치를 초과하여 이동할 경우, 사용자 입력 해석 메커니즘은 그루브 영역에 국한되도록 사용자의 입력을 수정할 수 없고, 대신에, 프리폼 방식으로 사용자 입력을 해석하도록 되돌아갈 수 있다. 그루브 이탈 임계치가 그루브 영역(292)의 한계치(282, 283)와 같은, 그루브 영역의 한계치를 넘는 거리로 구축될 수 있고, 이러한 한계치를 넘어 계속되는 사용자 입력은 그루브 영역의 이탈 및 프리폼 이동으로의 복귀에 대한 바램을 뒷받침한다. 따라서, 도 3의 시스템(300)에 도시되는 바와 같이, 그루브 이탈 임계치(370)는 소정의 한계치(372)를 구축할 수 있고, 이러한 한계치(372)를 초과하여 계속되는 사용자 입력은 그루브 영역(292)의 이탈 및 프리폼 이동으로의 복귀에 대한 바램을 뒷받침할 수 있다. 마찬가지로, 그루브 이탈 임계치(371)는 소정의 한계치(373)를 구축할 수 있고, 한계치를 초과하여 계속되는 사용자 입력은, 마찬가지로, 그루브 영역(292) 이탈 및 프리폼 이동으로의 복귀에 대한 바램을 뒷받침할 수 있다. 그루브 이탈 임계치(370)는 그루브 이탈 임계치(371)와는 다른 수치를 할당받아, 일 실시예에서, 이러한 이탈 임계치가 서로 독립적으로 구축될 수 있음을 표시할 수 있다. 따라서, 그루브가 스크린 에지 근처에 구축될 경우, 스크린의 에지 방향으로 그루브 이탈 임계치는 실질적으로 작거나 심지어 0일 수 있고, 반대 방향으로 그루브 이탈 임계치는 더 클 수 있다.
다른 실시예에서, 도 3의 시스템(300)에 도시되는 바와 같이, 그루브 이탈 임계치를 그루브 영역의 한계치를 초과한 거리로서 구축하는 대신, 사용자가 입력을 그루브 영역으로부터 얼마나 멀리 이동시키는지보다, 그루브 영역에 수직인 방향으로 사용자가 입력을 얼마나 강하게(hard) 이동시키는지를 정량화하는 속도 벡터를 참조하여 그루브 이탈 임계치가 구축될 수 있다. 이러한 실시예를 이용하면, 예를 들어, 사용자가 연장된 기간 동안 수직 방향으로 패닝하고자 하지만, 이러한 연장된 기간 동안 사용자의 입력은 수평 방식으로 계속 미끄러져서, 궁극적으로 그루브로부터 거리에만 기초한 그루브 이탈 임계치를 넘어서는 상황에서와 같이, 사용자가 의도하지 않았을 때 프리폼 이동으로의 복귀를 제한할 수 있다. 본 예에서 수평 방향으로 이러한 사용자 입력의 이러한 미끄러짐이 비교적 작을 수 있기 때문에, 대응하는 속도 벡터 역시 비교적 작을 것이며, 따라서 이러한 속도 벡터에 관해 결정되는 그루브 이탈 임계치를 넘지 않을 것이고, 대신에, 사용자가 그루브에 여전히 제약되면서 더 긴 시간 기간 동안 계속해서 패닝할 수 있게 한다.
도 3의 시스템(300)에 의해 도시되는 특정 예로 되돌아가면, 시스템(300) 내 라인(315)에 의해 표시되는 바와 같이, 도시되는 예에서 사용자 입력은 그루브 영역(292)에 실질적으로 수직인 방향으로 위치(271)로부터 진행하여 위치(311)에 도달할 수 있다. 이러한 모션은 사용자 입력이 그루브 영역 이탈 임계치 경계(373) 너머로 진행할 때, 사용자 입력 해석 메커니즘으로 하여금 사용자 입력을 수정시키지 않게 할 수 있고, 대신에, 이러한 입력을 프리폼 입력으로 해석하게 할 수 있다. 따라서, 그레이-아웃 아이콘(310)에 의해 도시되는 바와 같이, 위치(311)에서의 사용자 입력은 사용자 입력 해석 메커니즘에 의해, 수정되지 않은 방식으로 전달되고, 그 결과, 그레이-아웃 아이콘(310)은 사용자 입력을 실제 수신한 위치(311)를 중심으로 한다.
일 실시예에서, 사용자 입력이 그루브 이탈 임계치 경계를 통과할 때, 사용자 입력이 그루브 이탈 임계치 경계를 거친 위치, 또는 다른 적절한 위치와 같이, 적절한 위치 주위에 새 프리폼 영역이 구축될 수 있다. 설명을 위해, 도 3의 시스템(300)내에 새 프리폼 영역(391)이, 위치(311) 주위로 프리폼 이동 임계치(380)에 의해 구축되는 것으로 도시된다. 일 실시예에서, 프리폼 영역(391)을 구축하는데 이용되는 프리폼 이동 임계치(380)는 앞서 설명한, 도 2에 도시되는, 프리폼 이동 임계치(280)와 동일할 수 있다. 다른 실시예에서, 프리폼 이동 임계치(380)는 도 2에 도시되는 프리폼 이동 임계치(280)와 독립적으로 구축될 수 있고, 프리폼 이동 임계치(280)보다 크거나 작을 수 있다.
(391)의 프리폼 영역을 넘으면, 예를 들어, 앞서 상세하게 설명한 방식으로 그루브 영역(393, 394)과 같은 추가적인 그루브 영역이 각각 경계부(384, 385, 그리고, 386, 387) 사이에 구축될 수 있다. 추가적으로, 앞서 상세히 설명한 바와 같이, 그루브 영역(393, 394)과 같은 그루브 영역 외부의 영역들이 프리폼 영역(398)과 같은 프리폼 영역을 유지할 수 있다. 따라서, 도 3의 시스템(300)에 도시되는 바와 같이, 사용자 입력이 라인(315)을 따라 위치(311)로부터 위치(321)까지 진행될 경우, 사용자 입력 해석 메커니즘은 적어도 부분적으로 프리폼 영역(391) 내에 머무르기 때문에 이러한 입력을 프리폼 입력으로 해석할 수 있고, 그 결과, 응용 프로그램 또는 운영 체제로 수정없이 전달될 수 있으며, 그 후 이들에게 제공되는 사용자 입력(즉, 비-수정 사용자 입력)에 따라 그레이-아웃 아이콘(320)을 렌더링할 수 있고, 그 결과, 실제 사용자 입력의 위치(321) 주위로 중심으로 하여 그레이-아웃 아이콘(320)을 렌더링할 수 있다. 유사한 방식으로, 사용자 입력이 라인(315)을 따라 위치(321)로부터 위치(331)로 진행됨에 따라, 사용자 입력 해석 메커니즘은 이러한 사용자 입력이 다시 프리폼 영역, 즉, 프리폼 영역(398) 내에 있을 수 있기 때문에, 이러한 입력을 프리폼 입력으로 해석할 수 있다. 결과적으로, 사용자 입력 해석 메커니즘은 사용자 입력을 비-수정으로 통과시킬 수 있고, 이는 다시 그레이-아웃 아이콘(330)을 실제 사용자 입력의 위치(331) 를 중심으로 위치시킬 수 있다.
그러나 앞서와 같이 사용자 입력이 그루브 영역에 들어올 경우, 즉, 도 3의 시스템(300)에 도시되는 바와 같이 사용자 입력이 라인(315)을 따라 위치(331)로부터 위치(341)까지 진행될 때, 사용자 입력 해석 메커니즘은 정밀 선형 방식으로 사용자가 이동하는 것을 돕도록 사용자 입력을 수정할 수 있다. 따라서, 도시되는 바와 같이, 사용자 입력이 위치(341)에 있고 수정없이 전달될 경우에는 위치(340)에 그레이-아웃 아이콘이 생성될 것이라는 사실에도 불구하고, 그레이-아웃 아이콘(342)은, 그루브 영역(393)과 함께 정렬되는 아이콘(310)의 원위치와 정렬되도록 상향으로 오프셋된 위치에 실제 디스플레이된다. 따라서, 사용자 입력 해석 메커니즘은 위치(341)에서 수신한 사용자 입력을 그루브 영역(393) 중앙의 서로 다른 위치로 수정하였을 수 있고, 따라서, 이러한 입력을 수신하는 응용 프로그램 또는 운영 체제로 하여금 도시되는 위치에서 그레이-아웃 아이콘(342)을 렌더링하게 할 수 있다.
일 실시예에서, 앞서 설명한 그루브 영역 및 프리폼 영역과 같은, 영역들에 관하여 사용자 입력의 위치를 참조함에 추가하여, 또는 이에 대한 대안으로서, 사용자 입력의 히스토리는, 예를 들어, 그루브 영역에 따라 사용자의 입력을 수정할지 여부, 또는, 대안으로서, 사용자의 입력이 그루브 영역 이탈 및 프리폼 이동으로의 복귀에 대한 바램을 뒷받침하고 있는지 여부를 결정할 때, 상기 메커니즘의 사용자 입력 해석에 의해 마찬가지로 고려될 수 있다. 예를 들어, 이러한 실시예에서, 라인(315)을 따라 위치(331)로부터 위치(341)까지의 사용자 입력은 사용자 입력 해석 메커니즘으로 하여금, 그루브 영역(393)에 따라 위치(341)에서 사용자 입력을 반드시 수정시키지는 않을 수 있는데, 이는 라인(315)에 의해 도시되는 바와 같이, 사용자 입력의 히스토리가 사용자에 의해 정밀 선형 방식으로 이동하고자 하는 의도를 충분하게 뒷받침하지 않기 때문이다. 대신에, 이러한 실시예에서, 사용자 입력이, 라인(315)의 단부 상에서 화살표에 의해 도시되는 바와 같이, 라인(315)을 따라 그루브 영역(393)에 실질적으로 평행한 방식으로, 그리고 그루브 영역(393)을 따라서 계속될 때, 사용자 입력은 그루브 영역(393)에 따라 수정될 수 있다. 마찬가지로, 이러한 실시예에서, 라인(315)을 따른 위치(271)로부터 위치(311)까지의 사용자 입력은, 단순히 사용자 입력이 그루브 이탈 임계치 경계부(373)를 통과하기 때문만이 아니라, 라인(315)에 의해 도시되는 바와 같이, 사용자 입력이 그루브 영역(292)에 실질적으로 직교하는 방향으로 이동하기 때문에, 그루브 영역을 이탈하고자 하는 바램을 뒷받침할 수 있다.
도 4를 살펴보면, 거기에 도시되는 순서도(400)는 위에서 상세하게 설명한 사용자 입력 해석 메커니즘에 의해 수행될 수 있는 일련의 예시적인 단계들을 도시한다. 최초에, 단계(410)에 의해 도시되는 바와 같이, 최초 사용자 입력이 수신될 수 있다. 앞서 표시한 바와 같이, 설명을 단순화시키고 이해를 돕기 위해, 제공되는 설명은 장치에 입력을 제공하기 위해, 예를 들어, 하나 이상의 손가락을 이용함으로써 사용자가 상호작용할 수 있는 전형적인 터치스크린 장치의 콘텍스트에서 이루어지고 있다. 이러한 예시적인 콘텍스트 내에서, 단계(410)에서 수신되는 최초 사용자 입력은, 예를 들어, 터치스크린 상의 소정의 점을 사용자의 손가락으로 누르는 것일 수 있다. 이어서, 단계(415)에서, 사용자 입력 해석 메커니즘은 사용자가 누르고 있는 위치가 이동함에 따라 사용자 입력의 위치를 전달할 수 있다. 앞서 표시한 바와 같이, 단계(415)에서, 사용자 입력의 전달은 지연없이 발생할 수 있는데, 이는 사용자 입력 해석 메커니즘이 단계(415) 이전에 사용자 의도를 도출하기 위해 사용자 입력의 일부 임계치를 기다릴 필요가 없기 때문이다.
단계(420)에서, 사용자가 입력을 멈추었는지 여부에 관한 판정이 이루어질 수 있다. 다시, 설명의 명료성 및 단순화를 위해 사용되는 터치스크린의 구체적 예에서, 사용자 입력의 중단은, 예를 들어, 터치스크린 장치 상에서 사용자의 손가락에 의한 압력의 해제의 형태일 수 있다. 단계(420)에서 이러한 해제가 검출될 경우, 단계(425)에서, 사용자 입력 위치의 임의의 이동에 의해 커버되는 총 거리에 추가하여, 사용자 입력이 이동한 거리 또는 더욱 정확하게는 사용자 입력이 시작된 위치와 사용자 입력이 종료된 위치 사이의 차이가 활성화 임계치보다 작은지 여부에 관하여 판정이 이루어질 수 있다. 당업자에게 이해되는 바와 같이, 소정의 상황에서, 사용자 입력의 위치의 일부 작은 움직임이 존재할 수 있지만, 사용자의 의도는 하나 이상의 사용자 인터페이스 요소를 이동시키고자 하는 것이 아니라, 유비쿼터스 마우스 클릭에 의해 종래에 수행되듯이 해당 요소들 중 하나의 활성화를 실행하는 것이었다. 예시적인 터치스크린 장치의 콘텍스트에서, 이러한 활성화 작용은, 예를 들어, 사용자가 터치스크린 장치 상에서 손가락으로, 내려누르고 그 후 압력을 해제하고 손가락을 제거함으로써 수행될 수 있다. 사용자 입력 해석 메커니즘은 단계(415)에서와 같이 지연없이 사용자 입력을 전달할 수 있기 때문에, 사용자 입력 해석 메커니즘은 사용자가 실제로 특정 위치에서 손가락을 내려누른 다음 압력을 해제하여 이 위치에서 활성화 이벤트를 수행하는 것만을 의도하였을 때, 사용자 입력의 움직임을 전달할 수 있다. 이러한 경우에, 단계(425)에서, 충분히 작은 양의 이동으로 규정될 수 있는 활성화 임계치에 관하여 판정이 이루어질 수 있어서, 상기 양보다 작은 임의의 이동은 이동으로 간주될 가능성이 적고, 대신에, 사용자에 의한 활성화 이벤트로 간주되게 된다.
단계(410)에서의 가압 이벤트와 단계(420)에서의 해제 이벤트 사이에서 사용자 입력의 위치가 이동한 거리가 활성화 임계치보다 작다고 단계(425)에서 판정될 경우, 단계(430)에서 사용자 입력 해석 메커니즘은 이미 전달되었을 수 있는 과거 사용자 입력 이동을 취소(undo)하기 위해 충분한 양의 사용자 입력을 만들어낼 수 있다. 추가적으로, 단계(430)에서, 사용자 입력 해석 메커니즘은 사용자의 입력 및 활성화 이벤트를 취급할 수 있고, 응용프로그램, 운영 체제, 또는 컴퓨터 실행가능 명령어의 다른 컬렉션에 해당 활성화 이벤트를 전달할 수 있다.
당업자에게 이해되듯이, 단계(415)에서와 같이, 지연없이 사용자 입력을 전달함으로써, 일 실시예에서, 사용자 입력 해석 메커니즘은 단계(425)에서의 판정에 의해 사용자가 이동 이벤트 대신에, 활성화 이벤트를 의도하였음이 나중에 명백해질 경우, 이러한 임의의 움직임을 취소시킬 필요가 있을 수 있다. 이러한 경우에, 단계(415)에서 전달된 사용자 입력의 일부로서 이전 움직임을 취소시키기 위해 이러한 사용자 입력 해석 메커니즘에 의해 만들어지는 추가적인 사용자 입력에 따라, 시각적으로, 사용자 인터페이스 요소가 약간 이동하고, 그 후, 사용자가 실제 의도한 활성화 이전에 원위치로 복귀할 수 있다. 활성화 이벤트가 의도되었을 때, 일부 사용자는 이러한 움직임을 발견하여 주의를 빼앗길 수 있지만, 이러한 움직임은 사용자 인터페이스 요소가 이동가능하다는 시각적 표시를 제공할 수 있기 때문에 다른 사용자에게는 도움이 될 수도 있다. 그러나, 다른 실시예에서, 제공되는 사용자 입력은 취소될 필요가 없고, 단계(430)는 사용자 입력 해석 메커니즘이 활성화 이벤트를 전달하는 것만을 포함할 수 있다.
단계(425)로 되돌아가서, 단계(425)의 판정이 사용자 입력 위치의 움직임이 활성화 임계치의 움직임을 넘어섰음을 보여줄 경우, 사용자 입력 해석 메커니즘은 단계(420)에서 검출한 해제를 이용하여, 사용자 입력 이동이 단계(435)에서 중단되었다는 표시를 전달할 수 있다. 선택적으로, 사용자 입력 해석 메커니즘은 사용자 입력에 의해 영향받고 있는 그래픽 사용자 인터페이스 요소의 관성을 시뮬레이션하기 위해 추가적인 사용자 입력을 만들 수 있다. 예를 들어, 이러한 관성은 사용자 인터페이스 요소의 움직임을 순간적으로 중단시키기보다, 대신에 소정 거리에 걸쳐 정지하도록 이러한 움직임을 감속시키는 추가적인 사용자 입력을 만들어냄으로써 시뮬레이션될 수 있다.
다시 단계(420)로 되돌아가면, 단계(420)에서 어떤 해제도 검출되지 않을 경우, 프로세싱은 단계(440)으로 진행되어, 이 지점에서, 사용자의 입력이 그루브에 이미 제한되어 있는지 여부에 관한 판정이 이루어질 수 있다. 단계(440)에서 판정될 수 있는 것과 같이, 사용자 입력이 이미 그루브로 제한된 경우, 프로세싱은 단계(455)로 진행하여 이 지점에서, 사용자의 입력이 그루브에 직교하는, 또는 그루브 이탈 임계치를 넘는, 또는, 이들의 조합을 나타내는, 증거 움직임을 갖는지 여부에 관한 판정이 이루어질 수 있다. 단계(455)에서, 사용자가 그루브를 나가고 싶어함을 사용자 입력이 뒷받침하지 못한다고 판정될 경우, 사용자의 입력은 단계(460)에서 그루브로 계속 제한될 수 있고, 사용자 입력은 수정된 방식으로 진행될 수 있어서, 사용자 입력의 작은 변화가 제거될 수 있고, 사용자 입력이 그루브에 국한된 상태를 유지할 수 있다. 프로세싱은 그 후 단계(420)로 되돌아갈 수 있다. 역으로, 단계(455)에서, 사용자 입력이 사용자가 그루브를 떠나고자 함을 뒷받침한다고 판정할 경우, 프로세싱은 단계(465)로 진행하여, 이 지점에서 프리폼 이동이 허용될 수 있고 사용자 입력은 비-수정 방식으로 진행될 수 있다.
단계(440)에서, 사용자 입력이 그루브에 아직 국한되지 않는다고 판정될 경우, 프로세싱은 단계(445)로 진행하여, 사용자 입력이 프리폼 임계치를 초과하여 이동하였는지 여부에 관한 판정이 이루어질 수 있다. 단계(445)에서 사용자 입력이 프리폼 임계를 초과하여 이동하지 않았다고 판정될 경우, 사용자 입력은 단계(465)에서 프리폼 이동의 허용으로 표시되는 바와 같이, 비-수정 방식으로 계속 진행될 수 있다. 그 후 프로세싱은 단계(420)로 복귀할 수 있다. 역으로, 단계(445)에서 사용자 입력이 프리폼 임계치를 초과하여 이동하였다고 판정될 경우, 단계(450)에서, 예를 들어, 사용자 입력이 그루브 영역에 인접한 경우에, 그루브 영역과 실질적으로 비슷한 방향으로 진행되고 있는 경우에, 또는 이들의 조합의 경우에, 사용자의 입력 증거가 정밀 선형 방식으로 이동하고자 하는 바램인지 여부에 관하여 추가적인 판정이 이루어질 수 있다. 단계(450)에서 사용자의 입력이 정밀 선형 방식으로 이동하고자 하는 바램을 뒷받침하지 않는다고 판정될 경우, 사용자 입력 해석 메커니즘은 비-수정 방식으로 사용자의 입력을 계속 전달할 수 있고, 단계(465)에서 프리폼 이동을 계속 구현할 수 있고, 프로세싱이 단계(420)로 복귀할 수 있다. 역으로, 단계(450)에서 사용자 입력 증거가 정밀 선형 방식으로 이동하고자 하는 바램이라고 판정될 경우, 사용자 입력 해석 메커니즘은 단계(460)에서 표시되는 바와 같이 그루브에 대한 사용자 입력을 제한하도록 사용자 입력을 수정할 수 있다. 앞서에서처럼, 프로세싱은 단계(420)로 복귀하여, 사용자 입력이 종료되었는지 여부에 관한 판정이 다시 이루어질 수 있다.
고려되는 사용자 입력 해석 메커니즘의 형태를 더 설명하기 위해, 사용자 입력 해석 메커니즘의 예시적 상태를 설명하는, 상태도(500)가 도 5에 도시된다. 최초에, 도 5의 상태도(500)에 의해 도시되는 바와 같이, 사용자 입력 해석 메커니즘이 휴지 상태(510)에 놓일 수 있다. 터치스크린 상의 가압과 같이, 사용자 입력이 개시되면, 사용자 입력 해석 메커니즘은, 사용자 입력의 이러한 개시에 의해 트리거링되는 천이(512)에 의해 도시되는 바와 같이, 순간적인 프리폼 패닝 상태(520)로 천이한다. 순간적 프리폼 패닝 상태(520)에서, 사용자 입력 해석 메커니즘은 비-수정 방식으로 사용자 입력을 전달할 수 있고 지연없이 이를 행할 수 있다. 사용자 입력 해석 메커니즘이 순간적 프리폼 패닝 상태(520)에 있을 때, 천이(528)의 해제 이벤트에 의해 표시되는 바와 같이 사용자 입력이 종료될 경우, 사용자 입력 해석 메커니즘은 천이(528, 581)에 의해 도시되는 바와 같이, 휴지 상태(510)로 다시 천이할 수 있고, 또는, 천이(528, 584)에 의해 도시되는 바와 같이 활성화 상태(540)로 천이할 수 있다. 사용자 입력 해석 메커니즘이 휴지 상태(510)로 또는 활성화 상태(540)로 천이하는지 여부의 판정은, 사용자 입력이 활성화 임계치를 초과하여 이동하였는지 여부에 관한 판정(580)에 의해 알려질 수 있다. 이러한 활성화 임계치를 넘을 경우, 사용자 입력 해석 메커니즘은, 하나 이상의 사용자 인터페이스 요소의 관성을 시뮬레이션하기 위해 사용자 입력 해석 메커니즘에 의해 만들어지는 추가적인 사용자 입력을 선택사항으로 하여, 천이(581)에 의해 도시되는 바와 같이, 휴지 상태(510)로 천이할 수 있다. 역으로, 활성화 임계치를 넘지 못한 경우, 사용자 입력 해석 메커니즘은 천이(584)에 의해 도시되는 바와 같이, 활성화 상태(540)로 천이할 수 있다. 활성화 상태(540)에서, 사용자 입력 해석 메커니즘은 활성화 이벤트를 전달할 수 있고, 선택적으로, 순간적 프리폼 패닝 상태(520)에서 작동하고 있을 때 거쳐갔을 수 있는 임의의 이동을 취소시킬 수 있다. 이어서, 천이(541)에 의해 표시되는 바와 같이, 사용자 입력 해석 메커니즘은 휴지 상태(510)로 복귀할 수 있다.
순간적 프리폼 패닝 상태(520)에서, 사용자 입력이 천이(525)에 의해 표시되는 바와 같이 이동할 경우, 사용자 입력 해석 메커니즘은 순간적 프리폼 패닝 상태(520)로 복귀할 수 있고, 이 경우 비-수정 방식으로 사용자 입력 위치의 변화를 전달할 것이며, 또는, 사용자 입력 해석 메커니즘은 그루브 상태(530)를 따르는 패닝으로 천이하고, 여기서 사용자 입력을 전달하기 전에 사용자 입력을 수정하여 수정된 사용자 입력이 정밀하게 그루브 내에 있도록 하며, 사용자로 하여금 정밀 선형 이동을 수행하게 할 수 있다. 사용자 입력 해석 메커니즘이 순간적 프리폼 패닝 상태(520)로 복귀하는지, 또는, 그루브 상태(530)를 따르는 패닝으로 천이하는지 여부에 관한 판정은 판정(550, 560)에 의해 알려질 수 있다. 판정(550)에서, 사용자 입력의 이동이 프리폼 임계치 내에 있는지에 관한 판정이 이루어질 수 있다. 판정(550)에 의해 판정되는 바와 같이 사용자 입력이 프리폼 임계치 내에 머무를 경우, 사용자 입력 해석 메커니즘은, 천이(552)에 의해 도시되는 바와 같이, 순간적 프리폼 패닝 상태(520)로 다시 천이할 수 있다. 역으로, 사용자 입력의 이동이 프리폼 임계치를 넘는다고 판정(550)이 표시할 경우, 천이(556)에 의해 도시되는 바와 같이, 추가적인 판정(560)이 이루어질 수 있다.
판정(560)에서, 사용자의 입력 이동 증거가 정밀 선형 방식으로의 이동에 대한 바램인지 여부에 관한 판정이 이루어질 수 있다. 판정(560)에서 사용자 입력이 정밀 선형 방식으로 이동하고자 하는 바램을 뒷받침하지 않는다고 판정될 경우, 사용자 입력 해석 메커니즘은, 천이(562)에 의해 도시되는 바와 같이, 다시 순간적 프리폼 패닝 상태(520)로 천이할 수 있다. 그러나, 판정(560)에서 사용자 입력이 정밀 선형 방식의 이동에 대한 바램을 뒷받침한다고 판정될 경우, 사용자 입력 해석 메커니즘은, 천이(563)에 의해 도시되는 바와 같이, 그루브 상태(530)를 따르는 패닝으로 천이할 수 있다.
그루브 상태(530)를 따르는 패닝시에, 사용자 입력 해석 메커니즘이 사용자 입력 중단을 검출한 경우, 천이(531)에 의해 도시되는 바와 같이 휴지 상태(510)로 다시 천이할 수 있다. 역으로, 사용자 입력 해석 메커니즘이 천이(537)에 의해 도시되는 바와 같이 사용자 입력의 추가적인 이동을 검출하는 경우, 다시 순간 프리폼 패닝 상태(520)로 천이하거나 또는 그루브 상태(530)를 따르는 패닝으로 복귀할 수 있다. 메커니즘의 사용자 입력 해석이 어느 상태로 복귀하는지가 판정(570)에 의해 알려질 수 있고, 이는 사용자 입력이 그루브 이탈 임계치를 초과하여, 예를 들어, 직교 방식으로, 이동하였는지 여부를 판정할 수 있다. 사용자 입력이 그루브 이탈 임계치를 초과하여 이동하였다고 판정(570)이 이루어지면, 사용자 입력 해석 메커니즘은 천이(572)에 의해 도시되는 바와 같이, 순간적 프리폼 패닝 상태(520)로 복귀할 수 있고, 그루브를 따라 정렬하도록 하는 사용자 입력의 수정을 중단할 수 있다. 역으로, 사용자 입력이 그루브 이탈 임계치를 초과하여 이동하지 못하였거나, 또는 그렇지 않을 경우 프리폼 방식으로 이동하고자 하는 바램을 뒷받침하지 못하였다고 판정(570)이 이루어지면, 사용자 입력 해석 메커니즘은 천이(573)에 의해 도시되는 바와 같이, 그루브 상태(530)를 따르는 패닝으로 복귀할 수 있고, 그루브와 정렬되도록 수정되는 수정 사용자 입력을 계속 전달할 수 있다.
위 설명으로부터 확인할 수 있는 바와 같이, 이러한 사용자 입력을 전달함에 있어서 지연없이 사용자 입력을 해석하기 위한 메커니즘이 열거되었다. 여기서 설명되는 발명의 대상의 많은 가능한 변화들에 비추어볼 때, 다음의 청구범위 및 그 등가물의 범위 내에 있는 모든 이러한 실시예를 우리의 발명으로 청구한다.

Claims (20)

  1. 사용자 입력을 해석하기 위한 컴퓨터 실행가능 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 메모리로서,
    상기 컴퓨터 실행가능 명령어는
    원점으로부터 시작되는 이동 사용자 입력(moving user input)을 수신하는 단계와,
    상기 이동 사용자 입력이 상기 원점으로부터 프리폼 이동 임계 거리(freeform movement threshold distance) 내에 머무르는 동안, 상기 이동 사용자 입력이 수신되는 대로, 상기 이동 사용자 입력을 비-수정 형태(unmodified form)로 전달(passing along)하는 단계와,
    상기 이동 사용자 입력이 상기 원점으로부터 상기 프리폼 이동 임계 거리를 초과하여 그루브 영역 내로 이동한 것에 응답하여, 수정된 사용자 입력을 전달하는 단계를 수행하며,
    상기 수정된 사용자 입력은 상기 그루브 영역을 따라 상기 이동 사용자 입력을 중앙에 위치시키도록 수정되고,
    상기 그루브 영역은 상기 원점과 정렬되어 위치하는 사전-정의된 선형 영역인
    컴퓨터 판독가능 메모리.
  2. 제 1 항에 있어서,
    상기 수정된 사용자 입력을 전달한 후, 후속하여 상기 이동 사용자 입력이 상기 그루브 영역에 직교하면서 그루브 이탈 임계 경계부(groove escape threshold boundary)를 넘어 이동한 것에 응답하여, 상기 이동 사용자 입력을 상기 비-수정 형태로 다시 전달하는 단계를 수행하는 컴퓨터 실행가능 명령어를 더 포함하는
    컴퓨터 판독가능 메모리.
  3. 제 2 항에 있어서,
    상기 이동 사용자 입력이 상기 그루브 이탈 임계 경계부를 넘게 되는 지점으로부터 상기 이동 사용자 입력이 후속하여 제 2 프리폼 이동 임계 거리를 초과하여 제 2 그루브 영역 내로 이동한 것에 응답하여, 다시 수정된 사용자 입력을 전달하는 단계를 수행하는 컴퓨터 실행가능 명령어를 더 포함하며,
    상기 다시 수정된 사용자 입력은 상기 제 2 그루브 영역을 따라 상기 이동 사용자 입력을 중앙에 위치시키도록 수정되는
    컴퓨터 판독가능 메모리.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 이동 사용자 입력이 소정의 방향을 따라 지향됨을 판정하는 단계와,
    상기 이동 사용자 입력이 상기 방향을 따라 지향되었음이 판정되면, 상기 방향으로 정렬되며 상기 이동 사용자 입력의 위치에 위치하는 선형 영역으로서 상기 그루브 영역을 구축하는 단계
    를 수행하는 컴퓨터 실행가능 명령어를 더 포함하는
    컴퓨터 판독가능 메모리.
  6. 제 1 항에 있어서,
    상기 이동 사용자 입력이 사용자에 의해 종료되기 전에 활성화 임계치를 넘지 않은 것에 응답하여, 상기 원점에서의 활성화 이벤트를 전달하는 단계를 수행하는 컴퓨터 실행가능 명령어를 더 포함하는
    컴퓨터 판독가능 메모리.
  7. 제 6 항에 있어서,
    상기 이동 사용자 입력이 상기 사용자에 의해 종료되기 전에 활성화 임계치를 넘지 않은 것에 응답하여, 전달된 상기 이동 사용자 입력을 취소(undo)시키도록 하는 사용자 입력을 발생시키는 단계를 수행하는 컴퓨터 실행가능 명령어를 더 포함하는
    컴퓨터 판독가능 메모리.
  8. 제 1 항에 있어서,
    상기 수정된 사용자 입력을 전달하는 컴퓨터 실행가능 명령어는, 상기 이동 사용자 입력이 상기 원점으로부터 상기 프리폼 이동 임계 거리를 초과하여 이동하고, 후속하여 상기 이동 사용자 입력이 상기 그루브 영역 내로 이동한 것에만 응답하여 실행되고,
    상기 이동 사용자 입력의 바로 앞선 위치는 상기 그루브 영역의 방향을 따르는
    컴퓨터 판독가능 메모리.
  9. 컴퓨팅 장치 상에서, 상기 컴퓨팅 장치에 대한 사용자 입력을 해석하는 방법으로서,
    상기 컴퓨팅 장치에서, 상기 컴퓨팅 장치에 통신가능하게 연결된 사용자 인터페이스 입력 하드웨어를 통해 사용자에 의해 제공되는 이동 사용자 입력을 수신하는 단계- 상기 이동 사용자 입력은 원점으로부터 시작됨 -와,
    상기 이동 사용자 입력이 상기 원점으로부터 프리폼 이동 임계 거리 내에 머무르는 동안, 상기 이동 사용자 입력이 수신되는 대로, 상기 이동 사용자 입력을 비-수정 형태로 상기 컴퓨팅 장치 상에서 실행되는 프로세스로 전달하는 단계와,
    상기 이동 사용자 입력이 상기 원점으로부터 상기 프리폼 이동 임계 거리를 초과하여 그루브 영역 내로 이동한 것에 응답하여, 수정된 사용자 입력을 상기 컴퓨팅 장치 상에서 실행되는 상기 프로세스로 전달하는 단계를 포함하되,
    상기 수정된 사용자 입력은 상기 그루브 영역을 따라 상기 이동 사용자 입력을 중앙에 위치시키도록 수정되고,
    상기 그루브 영역은 상기 원점과 정렬되어 위치하는 사전-정의된 선형 영역인
    사용자 입력 해석 방법.
  10. 제 9 항에 있어서,
    상기 수정된 사용자 입력을 전달한 후, 후속하여 상기 이동 사용자 입력이 상기 그루브 영역에 직교하면서 그루브 이탈 임계 경계부를 넘어 이동한 것에 응답하여, 상기 이동 사용자 입력을 상기 비-수정 형태로 상기 컴퓨팅 장치 상에서 실행되는 상기 프로세스로 다시 전달하는 단계를 더 포함하는
    사용자 입력 해석 방법.
  11. 제 10 항에 있어서,
    상기 이동 사용자 입력이 상기 그루브 이탈 임계 경계부를 넘게 되는 지점으로부터 상기 이동 사용자 입력이 후속하여 제 2 프리폼 이동 임계 거리를 초과하여 제 2 그루브 영역 내로 이동한 것에 응답하여, 다시 수정된 사용자 입력을 상기 컴퓨팅 장치 상에서 실행되는 상기 프로세스로 다시 전달하는 단계를 더 포함하며,
    상기 다시 수정된 사용자 입력은 상기 제 2 그루브 영역을 따라 상기 이동 사용자 입력을 중앙에 위치시키도록 수정되는
    사용자 입력 해석 방법.
  12. 삭제
  13. 제 9 항에 있어서,
    상기 이동 사용자 입력이 소정의 방향을 따라 지향됨을 판정하는 단계와,
    상기 이동 사용자 입력이 상기 방향을 따라 지향되었음이 판정되면, 상기 방향으로 정렬되며 상기 이동 사용자 입력의 위치에 위치하는 선형 영역으로서 상기 그루브 영역을 구축하는 단계
    를 더 포함하는 사용자 입력 해석 방법.
  14. 제 9 항에 있어서,
    상기 이동 사용자 입력이 사용자에 의해 종료되기 전에 활성화 임계치를 넘지 않은 것에 응답하여, 상기 원점에서의 활성화 이벤트를 상기 컴퓨팅 장치 상에서 실행되는 상기 프로세스로 전달하는 단계를 더 포함하는
    사용자 입력 해석 방법.
  15. 제 14 항에 있어서,
    상기 이동 사용자 입력이 상기 사용자에 의해 종료되기 전에 활성화 임계치를 넘지 않은 것에 응답하여, 전달된 상기 이동 사용자 입력을 취소시키도록 하는 사용자 입력을 상기 컴퓨팅 장치 상에서 발생시키는 단계를 더 포함하는
    사용자 입력 해석 방법.
  16. 제 9 항에 있어서,
    상기 이동 사용자 입력이 상기 원점으로부터 상기 프리폼 이동 임계 거리를 초과하여 이동하고, 후속하여 상기 이동 사용자 입력이 상기 그루브 영역 내로 이동한 것에만 응답하여, 상기 수정된 사용자 입력을 상기 컴퓨팅 장치 상에서 실행되는 상기 프로세스로 전달하는 단계를 더 포함하되,
    상기 이동 사용자 입력의 바로 앞선 위치는 상기 그루브 영역의 방향을 따르는
    사용자 입력 해석 방법.
  17. 사용자 입력 주변장치, 하나 이상의 처리 장치, 및 컴퓨터-실행가능 명령어를 포함하는 하나 이상의 컴퓨터-판독가능 매체를 포함하는 컴퓨팅 장치로서,
    상기 컴퓨터-실행가능 명령어는, 상기 하나 이상의 처리 장치에 의해 실행될 때,
    원점으로부터 시작되는 이동 사용자 입력을 상기 사용자 입력 주변장치로부터 수신하는 단계와,
    상기 이동 사용자 입력이 상기 원점으로부터 프리폼 이동 임계 거리 내에 머무르는 동안, 상기 이동 사용자 입력이 상기 사용자 입력 주변장치로부터 수신되는 대로, 상기 이동 사용자 입력을 비-수정 형태로 전달하는 단계와,
    상기 이동 사용자 입력이 상기 원점으로부터 상기 프리폼 이동 임계 거리를 초과하여 그루브 영역 내로 이동한 것에 응답하여, 수정된 사용자 입력을 전달하는 단계를 수행하며,
    상기 수정된 사용자 입력은 상기 그루브 영역을 따라 상기 이동 사용자 입력을 중앙에 위치시키도록 수정되고,
    상기 그루브 영역은 상기 원점과 정렬되어 위치하는 사전-정의된 선형 영역인
    컴퓨팅 장치.
  18. 제 17 항에 있어서,
    상기 사용자 입력 주변장치는 터치스크린이고, 상기 이동 사용자 입력은 사용자가 상기 터치스크린 상에서 적어도 하나의 손가락을 누르고 드래그하는 경우 수신되는
    컴퓨팅 장치.
  19. 제 18 항에 있어서,
    상기 터치스크린은 상기 사용자가 상기 이동 사용자 입력을 입력할 수 있도록 하기 위해, 또한 그와 동시에 하나 이상의 그래픽 사용자 인터페이스 요소를 상기 사용자에게 디스플레이하기 위해 사용되고, 상기 하나 이상의 그래픽 사용자 요소의 디스플레이는 상기 컴퓨터 실행가능 명령어의 실행에 의해 전달된 상기 이동 사용자 입력에 의해 적어도 부분적으로 제어되는
    컴퓨팅 장치.
  20. 제 17 항에 있어서,
    상기 사용자 입력 주변장치는 비디오 카메라이고, 상기 이동 사용자 입력은 사용자가 상기 비디오 카메라에 의해 캡처되는 사전정의된 동작을 수행하는 경우 수신되는
    컴퓨팅 장치.
KR1020137013795A 2010-11-29 2011-11-09 그루브 메타포를 이용한 순간적 패닝 기법 KR101955731B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/955,034 US8773473B2 (en) 2010-11-29 2010-11-29 Instantaneous panning using a groove metaphor
US12/955,034 2010-11-29
PCT/US2011/059946 WO2012074701A2 (en) 2010-11-29 2011-11-09 Instantaneous panning using a groove metaphor

Publications (2)

Publication Number Publication Date
KR20130126625A KR20130126625A (ko) 2013-11-20
KR101955731B1 true KR101955731B1 (ko) 2019-03-07

Family

ID=46126322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137013795A KR101955731B1 (ko) 2010-11-29 2011-11-09 그루브 메타포를 이용한 순간적 패닝 기법

Country Status (9)

Country Link
US (1) US8773473B2 (ko)
EP (1) EP2646892B1 (ko)
JP (1) JP5909240B2 (ko)
KR (1) KR101955731B1 (ko)
CN (1) CN102520851B (ko)
AU (1) AU2011337066B2 (ko)
CA (1) CA2816600C (ko)
TW (1) TW201237672A (ko)
WO (1) WO2012074701A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101892567B1 (ko) * 2012-02-24 2018-08-28 삼성전자 주식회사 단말기에서 콘텐츠 이동 방법 및 장치
US9335913B2 (en) * 2012-11-12 2016-05-10 Microsoft Technology Licensing, Llc Cross slide gesture
JP6575081B2 (ja) * 2015-03-13 2019-09-18 富士ゼロックス株式会社 表示装置、画像処理装置及びプログラム
KR20180020517A (ko) * 2016-08-18 2018-02-28 엘지전자 주식회사 이동 단말기
JP2018085128A (ja) * 2018-01-04 2018-05-31 株式会社東芝 情報処理装置及びグラフ表示方法
US11182542B2 (en) * 2018-10-29 2021-11-23 Microsoft Technology Licensing, Llc Exposing annotations in a document

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018357A (ja) * 2003-06-25 2005-01-20 Nec Corp ポインティングデバイス制御システムおよび電子機器
JP2009245038A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd 情報処理装置とその表示方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0762821B2 (ja) 1986-05-30 1995-07-05 株式会社日立製作所 タツチパネル入力装置
EP2256605B1 (en) 1998-01-26 2017-12-06 Apple Inc. Method and apparatus for integrating manual input
JP3792920B2 (ja) 1998-12-25 2006-07-05 株式会社東海理化電機製作所 タッチ操作入力装置
JP3955718B2 (ja) * 2000-07-07 2007-08-08 アルパイン株式会社 ナビゲーション装置
AUPR667801A0 (en) * 2001-07-27 2001-08-23 Honeywell Limited A control system for allowing an operator to proportionally control a work piece
JP2005044036A (ja) * 2003-07-24 2005-02-17 Ricoh Co Ltd スクロール制御方法、その方法をコンピュータに実行させるプログラム
CN1702605A (zh) * 2004-04-05 2005-11-30 伯斯有限公司 接收用户控制器
JP2007535774A (ja) 2004-04-30 2007-12-06 ヒルクレスト・ラボラトリーズ・インコーポレイテッド 自由空間ポインティングデバイスにおける意図的でない動きを除去するための方法およびデバイス
US8230358B1 (en) * 2004-06-22 2012-07-24 Apple Inc. Defining motion in a computer system with a graphical user interface
US7284192B2 (en) * 2004-06-24 2007-10-16 Avaya Technology Corp. Architecture for ink annotations on web documents
TWI248576B (en) 2004-07-05 2006-02-01 Elan Microelectronics Corp Method for controlling rolling of scroll bar on a touch panel
DE102005011356B3 (de) * 2005-03-04 2006-11-02 Hannes Perkunder Eingabevorrichtung mit Drehregler und Eingabeverfahren sowie ein entsprechendes computerlesbares Speichermedium
US7577925B2 (en) * 2005-04-08 2009-08-18 Microsoft Corporation Processing for distinguishing pen gestures and dynamic self-calibration of pen-based computing systems
US8300062B2 (en) * 2005-04-18 2012-10-30 Steve Tsang Method, system and computer program for using a suggestive modeling interface
JP4832826B2 (ja) * 2005-07-26 2011-12-07 任天堂株式会社 オブジェクト制御プログラムおよび情報処理装置
JP2007108257A (ja) * 2005-10-11 2007-04-26 Alpine Electronics Inc 地図移動装置
US7696998B2 (en) * 2006-02-21 2010-04-13 Chrysler Group Llc Pen-based 3D drawing system with 3D orthographic plane or orthographic ruled surface drawing
US8665225B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
WO2009109014A1 (en) 2008-03-05 2009-09-11 Rpo Pty Limited Methods for operation of a touch input device
US8645857B2 (en) * 2008-03-26 2014-02-04 Intellectual Ventures Fund 83 Llc Method for controlling information display
JP2009284468A (ja) * 2008-04-23 2009-12-03 Sharp Corp 携帯情報端末、コンピュータ読取可能なプログラムおよび記録媒体
CN101587419B (zh) * 2008-05-21 2012-08-29 鸿富锦精密工业(深圳)有限公司 控制触摸屏图标显示的方法
US10705701B2 (en) 2009-03-16 2020-07-07 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
KR101844366B1 (ko) * 2009-03-27 2018-04-02 삼성전자 주식회사 터치 제스처 인식 장치 및 방법
KR20100114572A (ko) 2009-04-16 2010-10-26 삼성전자주식회사 터치스크린을 구비한 단말기의 컨텐츠 표시 방법 및 장치
TW201133298A (en) * 2010-03-25 2011-10-01 Novatek Microelectronics Corp Touch sensing method and system using the same
US9098182B2 (en) * 2010-07-30 2015-08-04 Apple Inc. Device, method, and graphical user interface for copying user interface objects between content regions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018357A (ja) * 2003-06-25 2005-01-20 Nec Corp ポインティングデバイス制御システムおよび電子機器
JP2009245038A (ja) * 2008-03-31 2009-10-22 Hitachi Ltd 情報処理装置とその表示方法

Also Published As

Publication number Publication date
US8773473B2 (en) 2014-07-08
CN102520851A (zh) 2012-06-27
CA2816600C (en) 2018-10-02
WO2012074701A3 (en) 2012-07-19
JP2013544415A (ja) 2013-12-12
EP2646892A2 (en) 2013-10-09
CN102520851B (zh) 2015-06-17
EP2646892A4 (en) 2016-08-31
AU2011337066A1 (en) 2013-05-30
JP5909240B2 (ja) 2016-04-26
AU2011337066B2 (en) 2016-05-12
WO2012074701A2 (en) 2012-06-07
EP2646892B1 (en) 2018-05-02
US20120133680A1 (en) 2012-05-31
TW201237672A (en) 2012-09-16
KR20130126625A (ko) 2013-11-20
CA2816600A1 (en) 2012-06-07

Similar Documents

Publication Publication Date Title
KR101955731B1 (ko) 그루브 메타포를 이용한 순간적 패닝 기법
EP2482179B1 (en) Apparatus and method for controlling screen display in touch screen terminal
US9182838B2 (en) Depth camera-based relative gesture detection
EP3304263B1 (en) Devices and methods for processing touch inputs over multiple regions of a touch-sensitive surface
US9836146B2 (en) Method of controlling virtual object or view point on two dimensional interactive display
US9529527B2 (en) Information processing apparatus and control method, and recording medium
EP2917818B1 (en) Mutli-stage gesture
EP2365426B1 (en) Display device and screen display method
US20120092381A1 (en) Snapping User Interface Elements Based On Touch Input
US20140298273A1 (en) Systems and Methods for Implementing Three-Dimensional (3D) Gesture Based Graphical User Interfaces (GUI) that Incorporate Gesture Reactive Interface Objects
JPH0644001A (ja) 表示制御装置及び表示制御方法
EP3096216B1 (en) Information processing device, information processing program, and information processing method
WO2014041436A2 (en) Processing user input pertaining to content movement
US10521101B2 (en) Scroll mode for touch/pointing control
US20140149923A1 (en) Information processing apparatus, display apparatus, method for controlling information processing apparatus, and program
US10534527B2 (en) Relative pen scroll
TW201235884A (en) Electronic apparatus with touch screen and associated displaying control method
US10402080B2 (en) Information processing apparatus recognizing instruction by touch input, control method thereof, and storage medium
KR20140080220A (ko) 컨텐츠를 확대하기 위한 방법 및 그 전자 장치
JP5814147B2 (ja) 入力装置、入力制御方法、および入力制御プログラム
JP5924555B2 (ja) オブジェクトの停止位置制御方法、操作表示装置およびプログラム
CN103927089A (zh) 控制交互用户界面对象的方法和装置
US10318047B2 (en) User interface for electronic device, input processing method, and electronic device
US20140198056A1 (en) Digital image processing method and computing device thereof
US20200341607A1 (en) Scrolling interface control for computer display

Legal Events

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