KR20080098677A - 커서 제어 - Google Patents

커서 제어 Download PDF

Info

Publication number
KR20080098677A
KR20080098677A KR1020087023672A KR20087023672A KR20080098677A KR 20080098677 A KR20080098677 A KR 20080098677A KR 1020087023672 A KR1020087023672 A KR 1020087023672A KR 20087023672 A KR20087023672 A KR 20087023672A KR 20080098677 A KR20080098677 A KR 20080098677A
Authority
KR
South Korea
Prior art keywords
target position
cursor
input
direction input
current position
Prior art date
Application number
KR1020087023672A
Other languages
English (en)
Other versions
KR101100290B1 (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 KR20080098677A publication Critical patent/KR20080098677A/ko
Application granted granted Critical
Publication of KR101100290B1 publication Critical patent/KR101100290B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom

Landscapes

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

Abstract

(i) 디스플레이 안에서 커서 위치를 제어하기 위한 복수의 가능한 방향 입력 명령들 중 하나를 인지하는 단계; (ii) 인지된 방향 입력이 프리-로밍 모드 하의 입력으로 해석되어야 하는지, 어트랙션 모드 하의 입력으로 해석되어야 하는지 여부를 판단하는 단계; (iii) 인지된 방향 입력이 프리-로밍 모드 하의 입력으로 해석되면, 인지된 방향 입력에 의해 정해진 방위상에서 현 위치로부터 소정 거리에 있는 목표 위치를 결정하는 단계; (iv) 인지된 방향 입력이 어트랙션 모드 하의 입력으로 해석되면, 목표 위치를 한 선택가능 아이템과 부합되는 것으로 결정하는 단계; (v) 일련의 스텝들에 걸쳐 현 위치로부터 결정된 목표 위치로 커서를 이동하는 단계; 및 (vi) 목표 위치를 현 위치로 설정하는 단계를 포함하는 방법.

Description

커서 제어 {Cursor control}
본 발명의 실시예들은 커서 제어에 관한 것이다. 더 상세히 말해, 이들은 모바일 기기에서의 개선된 커서 제어에 대한 것이다.
모바일 기기들은 데스크탑 컴퓨터와는 달리 보다 작은 스크린과 보다 제한된 입력 기능들을 가진다. 모바일 기기들은 보통 커서의 방향 제어에 있어 덜 친숙하거나 더많이 제한된 입력 장치를 포함하고 있다. 예를 들어, 조이스틱은 통상적으로 사용자에게 네 개의 상이한 방향 (나침반 방위에 따른 N, W, S 및 E) 아니면 여덟 개의 방향 (N, NW, W, SW, S, SE, E, NE)으로 커서를 움직일 수 있게 한다. 이 장치들은 한 손의 엄지 손가락을 가지고 작동되도록 디자인되나, 해부학적 특성으로 인해 엄지 손가락을 부드럽게 움직이는 것이 어렵고, 이러한 것은 입력 장치의 각 동작에 따른 커서 이동을 충동적인 (impulsive) 것이 되게 하고 또 예측불가한 규모가 되게 한다. 이는 커서로 하여금 어떤 원하는 선택가능 아이템을 예측 불가한 방식으로 지나치거나 (overshoot, 오버슛), 못미치게 (undershoot, 언더슛)할 수 있다. 커서를 특정 선택가능 아이템 위에 놓는 일은, 커서의 충동적 점프 (impulsive jumping)로 인해 어려운 작업이 될 수가 있다. 오버슛팅 (overshooting)은, 사용자가 원하는 선택가능 아이템을 한 방향으로부터 지나치고 그런 다음 다른 방향으로부터도 지나치게 되어 원하는 선택가능 아이템 주위에서 커서가 변동하게 되는 결과를 가져올 수 있고, 언더슛팅 (undershooting)은 헛되이 많은 회수의 방향 입력 명령들이 필요로 되게 하는 결과를 가져올 수 있다.
커서의 그러한 충동적이고도 예측 불가한 움직임에서 비롯되는 문제가 Symbian Series 60 운용 시스템에서 다뤄져 왔다. 이 시스템에서는, 커서가 사용자의 완벽한 통제에 따라 디스플레이를 이동하게 될 수 있는 'free-roaming (프리-로밍)' 모드를 가질 수 없고, 대신 방향성 사용자 입력 명령들에 응하여 단지 커서가 한 선택가능 아이템으로부터 바로 다른 선택가능 아이템으로 점프하게 된다. 이 메커니즘은 '디자인 된' 레이아웃을 갖는 메뉴 안의 아이콘들을 선택하는 데에는 적합할 수 있겠지만, 텍스트 북 내 문자나 HTML 페이지 내 하이퍼링크 같이 디스플레이 내 한 임의의 선택가능 아이템으로 네비게이팅 (navigating) 하는 것에는 별로 적합하지 못하다.
한 특정 선택가능 아이템 위에 커서를 용이하게 두는 것을 돕는 직관적 방법을 제공함이 바람직할 것이다. 그것이 모바일 어플리케이션들의 이용능력을 개선시키게 될 것이다.
본 발명의 일 실시예에 따라 제공되는 방법은,
(i) 디스플레이 안에서 커서 위치를 제어하기 위한 복수의 가능한 방향 입력 명령들 중 하나를 인식하는 단계;
(ii) 현 위치에서 목표 위치까지 커서 위치의 버추얼 점프를 결정하고, 상기 목표 위치는:
a) 인식된 방향 입력에 의해 판단된 방위상에서 현 위치로부터 소정 거리상의 제1목표 위치이거나
b) 한 선택가능 아이템과 부합되는 제2목표 위치인 단계;
(iii) 일련의 스텝들에 걸쳐 상기 커서를 상기 현 위치로부터 상기 목표 위치로 이동하는 단계; 및
(iv) 상기 목표 위치를 현 위치로 설정하는 단계를 포함한다.
본 발명의 다른 실시예에 따른 기기는,
커서 및, 상기 커서를 이용해 선택가능한 하나 이상의 아이템들을 표시하기 위한 디스플레이;
상기 디스플레이 상의 커서 위치를 제어하는 복수의 가능한 방향 입력 명령들을 제공하는 사용자 입력 장치;
현 위치에서 목표 위치로 상기 커서의 위치의 버추얼 점프를 결정하고; 목표 위치가, a) 방향 입력들 중 선택된 것에 의해 정해진 방위상에서 상기 현 위치로부터 소정 거리상의 제1목표 위치인지, b) 한 선택가능 아이템과 부합되는 제2목표 위치인지를 판단하고; 일련의 스텝들에 걸쳐 현 위치에서 상기 목표 위치로 커서 이동을 제어하도록 하는 프로세서를 포함한다.
본 발명의 또 다른 실시예에 따라 제공되는 방법은:
(i) 디스플레이 상에서 커서의 위치를 제어하기 위한 복수의 가능한 방향 입력 명령들 중 하나를 인지하는 단계;
(ii) 인지된 방향 입력이 프리-로밍 (free-roaming) 모드 하의 입력으로서 해석되어야 하는지, 어트랙션 (attraction) 모드 하의 입력으로서 해석되어야 하는지 여부를 판단하는 단계;
(iii) 상기 인지된 방향 입력이 프리=로밍 모드 하의 입력이라고 해석되는 경우, 상기 인지된 방향 입력에 의해 정해진 방향으로 현 위치로부터 소정 거리에 있는 목표 위치를 정하는 단계;
(iv) 상기 인지된 방향 입력이 어트랙션 모드 하의 입력이라고 해석되는 경우, 한 선택가능 아이템에 부합되는 것으로 목표 위치를 정하는 단계;
(v) 일련의 스텝들에 걸쳐 현 위치로부터 상기 정해진 목표 위치로 커서를 이동하는 단계; 및
(vi) 목표 위치를 현 위치로 설정하는 단계를 포함한다.
본 발명의 또 다른 실시예에 따라 제공되는 컴퓨터 프로그램은:
인지된 방향 입력이 프리-로밍 모드 하의 입력으로 해석되어야 하는지 어트랙션 모드 하의 입력으로 해석되어야 하는지 여부를 판단하고,
상기 인지된 방향 입력이 프리-로밍 모드 하의 입력이라고 해석되면, 그 인지된 방향 입력에 의해 결정된 방위 상에서 현 위치로부터 소정 거리에 있는 목표 위치를 정하고,
상기 인지된 방향 입력이 어트랙션 모드 하의 입력이라고 해석되면, 한 선택가능 아이템에 부합하는 것으로 상기 목표 위치를 정하고,
현 위치에서 상기 정해진 목표 위치로 커서를 이동시키도록 운용된다.
본 발명에 대한 더 나은 이해를 위해, 이제부터 첨부된 도면을 다만 예로서 참조하게 될 것이다.
도 1은 한 방향 입력 명령에 응하여 커서가 어떻게 이동하는지를 정하기 위한 알고리즘의 방법을 도시한 것이다.
도 2는 포인트 서치 프로세스를 도시한 것이다.
도 3은 영역 서치 프로세스를 도시한 것이다.
도 4는 커서를 이동시키는 방향 입력 명령들을 수신하는 전자 장치를 개략적으로 도시한 것이다.
도 5는 그래픽 사용자 인터페이스 안에서의 커서 이동을 도시한 것이다.
도 6은 한 방향 입력 명령에 따라 만들어진 오프셋 또는 점프, 현 커서 위치, 방향 입력 명령의 결과로서 추정된 커서 목표 위치, 및 가상의 중간 위치들을 도시한 것이다.
도 4는 디스플레이(20), 메모리(12), 프로세서(18) 및 사용자 입력 장치(22)를 포함하는 전자 기기(10)를 개략적으로 도시한 것이다. 이하의 단락들에서는 이 기기 동작을 설명하기 위해 필요한 수만큼의 구성요소들만이 기술될 것이다. 기기(10)가 추가 구성요소들 및/또는 다른 대체적 구성요소들을 포함할 수 있다는 것을 알아야 한다. 전자 기기(10)는 모바일 기기일 수 있으며, 손으로 휴대할 수 있는 사이즈일 수 있다.
프로세서(18)는 메모리(12)로부터/로 읽기/쓰기 하도록 구성된다. 프로세서는 디스플레이(20)로 디스플레이 제어 신호들(19)을 제공하고, 사용자 입력부(22)로부터 방향 입력 명령들(23)을 받는다.
디스플레이(20)는 GUI(2)로 도 5에 개략적으로 도시한 것 같은 것을 제공한다. 디스플레이(20)는 커서(6) 및, 커서(6)를 이용해 선택할 수 있는 하나 이상의 아이템들(4)을 디스플레이한다. 아이템들은 버튼, 아이콘, 텍스트나 텍스트 문자, 혹은 그 유사한 것들일 수 있다.
사용자 입력 장치(22)는 복수의 가능한 방향 입력 명령들이 사용자에 의해 생성되게 만드는 방향 컨트롤러이다. 방향 입력 명령들(23)이 디스플레이(20) 상에서의 커서(6)의 위치 및 이동을 통제한다. 사용자 입력 장치(22)는 키들, 롤러 볼, 조이스틱 혹은 그 유사한 것의 배열일 수 있다. 조이스틱은 보통 사용자로 하여금 4 개의 별개 방향들 (나침반 방위에 따른 N, W, S 및 E)이나 8 개의 별개 방향들 (N, NW, W, SW, S, SE, E, NE)로 커서를 움직일 수 있게 한다.
메모리(12)는 컴퓨터 프로그램(14) 및, 방향 입력 명령들의 히스토리를 기록하는 데이터 구조 (data structure)를 저장한다.
컴퓨터 프로그램 명령들(14)은 프로세서(18) 안에 로드될 때 전자 기기의 동작을 제어한다. 컴퓨터 프로그램 명령들(14)은 전자 기기(10)로 하여금 도 1, 2, 및 3에 도시된 방법들을 수행하고 커서 컨트롤러로서 동작하게 하는 로직 및 루틴들을 제공한다.
컴퓨터 프로그램 명령들(14)은 전자기 캐리어 신호를 통해 전자 기기(10)에 도달하거나, 컴퓨터 프로그램 제품, 메모리 장치 또는, CD-ROM이나 DVD 같은 기록 매체 등의 물리적 개체(13)로부터 복제될 수 있다.
컴퓨터 프로그램(16)의 제어하에서 프로세서(18)는 커서 컨트롤러로서 동작한다. 커서 컨트롤러(18)는 입력 방향 명령(23)이 '프리-로밍 모드 (free-roaming mode)'로 해석되어야 하는지 '어트랙션 모드 (attraction mode)'로 해석되어야 하는지 여부를 인텔리전트하게 판단한다.
'프리-로밍' 모드에서 커서(6)는 GUI(2) 안에서 방향 입력 명령들(23)의 온전한 제어 상의 방향 또는 방위로 이동한다. 이것은 사용자로 하여금 커서(6)를 GUI(2)의 임의 위치를 향해 이동할 수 있게 하며, 그 위치는 어떤 선택가능 아이템(4)에 부합할 수도 부합 하지 않을 수도 있다. 프리-로밍 모드 하의 방향 입력 명령(23)은 따라서 그 명령에 응하는 커서(6)의 이동 방향을 전적으로 특정한다. 이 모드 상에서 방향 입력 명령(23)은, 보통 커서가 그 특정 방향 입력 명령에 의해 정해진 방위상에서 현 위치로부터 소정의 고정 오프셋(11)만큼 이동하는 결과를 가져올 것이다. 소정의 오프셋(11) 크기는 각 방위당 어떤 값으로 고정되며, 그것은 모든 방위들에서 동일할 수도 있다.
'어트랙션 모드'에서, 커서(6)는 타깃 선택가능 아이템(4) 위에 놓이도록 이동한다. 부분적으로 입력 명령 명령(23)을 이용해 가능한 선택가능 아이템들로부터 그 타깃 선택가능 아이템이 정해질 수 있다. 그러나, 입력 방향 명령(23)은 그 명령에 응하는 커서(6)의 이동 방향을 전적으로 특정하지 못하고, 대신 커서(6)가 타깃 선택가능 아이템(4)으로 끌어 당겨진다. 이것은 사용자가 커서(6)를 한 선택 가능 아이템(4) 위에 쉽게 놓도록 도와 전자 기기(10)의 이용성을 향상시킨다. 방향 입력 명령(23)은 이 모드 하에서 보통 커서(6)가 한 선택가능 아이템(4) 위에 바로 놓이도록 이동하는 결과를 가져올 것이다. 커서(6)가 이동하는 거리는 가변적일 수 있고, 커서가 이동하는 방위는 그 이동을 야기한 특정 방향 입령 명령(23)에 의해 영향을 받을 수 있으나 그것에 따라 결정되는 것은 아니다.
도 6을 참조하면, 세 번의 반복된 'N' 입력 방향 명령들에 응하는 커서(6)의 움직임이 점선들로서 그려지고 있다. 커서(6)는 세 번의 점프 시퀀스들인 A, B, C를 거쳐 선택가능 아이템(4)으로 이동한다. 점프 시퀀스 A 및 B는 '프리-로밍' 모드 하에서 일어난다. 점프 A 및 B의 크기는 동일하며 그 점프들의 방위는 입력 방향 명령(23)에 의해 특정된다. 점프 시퀀스 C는 '어트랙션 모드' 하에서 일어난다. 점프 C의 크기는 A 및 B의 크기와 무관하며, 점프의 방위는 그 점프에 대한 해당 입력 방향 명령(23)에 의해 정해지지 않는다.
다른 시작 포인트로부터, 세 번의 반복되는 입력 방향 명령들(23)에 반응한 커서(6)의 이동 역시 점선들로서 나타내어진다. 커서는 세 번의 점프 시퀀스들인 A', B', C'를 통해 GUI(2) 상의 한 임의 위치로 이동한다. 점프 시퀀스들 A', B' 및 C'은 모두 '프리-로밍' 모드 하에서 일어난다. 점프 A', B', 및 C'의 크기는 A 및 B와 동일하고, 그 점프들의 방위는 입력 방향 명령들(23)에 의해 특정된다. 점프 시퀀스 C'는 '어트랙션 모드'가 아닌 '프리 로밍' 모드하에서 일어나는데, 그 이유는, 가령, A', B'의 궤적이 A, B와 다르기 때문이고, 특히, 점프 B 및 B'들의 목표 지점이 상이한 자리에 있기 때문이다. 그러나, 특정 점프가 '프리 로밍' 모 드하에서 일어나는지 '어트랙션' 모드 하에서 일어나는지 여부가 반드시 결정론적인 것은 아니며, 결정 프로세스에 도입되는 랜덤 요소가 있을 수 있다.
입력 방향 명령(23)에 응한 커서의 현 위치로부터 목표 위치로의 이동은 어느 모드들에서나 완만하고 연속적이다. 방향 입력 명령(23)이 인지된 때, 커서(6)의 현 위치(5, 5')로부터 정해진 목표 포인트(7,7')까지의 궤적이 결정되고, 그런 다음 커서(6)는 소정 시간 인터벌 동안 일련의 이산 스텝들을 거쳐 궤적 C, C'를 따라 이동하게 된다. 그 이산 스텝들은 보통 복수 개의 픽셀 크기로 된다. 이산 스텝들 간 천이는 순간적이어서 커서(6)가 데스크 탑 컴퓨터 마우스에 의해 생성된 움직임과 유사한 연속 방식으로 이동하는 것으로 보이게 된다. 또, 커서가 궤적을 따라 이동하는 속도는 보통 일정하다.
커서 컨트롤러로서의 프로세서(18)는 사용자 입력 장치(22)로부터 받은 방향 명령(23)을 인지하고, 이들을 데이터 구조(16) 상에 저장한다. 그것은 사용자 입력 장치(22)로부터 방향 입력 명령(23)을 수신시, 그 인지된 입력 명령(23)이 프리-로밍 모드 하에서의 커서 점프를 명하는 것으로 해석되어야 하는지, 어트랙션 모드 하에서의 커서 점프를 명하는 것으로 해석되어야 하는지 여부를 결정한다. 커서 컨트롤러는, 도 1에 도시된 것과 같이 사용자가 특정 선택가능 아이템으로 네비게이팅 하고자 했는지, 아니면 특정 선택가능 아이템으로의 네비게이팅을 의도하지 않았는지 여부의 판단을 시도하는 어떤 결정 알고리즘에 기초해, 어느 모드를 사용할지를 판단한다.
인지된 방향 입력 명령(23)이 프리-로밍 모드 하에서의 입력으로 해석되면, 커서 컨트롤러(18)는 그 인지된 방향 입력 명령(23)에 의해 정해진 방위상에서 현 위치(5')로부터 소정 거리에 있는 목표 위치(7')를 판단한다.
인지된 방향 입력 명령(23)이 어트랙션 모드 하에서의 입력이라고 해석되면, 커서 컨트롤러(18)는 선택가능 아이템(4)에 부합되는 것으로 목표 위치(7)를 정한다.
따라서 사용자는 '디자인된' 소정 위치를 갖는 한 선택가능 아이템 (가령, 메뉴 상의 한 아이콘)으로 용이하게 네비게이팅 할 수 있게 되거나, 텍스트 블록 내 한 문자나 HTML 페이지 상의 하이퍼링크 같은 임의의 위치를 갖는 선택가능 아이템으로 쉽게 네비게이팅할 수 있게 된다. 커서(6)는 GUI(2) 상에서 매끄럽게 이동하며 인텔리전트하게 선택가능 아이템들을 가리킨다.
도 1은 커서(6)가 어떤 방향 입력 명령(23)에 따라 어떻게 이동하는지를 결정하는 방법 또는 알고리즘을 도시한 것이다.
30 단계에서, 디스플레이(20) 상에서 커서(6)의 위치를 제어하기 위한 복수의 가능한 방향 입력 명령들(23) 중 하나가 인지된다.
커서의 변동하는 움직임이 검출되면 (31 단계), 소정 오프셋(11)이 감축되고, 사용된 방향 입력 명령들(23)의 히스토리 및 타이밍을 기록하는 데이터 구조(16)가 업데이트 된다(40 단계). '플리핑 (flipping)' 혹은 오실레이팅 (변동) 플래그 F가 세팅되며 이것은 37 단계에서 사용된다. 이 단계들이 결합한 것이 사용자로 하여금, 보다 쉽게 커서(6)를 작은 선택가능 아이템들에 놓을 수 있게 한다.
커서의 변동하는 움직임이 31 단계에서 검출되지 않으면, 사용된 방향 입력 명령들(23)의 히스토리 및 타이밍들을 기록한 데이터 구조(16)가 업데이트 된다(40 단계).
커서의 변동하는 움직임은, 짧은 시간 간격으로 사용자 입력 명령들이 반복적으로 반전되는 데서 기인하며, 사용자가 계속해서 원하는 위치를 지나치고 있다 (overshooting)는 것을 가리킨다. 방향 입력 명령들(23)의 히스토리 및 타이밍들을 기록하는 데이터 구조(16)는, 사용자 입력 명령들의 연속적 반대 명령에 반응한 커서(6)의 변동하는 움직임을 검출하기 위해 사용된다. 변동은, 가령, 1 초 또는 2초 등의 소정 주기 안에서 두 번의 방향 반전이 존재하는 경우 검출될 수 있다.
그런 다음 32 단계에서, 인지된 방향 입력 명령(23)이 프리-로밍 모드 하에서의 커서 위치의 점프를 명하는 것으로 해석되는 디폴트 컨디션이 전제된다. 추정된 목표 위치(9)가 도 6에 도시된 것과 같이 현 커서 위치(5, 5')로부터의 소정 오프셋(11)으로 생성된다. 현 위치에 대한 오프셋(11)의 방위는 인지된 방향 입력 명령에 의해 특정된다. 오프셋(11)의 거리 (크기)는 모든 방위들에 대해 일정하거나, 각 방위에 대해 일정할 수 있다. 그것은 또한 31' 단계에서 조정되었을 수 있다.
다음으로 34 단계에서, GUI(2) 상에서 추정 목표 위치(9)를 향한 커서(6)의 이동이 개시된다. 이 단계는 이 국면에서 선택사항으로, 여기 말고 46 단계 직전에 일어날 수도 있다.
다음 36, 38 단계에서, 커서 컨트롤러(18)는, 인지된 방향 입력 명령(23)을 디폴트인 프리-로밍 모드가 아닌 어트랙션 모드 하에서의 커서 위치 점프를 명하는 것으로 해석해야 하는지 여부를 판단한다.
36 단계에서, 포인트 서치가 사용되어, 사용자가 네비게이팅 하고자 시도할 수 있는 로컬 선택가능 아이템(들)(4)을 찾고, 그 찾은 후보자들에서 최선의 후보를 타깃 선택가능 아이템으로 선택한다.
36 단계에서 이뤄지는 포인트 서치 프로세스는 도 2에 보다 상세히 도시된다. 도 6에 도시된 것과 같이 N 개의 가상의 중간 위치들(3)이 50 단계에서 생성된다. N은 보통, 2나 3과 같이, 계산상의 부담을 줄일 적절히 작은 값에 해당한다.
중간 위치들(3)은 랜덤 컴포넌트를 통해 생성될 수 있다. 예를 들어, 추정 목표 위치(9)에 도달하기 위한 커서(6)의 궤적을 결정하고, 그 궤적 상의 한 포인트를 무작위로 선택한 후, 그 선택된 포인트로 랜덤 오프셋 (분지)을 인가해 가상의 중간 위치(3)를 만듦으로써 가상의 중간 위치(3)가 생성될 수 있다. 최대 사이즈의 랜덤 오프셋 상에 소정 바운드들이 배치될 수 있다. 그리하여, 가상의 중간 위치들(3)이 도 6에 도시된 것과 같이 추정 목표 위치(9)를 '따라간다 (trail)'.
각각의 가상 중간 위치 (VIP, virtual intermediate position)를 순환하는 메인 루프는 52 단계에서 시작되고, 63 단계에서 재입력 (re-enter)되며 62 단계에서 빠져나온다.
54 단계에서, 현재의 가상 중간 위치 및 선택가능 서치 아이템의 위치가 함께 위치하는지 여부를 판단하기 위한 서치가 수행된다.
56 단계에서, 그 서치가 긍정적이면, 커서의 추정 위치가 (도 1 및 2의) 42 단계에서 변경되어 선택가능 아이템에 부합(일치)되도록 된다. 그 가상 중간 위치에 대한 서치가 부정적이면, 62 단계로 간다. 여러 선택가능 아이템들이 발견될 때, '최선의' 후보자가 선택될 수 있다. 최선의 선택가능 아이템이란, 가령, 현 위치나, 현재 선택된 아이템에 가장 가까이 위치한 선택가능 아이템을 말한다. 그렇게 가장 가까운 선택가능 아이템을 결정하기 위해 다른 알고리즘들이 사용될 수도 있다.
가상의 중간 위치들에서 어떠한 선택가능 아이템도 발견되지 않아서 62 단계를 통해 루프에서 벗어나면, 이 방법은 (도 1의) 37 단계로 이동한다.
37 단계에서, 플리핑 플래그 F가 세팅되지 않았으면, 이 방법은 46 단계로 이동한다. 플리핑 플래그 F가 세팅되어 있으면, 그것이 세팅 해제되고 이 방법은 46 단계로 이동한다.
38 단계에서, 도 3에 보다 자세히 도시된 것과 같은 영역 서치가 수행된다.
80 단계에서, 현 위치(5)로부터 추정 목표 위치(9)까지 라인을 그림으로써 이동 방향 벡터 v가 만들어진다.
그런 다음 82 단계에서, 그 벡터 v를 따라 대칭적으로 서치 영역이 생성된다. 서치 영역은 현 위치로부터 그 벡터를 따라 추정 목표 위치(9) 너머로 확장된다. 서치 정도는 미리 규정된 최대치를 가질 수 있다.
다음으로 84 단계에서, 생성된 서치 영역 안에서 선택가능 아이템들에 대한 서치가 수행된다. 서치는 현 위치나 추정 목표 위치 같은, 서치 영역 내 소정 위 치에서 시작하고, 거기서부터 한 선택가능 아이템이 발견되거나 서치 영역을 모두 다 뒤질 때까지 전개된다. 86 단계에서, 서치를 완료한 후 찾은 선택가능 아이템들의 개수가 0이면, 이 방법은 (도 1의) 48 단계로 분기한다. 서치 영역 전부가 서치될 수 있고, (존재하는 경우) 발견된 후보 선택가능 아이템들은 최선의 후보 선택가능 아이템을 찾기 위해 처리될 수 있다(88 단계). 최선의 선택가능 아이템은, 가령, 현위치나 현재 선택된 아이템에 가장 가까이 위치되어 있는 선택가능 아이템일 수 있다. 가장 가까운 선택가능 아이템을 판단하기 위해 다른 알고리즘들도 사용될 수 있다. 그리고 나서 이 방법은 (도 1의) 42 단계로 진행한다.
도 1로 다시 돌아가서, 36 또는 38 단계들이 타깃 선택가능 아이템을 식별한 경우, 추정 목표 위치는 그 타깃 선택가능 아이템의 위치와 부합 (일치)하도록 변경된다(42 단계).
42 단계 후, 프로세스는 현재 추정 목표 위치로의 계속적인 커서(6) 이동이, 그 추정 목표 위치에 도달할 때까지 지속 되는 46 단계로 이동한다.
그런 다음 48 단계에서, 그 추정 목표 위치가 현 위치로 세팅되고, 새 방향 입력 명령이 수신될 때까지 프로세스가 종료된다.
이제 새로운 현 위치가 디스플레이의 중심에 자리하도록, GUI(2)의 콘텐츠가 자동으로 스크롤 될 수 있다. 디스플레이보다 작은 가공의 직사각형이 정의될 수 있고, 커서(6)가 그 직사각형 안에 머물도록 스크롤링이 수행될 수 있다.
본 발명의 실시예들이 앞에서 다양한 예들을 참조해 기술되었지만, 청구된 본 발명의 범위로부터 벗어나지 않고 그 주어진 예들에 대한 변경이 가해질 수 있 다는 것을 알아야 한다. 예를 들어, 개시된 실시예에서, 방향 입력 명령(23)에 응하여 커서(6)가 어떻게 이동되는지를 결정하는 방법 또는 알고리즘은, 포인트 서치 (point search)와 영역 서치 (area search) 둘 모두를 포함한다. 영역 서치는 알려진 위치의 로컬 선택가능 아이템들을 찾기 위해 활용되는 반면, 포인트 서치는 알려져 있거나 알려져 있지 않은 위치의 로컬 선택가능 아이템들을 찾는데 사용될 수 있다. 영역 서치가 보다 효율적인 서치이다. 개시된 실시예에서, 영역 서치와 포인트 서치 둘 모두는, 선택가능 아이템들 중 일부는 알려진 위치에 있는 것들이고 나머지 선택가능 아이템들은 알려지지 않은 위치에 있는 것들인 이 예에서처럼 사용된다. 상황에 따라 포인트 서치만을 사용한 방법, 혹은 영역 서치만을 사용한 방법을 구현하는 것 역시 가능하다.
본 발명의 실시예들에서 사용될 수 있는 부가적인 특징이 특수 프리-로밍 사용자 입력의 인지이다. 30 단계에서 인지된 사용자 입력이 소정 시간 동안 일정한 방향 입력이거나 소정 시간 인터벌 내 소정 회수의 동작들 중 마지막인 방향 입력이면, 도 1에 예시된 방법은 48 단계로 건너가고, 여기서 커서는 사용자 입력에 EK라 좌우되는 프리-로밍 모드의 거리만큼 이동한다. 이동한 거리는 추가 입력에 따라 늘어나, 커서 이동을 가속화하는 결과를 가져온다. 사용자 입력이 릴리스 되거나, 멈추거나, 다른 사용자 입력이 인지될 때, 상태가 리셋되고 도 1의 프로세스는 다음 사용자 입력시 이어진다.
상술한 명세서에서는 특별히 중요하다고 간주 되는 발명의 특징들에 대해 주목을 끌려고 하고 있지만, 특별히 강조가 되었든 되지 않았든 앞서 도면에서 참조 및/또는 도시된 어떤 특허가능한 특징 또는 특징들의 조합과 관련해 출원인이 그 보호를 청구할 수 있다는 것을 알아야 한다.

Claims (21)

  1. (i) 디스플레이 안에서 커서 위치를 제어하기 위한 복수의 가능한 방향 입력 명령들 중 하나를 인지하는 단계;
    (ii) 현 위치에서 목표 위치까지 커서 위치의 버추얼 (virtual) 점프를 결정하고, 상기 목표 위치는,
    a) 인지된 방향 입력에 의해 정해진 방위상에서 현 위치로부터 소정 거리에 있는 제1목표 위치이거나,
    b) 한 선택가능 아이템과 부합되는 제2목표 위치가 되는 단계;
    (iii) 하나 이상의 스텝들에 걸쳐 현 위치로부터 목표 위치까지 커서를 이동하는 단계; 및
    (iv) 목표 위치를 현 위치로 설정하는 단계를 포함함을 특징으로 하는 방법.
  2. 제1항에 있어서,
    (i), (ii)의 a), (ii) 및 (iv) 단계들을 반복해서 수행하고, 그런 다음 커서를 한 선택가능 아이템에 네비게이팅 하기 위해 (i), (ii)(b), (iii) 단계들을 수행하는 단계를 더 포함함을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 한 선택가능 아이템이 현 위치 및 제1목표 위치를 지나는 궤적의 한쪽으로 펼쳐진 영역 안에 놓여있을 때, 상기 목표 위치는 제2 목표 위치임을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 목표 위치는, 디폴트로서, 제1목표 위치임을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 인지된 입력 명령의 결과로서 상기 선택가능 아이템이 커서의 한 후보 목적지라고 판단될 때, 상기 목표 위치는 제2목표 위치가 됨을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제2목표 위치는 상기 인지된 방향 입력 명령에 의해 영향을 받는 방위상에서 현 위치로부터 한 미정의 거리상에 있음을 특징으로 하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 제2목표 위치는 하나 이상의 선택가능 아이템들을 찾아 디스플레이 영역을 서치함으로써 정해짐을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 서치 영역은 상기 현 위치와 상기 제1목표 위치 사이에 있는 복수의 서브 영역들을 구비함을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 서브 영역들은 무작위로 위치됨을 특징으로 하는 방법.
  10. 제7항에 있어서, 상기 서치 영역은 현 위치로부터 제1목표 위치 너머까지 펼쳐져 있음을 특징으로 하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 소정 거리는 가변적임을 특징으로 하는 방법.
  12. 제11항에 있어서, 상기 소정 거리는 연속적인 사용자 입력 명령들에 따라 커서의 변동하는 움직임이 검출되는데 반응해 변경됨을 특징으로 하는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 커서 이동 후, 디스플레이의 콘텐츠가 자동으로 스크롤 됨을 특징으로 하는 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 반복되거나 연속되는 한 방향 입력 명령에 따른 상기 목표 위치는 상기 현 위치로부터 소정 거리에 있는 제1목표 위치임을 특징으로 하는 방법.
  15. 제14항에 있어서, 상기 소정 거리는 방향 입력 명령이 반복되거나 연속될 때 증가됨을 특징으로 하는 방법.
  16. 제1항 내지 제15항 중 어느 한 항의 방법을 컴퓨터로 하여금 수행하게 하기 위한 프로그램 명령들을 포함하는 컴퓨터 프로그램.
  17. 인지된 방향 입력이 프리-로밍 (free-roaming) 모드 하의 입력으로 해석되어야 하는지 어트랙션 (attraction) 모드 하의 입력으로 해석되어야 하는지 여부를 판단하고,
    상기 인지된 방향 입력이 프리-로밍 모드 하의 입력으로 해석되면, 상기 인지된 방향 입력에 의해 정해진 방위상에서 현 위치로부터 소정 거리에 있는 목표 위치를 결정하고,
    상기 인지된 방향 입력이 어트랙션 모드 하의 입력으로 해석되면, 상기 목표 위치를 한 선택가능 아이템과 부합되는 것으로 결정하고,
    현 위치로부터 결정된 목표 위치로 커서 이동을 행하도록 동작하는 컴퓨터 프로그램.
  18. 제16항 또는 제17항의 컴퓨터 프로그램을 실시하는 물리적 개체.
  19. 커서 및, 상기 커서를 사용해 선택가능한 한 개 이상의 아이템들을 표시하기 위한 디스플레이;
    상기 디스플레이 내에서의 커서의 위치를 결정하는 복수의 가능한 방향 입력 명령들을 제공하기 위한 사용자 입력 장치;
    현 위치에서 목표 위치까지 커서 위치의 버추얼 점프를 결정하고, 목표 위치가, a) 상기 방향 입력들 중 선택된 하나에 의해 정해진 방위상에서 현 위치로부터 소정 거리상에 있는 제1목표 위치인지, b) 한 선택가능 아이템과 부합되는 제2목표 위치인지 여부를 결정하고, 일련의 스텝들에 걸쳐 상기 현 위치로부터 상기 목표 위치로 커서 이동을 제어하도록 동작하는 프로세서를 포함함을 특징으로 하는 장치.
  20. 제19항에 있어서, 사람의 손에 휴대할 정도의 사이즈임을 특징으로 하는 장치.
  21. (i) 디스플레이 내 커서의 위치를 제어하기 위한 복수의 가능한 방향 입력 명령들 중 한 명령을 인지하는 단계;
    (ii) 상기 인지된 방향 입력이 프리-로밍 모드 하의 입력으로 해석되어야 하는지, 어트랙션 모드 하의 입력으로 해석되어야 하는지 여부를 판단하는 단계;
    (iii) 상기 인지된 방향 입력이 프리-로밍 모드 하의 입력으로 해석되면, 상기 인지된 방향 입력에 의해 정해진 방위상에서 상기 현 위치로부터 소정 거리에 있는 목표 위치를 결정하는 단계;
    (iv) 상기 인지된 방향 입력이 상기 어트랙션 모드 하의 입력으로 해석되면, 상기 목표 위치를 한 선택가능 아이템과 부합되는 것으로 결정하는 단계;
    (v) 일련의 스텝들에 걸쳐 상기 현 위치로부터 상기 결정된 목표 위치로 커서를 이동하는 단계; 및
    (vi) 목표 위치를 현 위치로 설정하는 단계를 포함함을 특징으로 하는 방법.
KR1020087023672A 2006-03-30 2006-03-30 커서 제어 KR101100290B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2006/001288 WO2007113612A1 (en) 2006-03-30 2006-03-30 Cursor control

Publications (2)

Publication Number Publication Date
KR20080098677A true KR20080098677A (ko) 2008-11-11
KR101100290B1 KR101100290B1 (ko) 2011-12-28

Family

ID=38563157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087023672A KR101100290B1 (ko) 2006-03-30 2006-03-30 커서 제어

Country Status (8)

Country Link
US (1) US8330715B2 (ko)
EP (1) EP2013691B1 (ko)
KR (1) KR101100290B1 (ko)
CN (1) CN101416142B (ko)
CA (1) CA2646011A1 (ko)
HK (1) HK1130101A1 (ko)
TW (1) TWI341484B (ko)
WO (1) WO2007113612A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542091B2 (en) * 2010-06-04 2017-01-10 Apple Inc. Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
JP5723586B2 (ja) * 2010-12-14 2015-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ポインタ制御方法、システム、およびそのプログラム。
KR20120084467A (ko) * 2011-01-20 2012-07-30 삼성전자주식회사 전자책 단말기에서 페이지를 전환하는 방법 및 장치
CN102520854A (zh) * 2011-11-30 2012-06-27 苏州希图视鼎微电子有限公司 一种网页焦点移动及控制Flash导航的方法及其实现装置
KR101888680B1 (ko) 2011-12-06 2018-08-17 삼성전자 주식회사 디스플레이장치 및 그 제어방법
TWI476640B (zh) 2012-09-28 2015-03-11 Ind Tech Res Inst 時間資料序列的平滑化方法與裝置
US9898162B2 (en) 2014-05-30 2018-02-20 Apple Inc. Swiping functions for messaging applications
US9971500B2 (en) 2014-06-01 2018-05-15 Apple Inc. Displaying options, assigning notification, ignoring messages, and simultaneous user interface displays in a messaging application
US9880631B2 (en) * 2014-09-02 2018-01-30 Stmicroelectronics International N.V. Instrument interface for reducing effects of erratic motion
TWI594146B (zh) * 2015-06-17 2017-08-01 鴻海精密工業股份有限公司 遙控器的文字輸入方法
US10620812B2 (en) 2016-06-10 2020-04-14 Apple Inc. Device, method, and graphical user interface for managing electronic communications

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS649517A (en) * 1987-07-02 1989-01-12 Toshiba Corp Pointing device
US5367631A (en) * 1992-04-14 1994-11-22 Apple Computer, Inc. Cursor control device with programmable preset cursor positions
EP0628905A1 (en) 1993-06-11 1994-12-14 Koninklijke Philips Electronics N.V. CD-I pointer device with 8 directions, 1 pixel/update
TW235358B (en) 1993-06-11 1994-12-01 Philips Electronics Nv CD-I pointer device with 8 directions, 1 pixel/update
US5530455A (en) * 1994-08-10 1996-06-25 Mouse Systems Corporation Roller mouse for implementing scrolling in windows applications
WO1996009579A1 (en) * 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US5692114A (en) * 1994-12-26 1997-11-25 Sony Corporation Three-dimensional parameter input device and image processing apparatus
US5673068A (en) * 1995-06-07 1997-09-30 Hewlett-Packard Company End-of-travel detection sensor and method of calibrating confined pointing device
US5870079A (en) * 1996-11-12 1999-02-09 Legaltech, Inc. Computer input device and controller therefor
US5786805A (en) * 1996-12-27 1998-07-28 Barry; Edwin Franklin Method and apparatus for improving object selection on a computer display by providing cursor control with a sticky property
US6049325A (en) 1997-05-27 2000-04-11 Hewlett-Packard Company System and method for efficient hit-testing in a computer-based system
US6154205A (en) * 1998-03-25 2000-11-28 Microsoft Corporation Navigating web-based content in a television-based system
FR2814254B1 (fr) 2000-09-15 2006-07-21 Thomson Csf Procede de traitement du deplacement d'un curseur sur un ecran
US6738045B2 (en) * 2001-02-26 2004-05-18 Microsoft Corporation Method and system for accelerated data navigation
AUPR963001A0 (en) * 2001-12-19 2002-01-24 Canon Kabushiki Kaisha Selecting moving objects on a system
TWI235358B (en) 2003-11-21 2005-07-01 Acer Inc Interactive speech method and system thereof
US20050275619A1 (en) * 2004-06-09 2005-12-15 Chwan-Jaw Kao Apparatus for cursor control and method thereof

Also Published As

Publication number Publication date
CA2646011A1 (en) 2007-10-11
EP2013691A4 (en) 2012-10-10
TWI341484B (en) 2011-05-01
HK1130101A1 (en) 2009-12-18
TW200805117A (en) 2008-01-16
EP2013691B1 (en) 2017-08-16
WO2007113612A1 (en) 2007-10-11
US20100127972A1 (en) 2010-05-27
EP2013691A1 (en) 2009-01-14
US8330715B2 (en) 2012-12-11
KR101100290B1 (ko) 2011-12-28
CN101416142A (zh) 2009-04-22
CN101416142B (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
KR101100290B1 (ko) 커서 제어
US9182881B2 (en) GUI pointer automatic position vectoring
US8443302B2 (en) Systems and methods of touchless interaction
US8860665B2 (en) Character input device and character input method
KR101588036B1 (ko) 감지 디바이스 및 방법
KR20110109551A (ko) 터치스크린 장치 및 터치스크린 장치의 입력 처리 방법
US9256363B2 (en) Information processing device and character input method
KR20140138424A (ko) 제스쳐를 이용한 사용자 인터페이스 방법 및 장치
US20110074714A1 (en) Information display device
US7812819B2 (en) Information processing apparatus and information processing method
KR20030072332A (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
US9052767B2 (en) Information terminal device and touch panel display method
WO2013031135A1 (en) Information processing apparatus, information processing method, and program
WO2016063258A1 (en) Target-directed movement in a user interface
JP5487226B2 (ja) 文字入力装置
JP2004334718A (ja) 入力操作支援プログラム
US20050110756A1 (en) Device and method for controlling symbols displayed on a display device
KR100941874B1 (ko) 디스플레이 장치상에 실행 메뉴 아이콘을 표시하는 실행 메뉴 아이콘 표시 장치
JP2015153197A (ja) ポインティング位置決定システム
KR20100107611A (ko) 단말 제어 장치 및 방법
KR101468970B1 (ko) 터치 스크린 디스플레이 입력을 통한 객체 스크롤 방법 및 장치
EP2605116A1 (en) Method of controlling pointer in mobile terminal having pointing device
KR20150013404A (ko) 모바일 단말기의 문자 입력 방법 및 해당 방법을 수행하는 모바일 단말기
JPS6247738A (ja) フアイル検索方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee