KR20170083545A - 손가락 압력 및 방향에 기초하여 커서를 제어하기 위한 시스템 및 방법들 - Google Patents

손가락 압력 및 방향에 기초하여 커서를 제어하기 위한 시스템 및 방법들 Download PDF

Info

Publication number
KR20170083545A
KR20170083545A KR1020177012494A KR20177012494A KR20170083545A KR 20170083545 A KR20170083545 A KR 20170083545A KR 1020177012494 A KR1020177012494 A KR 1020177012494A KR 20177012494 A KR20177012494 A KR 20177012494A KR 20170083545 A KR20170083545 A KR 20170083545A
Authority
KR
South Korea
Prior art keywords
touch
virtual mouse
processor
touch screen
user
Prior art date
Application number
KR1020177012494A
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 KR20170083545A publication Critical patent/KR20170083545A/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
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0414Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/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
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • 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
    • 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/04842Selection of displayed objects or displayed text elements
    • 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

Landscapes

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

Abstract

가상 마우스를 구현하기 위한 방법 및 장치가 개시된다. 일 실시형태에서, 구현된 기능들은 가상 마우스를 활성화시키는 단계, 가상 마우스와 연관된 커서 아이콘의 로케이션을 결정하는 단계, 및 가상 마우스를 비활성화시키는 단계를 포함한다. 다양한 실시형태들에서, 가상 마우스의 포지션은 터치스크린을 터치하는 손가락의 배향 또는 포지션, 및 손가락에 의해 터치스크린에 인가된 측정 또는 계산된 압력에 기초하여 프로세서에 의해 결정된다.

Description

손가락 압력 및 방향에 기초하여 커서를 제어하기 위한 시스템 및 방법들{SYSTEM AND METHODS FOR CONTROLLING A CURSOR BASED ON FINGER PRESSURE AND DIRECTION}
본 출원은 2014년 11월 11일에 출원된 "Virtual Mouse Based on Improve Touch Shape Feature" 라는 제목의 미국 가출원 제 62/078,356 호에 대한 우선권의 이익을 주장하며, 그 전체 내용들이 참조로서 본원에 포함된다.
기술분야
본 개시물은 일반적으로 전자 디바이스들에 관한 것이다. 다양한 실시형태들이 전자 디바이스 상에서 그래픽 사용자 인터페이스 (GUI) 를 동작하는 방법들에 관련된다.
스마트폰 디바이스를 한 손으로 잡고, 스마트폰 디바이스를 잡은 손의 엄지만으로 스마트폰 디바이스의 터치스크린 디스플레이 상에 디스플레이된 그래픽 사용자 인터페이스 (GUI) 와 상호 작용하는 것은 많은 환경들 하에서 스마트폰 디바이스를 사용하는 바람직한 모드일 수도 있다. 그러나, 스마트폰 디바이스의 터치스크린 디스플레이의 사이즈가 증가함에 따라, 그러한 한 손 (single-handed use) 사용은 적어도, 제한된 손 사이즈의 경우, 모든 코너에, 특히 디바이스를 잡은 손의 엄지만으로 터치스크린 디스플레이의 상부 영역에 도달하는 것이 어려울 수도 있다는 이유로, 번거롭거나 심지어 불가능해질 수도 있다.
다양한 실시형태들의 시스템들, 방법들, 및 디바이스들은, 터치스크린으로 구성된 컴퓨팅 디바이스로 하여금 사용자에 의한 컴퓨팅 디바이스의 한 손의 사용 동안 가상 마우스를 활성화시키고, 터치스크린 상의 가상 마우스의 포지션을 결정하며, 계산된 벡터를 사용하여 커서 아이콘을 터치스크린 위로 프로젝팅함으로써 터치스크린 상에서 가상 마우스를 구현하게 할 수도 있다. 일부 실시형태들에서, 프로젝팅된 커서 아이콘은 한 손의 사용 동안 사용자의 엄지 또는 손가락의 리치 (reach) 를 넘어 확장하도록 포지셔닝될 수도 있다. 일부 실시형태들에서, 터치스크린 상의 가상 마우스의 포지션을 결정하는 단계는, 사용자 터치 이벤트와 연관된 터치 영역을 식별하는 단계, 식별된 터치 영역으로부터 터치 데이터를 수집하는 단계, 사용자 터치 이벤트와 연관된 압력 및 방향 파라미터들을 결정하는 단계, 및 사용자 터치 이벤트와 연관된 압력 및 방향 파라미터들에 기초하여 가상 마우스의 포지션을 나타내는 벡터를 계산하는 단계를 포함할 수도 있다.
일부 실시형태들에서, 가상 마우스를 활성화시키는 단계는, 컴퓨팅 디바이스의 터치스크린 디스플레이의 미리결정된 가상 마우스 활성화 영역에서 터치 이벤트를 검출하는 단계를 포함할 수도 있다. 일부 실시형태들은 가상 마우스가 활성화되는 동안, 터치 이벤트가 미리결정된 가상 마우스 활성화 영역에서 검출되는지 여부를 결정하는 단계, 및 가상 마우스가 활성화되는 동안 터치 이벤트가 미리결정된 가상 마우스 활성화 영역에서 검출되었다는 결정에 응답하여 가상 마우스를 비활성화시키는 단계를 더 포함할 수도 있다.
일부 실시형태들에서, 가상 마우스를 활성화시키는 단계는, 컴퓨팅 디바이스가 사용자에 의한 한 손의 사용에 일치하는 방식으로 홀딩되는 것을 검출할 때 활성화를 자동으로 개시하는 단계를 포함할 수도 있다. 일부 실시형태들에서, 사용자 터치 이벤트와 연관된 방향을 결정하는 단계는, 터치 영역에 피팅된 타원의 장축의 배향에 적어도 부분적으로 기초할 수도 있다. 일부 실시형태들에서, 사용자 터치 이벤트와 연관된 압력 파라미터를 결정하는 단계는, 터치 영역에 피팅된 타원의 영역 및 터치 압력 중 적어도 하나에 기초할 수도 있으며, 가상 마우스의 포지션을 계산하는 단계는, 가상 마우스의 포지션을 나타내는 벡터를 계산하는 단계를 포함하고, 계산된 벡터의 크기는 결정된 압력 파라미터에 적어도 부분적으로 기초할 수도 있다.
일부 실시형태들은, 프로젝팅된 커서 아이콘이 터치스크린 상에 디스플레이된 그래픽 사용자 인터페이스 (GUI) 위에 포지셔닝되는 동안 사용자 터치 이벤트가 종료되었는지 여부를 결정하는 단계, 및 프로젝팅된 커서 아이콘이 디스플레이된 GUI 엘리먼트 위에 포지셔닝되는 동안 사용자 터치 이벤트가 종료되었다는 결정에 응답하여 GUI 엘리먼트와 연관된 동작을 실행시키는 단계를 더 포함할 수도 있다. 일부 실시형태들은 GUI 엘리먼트와 연관된 동작의 실행 후에 가상 마우스를 자동으로 비활성화시키는 단계를 더 포함할 수도 있다.
일부 실시형태들은, 프로젝팅된 커서 아이콘이 터치스크린 상에 디스플레이된 동작 가능한 그래픽 사용자 인터페이스 (GUI) 엘리먼트로부터 임계 거리 내에 포지셔닝되는지 여부를 검출하는 단계, 및 프로젝팅된 커서 아이콘이 임계 거리 내에 포지셔닝된다는 것을 검출하는 것에 응답하여 프로젝팅된 커서 아이콘을 동작 가능한 GUI 엘리먼트로 드로잉하는 단계를 더 포함할 수도 있다. 일부 실시형태들은, 프로젝팅된 커서 아이콘이, 현재 선택된 동작 가능한 그래픽 사용자 인터페이스 (GUI) 엘리먼트로부터 떨어져 미리결정된 넌-제로 거리보다 더 많이 이동했는지 여부를 검출하는 단계, 및 커서가 현재 선택된 동작 가능한 GUI 엘리먼트로부터 미리결정된 넌-제로 거리보다 더 많이 이동했다는 것을 검출하는 것에 응답하여 동작 가능한 GUI 엘리먼트를 선택해제하는 단계를 더 포함할 수도 있다.
다양한 실시형태들은 터치스크린으로 구성되고, 전술된 방법들의 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성된 프로세서를 포함하는 컴퓨팅 디바이스를 포함할 수도 있다. 다양한 실시형태들은 또한, 컴퓨팅 디바이스의 프로세서로 하여금 전술된 방법들의 동작들을 수행하게 하도록 구성된 프로세서 실행가능 명령들이 저장되는 비일시적 프로세서-판독가능 매체를 포함한다. 다양한 실시형태들은 전술된 방법들의 기능들을 수행하기 위한 수단을 갖는 컴퓨팅 디바이스를 포함한다.
본원에 포함되고 본 명세서의 일부분을 구성하는 첨부 도면들은 예시적인 실시형태들을 예시하고, 위에서 주어진 일반적인 설명 및 이하에서 주어지는 상세한 설명과 함께 본 발명의 특성들을 설명하는 역할을 한다.
도 1a 는 다양한 실시형태들과의 사용에 적합한 스마트폰 디바이스를 예시하는 블록도이다.
도 1b 는 다양한 실시형태들에 따라 디바이스 상에서 가상 마우스 시스템을 구현하기 위한 예시의 시스템을 예시하는 블록도이다.
도 2 는 다양한 실시형태들에 따른 스마트폰 디바이스의 종래의 한 손의 사용의 예시이다.
도 3a 는 다양한 실시형태들에 따른 커서 움직임을 계산하는데 사용된 예시의 터치 파라미터들을 예시하는 개략도이다.
도 3b 및 도 3c 는 다양한 실시형태들에 따른 가상 마우스 로케이션을 결정하는데 사용된 계산들을 나타내는 예시의 스마트폰 디바이스의 예시이다.
도 4a 내지 도 4c 는 다양한 실시형태들에 따른 예시의 가상 마우스 인터페이스의 사용을 나타내는 예시의 스마트폰 디바이스 터치스크린 디스플레이의 예시들이다.
도 5 는 다양한 실시형태들에 따라 가상 마우스를 구현하는 예시의 방법을 예시하는 프로세스 흐름도이다.
도 6a 및 도 6b 는 다양한 실시형태들에 따라 가상 마우스를 구현하는 예시의 방법을 예시하는 프로세스 흐름도들이다.
다양한 실시형태들은 첨부 도면들을 참조하여 상세히 설명될 것이다. 가능한 경우에는 언제든지, 동일한 참조 부호들은 동일하거나 유사한 부분들을 지칭하기 위해 도면들 전체에 걸쳐 사용될 것이다. 특정 예들 및 구현들에 대해 이루어진 참조들은 예시 목적을 위한 것이고, 청구항들의 범위를 제한하도록 의도되지는 않는다.
다양한 실시형태들의 시스템들, 방법들, 및 디바이스들은 터치스크린-가능 디바이스들에 가상 마우스 포인터를 제공함으로써 모바일 디바이스 사용자 경험을 개선한다. 구체적으로, 다양한 실시형태들에서, ("가상 마우스" 로도 지칭된) 가상 마우스 인터페이스는 디스플레이의 사이즈와 사용자의 손 사이즈 간의 불일치로 인한 스마트폰의 한 손의 사용의 불편함을 완화시킬 수도 있다. 가상 마우스는 한 손가락 (예를 들어, 엄지 또는 다른 손가락) 에 의해 제어될 수도 있는 커서를 제공한다. 가상 마우스는 터치스크린 디스플레이 상의 다양한 로케이션들에서 GUI 엘리먼트들 디스플레이와 상호작용할 수도 있다. 이것은, 한 손의 사용 동안 손가락 또는 엄지에 의해 쉽게 도달 가능하지 않은 GUI 엘리먼트들을 포함할 수도 있다.
동작 시에, 사용자는, 예를 들어 터치스크린 상에 디스플레이된 가상 마우스 (예를 들어, 가상 마우스 아이콘) 를 나타내는 GUI 엘리먼트에 대응하는 터치스크린의 부분을 탭핑함으로써 가상 마우스를 활성화시킬 수도 있다. 가상 마우스가 활성화되는 경우, 커서 아이콘은 터치스크린 상에 디스플레이될 수도 있다. 디스플레이된 커서 아이콘은 GUI 엘리먼트들을 참조하여 가상 마우스의 포지션을 표시할 수도 있다. 터치스크린 상의 사용자의 손가락 또는 엄지의 특성들은 스마트폰의 프로세서에 의해 계산될 수도 있다. 터치스크린으로부터 수신된 신호들을 사용하는 프로세서는 사용자의 손가락의 터치 압력 및 배향 (여기서, 배향은 사용자의 손가락의 각 배치 (angular placement) 를 지칭함) 을 계산할 수도 있다. 가상 마우스의 포지션은, 사용자의 손가락의 계산된 터치 압력 및 배향에 적어도 부분적으로 기초하여 결정될 수도 있다. 일부 실시형태들에서, 가상 마우스의 포지션은 손가락에 의해 터치된 터치스크린의 부분의 센터 포인트로부터 터치스크린 상의 먼 쪽의 포지션으로 확장되는 벡터로서 계산될 수도 있다. 이 벡터는 계산된 터치 압력에 기초하여 계산된 길이 또는 크기를 가질 수도 있다. 벡터는 손가락의 계산된 배향에 기초한 각 배향을 가질 수도 있다. 커서 아이콘은 계산된 벡터의 먼 쪽의 단부에서 터치스크린 디스플레이 상에 포지셔닝될 수도 있다. 가상 마우스가 선택 가능한 GUI 엘리먼트 근처에 있는 경우, 커서 아이콘은, 터치스크린 상에 디스플레이된 GUI 내에서 동시에 확대 및/또는 강조될 수도 있는, GUI 엘리먼트 (예를 들어, 아이콘) 로 드로잉될 수도 있다. GUI 엘리먼트는 터치스크린을 벗어나 손가락을 물리적으로 들어올림 (즉, 스마트폰으로부터 떨어짐) 으로써 선택될 수도 있다. 커서가 객체 상에 있는 경우 터치스크린으로부터 손가락을 들어올리는 것은 연관된 애플리케이션 또는 다른 액션을 론칭하도록 스마트폰의 프로세스를 프롬프트할 수도 있다. 사용자는 또한, 가상 마우스 아이콘으로 손가락을 다시 이동 (즉, 가상 마우스를 나타내는 GUI 엘리먼트에 대응하는 터치스크린의 부분으로 리턴) 함으로써 가상 마우스를 비활성화시킬 수도 있다.
본원에서 사용되는 바와 같이, 용어들 "스마트폰 디바이스", "스마트폰" 및 "모바일 컴퓨팅 디바이스" 는 한 손의 동작이 가능한 사이즈의 다양한 모바일 컴퓨팅 디바이스들, 예컨대 셀룰러 전화기들, 태블릿 컴퓨터들, 개인 휴대 정보 단말기 (PDA)들, 웨어러벌 디바이스 (예를 들어, 시계, 헤드 장착 디스플레이, 가상 현실 안경 등), 팜-톱 컴퓨터들, 노트북 컴퓨터들, 랩톱 컴퓨터들, 무선 전자 메일 수신기들 및 셀룰러 전화기 수신기들, 멀티미디어 인터넷 가능 셀룰러 전화기들, 멀티미디어 가능 스마트폰들 (예를 들어, Android® 및 Apple iPhone®), 및 프로그램가능 프로세서, 메모리 및 터치스크린 디스플레이/사용자 인터페이스를 포함하는 유사한 전자 디바이스들 중 어느 하나를 지칭한다. 도 1a 는 가상 마우스에 대해 적응될 수도 있는 모바일 컴퓨팅 디바이스의 컴포넌트 다이어그램이다. 스마트폰들은 특히, 다양한 실시형태들을 구현하기 위해 적합하고, 따라서 다양한 실시형태들의 도면들 및 상세한 설명들에서 예들로서 사용된다. 그러나, 청구항들은 명확하게 인용되지 않는 한 스마트폰에 제한되도록 의도되지 않으며, 한 손의 사용을 위해 적합한 사이즈의 임의의 모바일 컴퓨팅 디바이스를 포괄한다.
버스 (105) 를 통해 전기적으로 커플링될 수 있는 (또는 다르게는 적합하게, 통신할 수도 있는) 하드웨어 엘리먼트들을 포함하는 스마트폰 디바이스 (100) 가 도시된다. 하드웨어 엘리먼트들은 하나 이상의 범용 프로세서들 및/또는 하나 이상의 특수 목적 프로세서들 (예컨대, 디지털 신호 처리 칩들, 그래픽 가속 프로세서들 및/또는 등) 을 제한 없이 포함하는 하나 이상의 프로세서(들)(110), 터치스크린 (115) 을 포함하고 마우스, 키보드, 키패드, 카메라, 마이크로폰 등을 제한 없이 더 포함하는 하나 이상의 입력 디바이스들; 및 외부 출력 디바이스, 디스플레이 디바이스, 스피커 (116), 프린터 등에 커플링하기 위한 인터페이스 (120)(예를 들어, 유니버셜 직렬 버스 (USB)) 를 제한 없이 포함하는 하나 이상의 출력 디바이스들 (120) 을 포함할 수도 있다.
스마트폰 디바이스 (100) 는 로컬 및/또는 네트워크 액세스 가능 스토리지를 제한 없이 포함할 수 있고/있거나 디스크 드라이버, 드라이브 어레이, 광학 저장 디바이스, 고체-상태 저장 디바이스, 예컨대 프로그램가능할 수 있고, 플래시-업데이트 가능할 수 있는 랜덤 액세스 메모리 ("RAM") 및/또는 판독-전용 메모리 ("ROM") 등을 제한 없이 포함할 수 있는 하나 이상의 비-일시적 저장 디바이스들 (125) 을 더 포함할 수도 있다 (및/또는 이들과 통신할 수도 있다). 이러한 저장 디바이스들은 다양한 파일 시스템들, 데이터베이스 구조들, 등을 제한 없이 포함하는 임의의 적합한 데이터 스토어들을 구현하도록 구성될 수도 있다.
스마트폰 디바이스 (100) 는 또한, 모뎀, 네트워크 카드 (무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩세트 (예컨대, 블루투스 디바이스, 802.11 디바이스, Wi-Fi 디바이스, WiMAX 디바이스, 셀룰러 통신 시설들 등) 및/또는 등을 제한 없이 포함할 수 있는 통신 서브시스템 (130) 을 포함할 수도 있다. 통신 서브시스템 (130) 은 데이터가 네트워크, 다른 디바이스들, 및/또는 본원에 설명된 임의의 다른 디바이스들과 교환되는 것을 허용할 수도 있다. 일 실시형태에서, 디바이스 (100) 는, 전술된 바와 같이 RAM 또는 ROM 디바이스를 포함할 수도 있는, 메모리 (135) 를 더 포함할 수도 있다. 스마트폰 디바이스 (100) 는 모바일 디바이스 또는 비-모바일 디바이스일 수도 있고, 무선 및/또는 유선 접속들을 가질 수도 있다.
스마트폰 디바이스 (100) 는 프로세서 (102) 에 커플링된 전원 (122), 예컨대 일회용 또는 재충전 가능한 배터리를 포함할 수도 있다. 재충전 가능한 배터리는 또한, 스마트폰 디바이스 (100) 외부의 소스로부터 충전 전류를 수신하도록 주변 디바이스 접속 포트에 커플링될 수도 있다.
스마트폰 디바이스 (100) 는 또한, 본원에 설명되는 바와 같이, 실시형태들에 의해 제공된, 방법들을 구현하고/하거나 시스템들을 구성하도록 설계되거나 이들을 포함할 수도 있는, 운영 시스템 (140), 디바이스 드라이버들, 실행가능 라이브러리들, 및/또는 다른 코드, 예컨대 하나 이상의 애플리케이션 프로그램들 (145) 을 포함하는, 작업 메모리 (135) 내에 현재 위치되어 있는 것으로서 도시된 소프트웨어 엘리먼트들을 포함할 수도 있다. 단지 예로서, 이하에서 논의된 방법(들)에 대하여 설명된 하나 이상의 절차들은 스마트폰 디바이스 (100)(및/또는 스마트폰 디바이스 (100) 내의 프로세서(들)(110)) 에 의해 실행 가능한 코드 및/또는 명령들로서 구현될 수도 있다. 일 실시형태에서, 이러한 코드 및/또는 명령들은 전술된 방법들에 따라 하나 이상의 동작들을 수행하도록 범용 컴퓨터 (또는 다른 디바이스) 를 구성하고/하거나 적응시키도록 사용될 수 있다.
이들 명령들 및/또는 코드의 세트는 전술된 저장 디바이스(들)(125) 과 같은 비일시적 컴퓨터 판독가능 저장 매체 상에 저장될 수도 있다. 일부 경우들에서, 저장 매체는 디바이스, 예컨대 스마트폰 디바이스 (100) 내에 통합될 수도 있다. 다른 실시형태들에서, 저장 매체는 디바이스와 별개일 수도 있고/있거나 (예를 들어, 콤팩트 디스크와 같은 착탈형 매체), 인스톨 패키지에 제공될 수도 있어, 이 저장 매체는 명령들/코드가 저장되는 범용 컴퓨터를 프로그래밍, 구성, 및/또는 적응시키는데 사용될 수 있다. 이들 명령들은 스마트폰 디바이스 (100) 에 의해 실행가능한 실행가능 코드의 형태를 취할 수도 있고/있거나, (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 인스톨 프로그램들, 압축/압축해제 유틸리티들 등 중 어느 하나를 사용하여) 스마트폰 디바이스 (100) 상에 컴파일 및/또는 인스톨 시에 실행가능한 코드의 형태를 취하는 소스 및/또는 인스톨 가능한 코드의 형태를 취할 수도 있다. 애플리케이션 프로그램들 (145) 은 가상 마우스에 대해 적응된 하나 이상의 애플리케이션들을 포함할 수도 있다. 애플리케이션들의 기능성은 대안으로, 하드웨어 또는 상이한 레벨들의 소프트웨어, 예컨대 운영 시스템 (OS)(140), 펌웨어, 컴퓨터 비전 모듈 등으로 구현될 수도 있다는 것이 이해되어야 한다.
도 1b 는 다양한 실시형태들에 따른 가상 마우스 인터페이스를 구현하기 위해 사용될 수도 있는 엘리먼트들을 나타내는 스마트폰 (150) 의 기능 블록도이다. 다양한 실시형태들에 따르면, 스마트폰 (150) 은 도 1a 를 참조하여 설명된 스마트폰 디바이스 (100) 와 유사할 수도 있다. 도시된 바와 같이, 스마트폰 (150) 은 적어도 하나의 제어기, 예컨대 적어도 하나의 메모리 (154)(예를 들어, 135) 에 커플링될 수도 있는 범용 프로세서(들)(152)(예를 들어, 110) 을 포함한다. 메모리 (154) 는 프로세서 실행가능 명령들을 저장하는 비일시적 유형의 컴퓨터 판독가능 저장 매체일 수도 있다. 메모리 (154) 는 운영 시스템 (OS)(140), 뿐만 아니라 사용자 애플리케이션 소프트웨어 및 실행가능 명령들을 저장할 수도 있다.
스마트폰 (150) 은 또한, 하나 이상의 터치 센서(들)(158) 및 디스플레이 디바이스 (160) 를 포함하는 ("터치스크린 시스템" 및/또는 "터치스크린 디스플레이" 로도 지칭된) 터치스크린 (115) 을 포함할 수도 있다. 터치 센서(들)(158) 은 터치-감지 표면을 이용하여 사용자에 의해 야기된 터치 접촉을 감지하도록 구성될 수도 있다. 예를 들어, 터치-감지 표면은 용량성 감지, 광학 감지, 저항성 감지, 전계 감지, 표면 탄성파 감지, 압력 감지 및/또는 다른 기술들에 기초할 수도 있다. 일부 실시형태들에서, 터치스크린 시스템 (156) 은 터치 감지 표면 상의 터치들, 뿐만 아니라 터치들의 포지션 및 크기를 인지하도록 구성될 수도 있다.
디스플레이 디바이스 (160) 는 발광 다이오드 (LED) 디스플레이, 액정 디스플레이 (LCD)(예를 들어, 액티브 매트릭스, 패시브 매트릭스) 등일 수도 있다. 대안으로, 디스플레이 디바이스 (160) 는 모니터, 예컨대 모노크롬 디스플레이, 컬러 그래픽 어댑터 (CGA) 디스플레이, 강화된 그래픽 어댑터 (EGA) 디스플레이, 가변-그래픽-어레이 (VGA) 디스플레이, 슈퍼 VGA 디스플레이, 음극선관 (CRT), 등일 수도 있다. 디스플레이 디바이스는 또한, 플라즈마 디스플레이 또는 전자 잉크들로 구현된 디스플레이에 대응할 수도 있다.
다양한 실시형태들에서, 디스플레이 디바이스 (160) 는 일반적으로, 컴퓨터 시스템의 사용자와 운영 시스템 또는 그 위에서 실행되는 애플리케이션 간의 상호작용을 가능하게 하는 그래픽 사용자 인터페이스 (GUI) 를 디스플레이하도록 구성될 수도 있다. GUI 는 그래픽 이미지들을 갖는 프로그램들, 파일들 및 동작 옵션들을 나타낼 수도 있다. 그래픽 이미지들은 윈도우들, 필드들, 다이얼로그 박스들, 메뉴들, 아이콘들, 버튼들, 커서들, 스크롤 바들 등을 포함할 수도 있다. 이러한 이미지들은 미리정의된 레이아웃들로 배열될 수도 있거나, 또는 사용자에 의해 취해지고 있는 특정 액션들을 서빙하도록 동적으로 생성될 수도 있다. 동작 동안, 사용자는 연관된 기능들 및 태스크들을 개시하기 위해 다양한 그래픽 이미지들을 선택 및 활성화시킬 수도 있다. 예로서, 사용자는 윈도우를 개방, 폐쇄, 최소화 또는 최대화하는 버튼, 또는 특정 프로그램을 론칭하는 아이콘을 선택할 수도 있다.
다양한 실시형태들에서 터치스크린 시스템은 센서(들)(158) 로부터 정보의 입력 (예를 들어, 터치 이벤트들) 및 디스플레이 디바이스 (160) 로 정보의 출력 (예를 들어, GUI 표현) 을 가능하게 하는 터치스크린 입/출력 (I/O) 제어기 (162) 에 커플링될 수도 있다. 다양한 실시형태들에서, 터치스크린 I/O 제어기는 사용자의 터치에 기초하여 터치 센서(들)(158) 로부터 정보를 수신할 수도 있고, 터치 이벤트들을 해석하기 위해 범용 프로세서(들)(152) 에 의해 실행되도록 구성된 특정 모듈들로 정보를 전송할 수도 있다. 다양한 실시형태들에서, 단일 포인트 터치들 및 멀티포인트 터치들이 해석될 수도 있다. 본원에 사용된 바와 같이 용어 "단일 포인트 터치" 는 한 손가락 (또는 도구) 의 단일 부분과 상호작용함으로써 정의된 터치 이벤트를 지칭하지만, 이 상호작용은 시간 경과에 따라 발생할 수 있다. 단일 포인트 터치 입력의 예들은 단순한 터치 (예를 들어, 단일 탭), 터치-및-드래그, 및 이중-터치 (예를 들어, 이중-탭 - 연이은 2 개의 탭들) 를 포함한다. "멀티-포인트 터치" 는 상이한 손가락들 또는 손가락 부분들의 조합들에 의해 정의된 터치 이벤트를 지칭할 수도 있다.
다양한 실시형태들에서, 스마트폰은 터치스크린 시스템 (156) 과 결합하여 또는 이와 독립적으로 데이터를 스마트폰으로 트랜스퍼하도록 구성될 수도 있는 다른 입/출력 (I/O) 디바이스들을 포함할 수도 있다. 예를 들어, 터치스크린 I/O 제어기 (162) 는 디스플레이 디바이스 상의 GUI 에 대하여 추적을 수행하고 선택을 할 뿐만 아니라, 커맨드들을 발행하도록 사용될 수도 있다. 이러한 커맨드들은 주밍, 패닝, 스크롤링, 페이징, 회전, 사이징 등과 연관될 수도 있다. 또한, 이 커맨드들은 또한, 특정 프로그램을 론칭하고, 파일 또는 문헌을 개방하고, 메뉴를 보고, 선택을 하고, 명령들을 실행하고, 컴퓨터 시스템에 로깅하고, 사용자의 선호된 어레인지먼트와 연관된 사용자 프로파일을 로딩하는 것 등과 연관될 수도 있다. 일부 실시형태들에서, 이러한 커맨드들은, 이하에서 추가로 상세히 논의되는, 가상 마우스 관리자의 활동성화를 트리거링하는 것을 수반할 수도 있다.
터치 입력이 터치스크린 I/O 제어기 (162) 를 통해 수신되는 경우, 범용 프로세서 (152) 는 터치 이벤트를 식별/해석하고 스마트폰의 다양한 컴포넌트들을 제어하기 위해 메모리 (154) 에 저장된 하나 이상의 프로그램 모듈들을 구현할 수도 있다. 예를 들어, 터치 식별 모듈 (164) 은 메모리 (154) 에 저장된 애플리케이션들 (166) 에서 액션들을 수행하고, 디스플레이 디바이스 (160) 상에 도시된 GUI 엘리먼트들을 수정하고, 메모리 (154) 에 저장된 데이터를 수정하는 것 등을 위한 커맨드들에 대응하는 이벤트들을 식별할 수도 있다. 일부 실시형태들에서, 터치 식별자 모듈은 터치스크린 시스템 (156) 상의 단일 포인트 터치 이벤트로서 입력을 식별할 수도 있다.
일부 실시형태들에서, 터치 입력은, 예를 들어 가상 마우스를 나타내는 GUI 엘리먼트 (예를 들어, 아이콘) 에 근접한 커서의 포지션에 기초하여, 가상 마우스의 활성화를 트리거링하는 것으로서 식별될 수도 있다. 일단 활성화되면, 스마트폰에서 커서의 제어는 가상 마우스 관리자 (168) 로 패스될 수도 있다. 다양한 실시형태들에서, 가상 마우스 관리자 (168) 는 하나 이상의 제어기 (예를 들어, 범용 프로세서(들)(152)) 에 의해 실행될 수도 있는, 메모리 (154) 에 저장된 프로그램 모듈일 수도 있다.
다양한 실시형태들에서, 단일 포인트 터치는 커서 추적 및/또는 선택을 개시할 수도 있다. 추적 동안, 커서 이동은 터치스크린 시스템 (156) 의 터치 감지 표면 상에서 한 손가락을 이동하는 사용자에 의해 제어될 수도 있다. 가상 마우스가 활동하지 않는 경우, 이러한 추적은 터치 식별자 모듈 (164) 에 의한 터치 이벤트들을 해석하는 것, 및 디스플레이 디바이스 (160) 상에 커서 아이콘의 대응하는 움직임을 생성하기 위한 신호들을 생성하는 것을 수반할 수도 있다.
가상 마우스가 활동하는 동안, 가상 마우스 관리자 (168) 는 터치 이벤트들을 해석하고 디스플레이 디바이스 (160) 상의 커서 아이콘의 스케일링된 움직임을 생성하기 위한 신호들을 생성할 수도 있다. 다양한 실시형태들에서, 가상 마우스가 활성화되는 동안 터치 이벤트들을 해석하는 것은 터치 데이터 (예를 들어, 터치들의 수, 터치들의 포지션 및 형상 등) 로부터 피처들을 추출하는 것뿐만 아니라 파라미터들 (예를 들어, 터치 압력 및/또는 터치 영역으로의 최선의 피팅 타원 등) 을 연산하는 것을 수반할 수도 있다. 다양한 실시형태들에서, 이러한 터치 데이터 및 컴퓨팅 파라미터들은 터치스크린 I/O 인터페이스 (162) 에 의해 연산될 수도 있다. 또한, 커서 계산 모듈 (170) 은 측정된/감지된 터치 데이터 및 터치스크린 I/O 인터페이스 (162) 로부터 획득된 컴퓨팅 파라미터들을 사용하여 커서 로케이션을 결정할 수도 있다. 신호들을 필터링하는 것 및 상이한 포맷들로의 변환, 뿐만 아니라 가상 마우스가 활성화되지 않는 경우 터치 이벤트를 해석하는 것을 포함하는 다른 기능들은 메모리 (154) 에 저장된 다양한 추가의 프로그램들/모듈들 중 어느 하나를 사용하여 수행될 수도 있다.
일부 실시형태들에서, 범용 프로세서(들)(152), 메모리 (154), 및 터치스크린 I/O 제어기 (162) 는 시스템-온-칩 디바이스 (172) 에 포함될 수도 있다. 하나 이상의 가입자 식별 모듈 (SIM) 들 및 대응하는 인터페이스(들)은 시스템-온-칩 디바이스 (172), 뿐만 아니라 시스템-온-칩 디바이스 (172) 의 컴포넌트들에 커플링될 수도 있는 다양한 주변 디바이스들 (예를 들어, 추가의 입력 및/또는 출력 디바이스들), 예컨대 인터페이스들 또는 제어기들 외부에 있을 수도 있다.
스마트폰 디바이스를 한 손으로 잡고, 스마트폰 디바이스를 잡은 손의 엄지만으로 스마트폰 디바이스의 터치스크린 디스플레이 상에 디스플레이된 GUI 와 상호 작용하는 것은 많은 환경들 하에서 스마트폰 디바이스를 사용하는 바람직한 모드일 수도 있다. 그러나, 스마트폰 디바이스들의 터치스크린 디스플레이들의 사이즈들이 증가함에 따라, 이러한 한 손 사용은 번거롭거나 또는 심지어 불가능해질 수도 있다. 디바이스를 잡은 손의 엄지 또는 다른 손가락들로, 터치스크린 디스플레이의 모든 부분들, 특히 터치스크린 디스플레이의 상부 영역에 도달하는 문제들은, 특히 작은 손들을 가진 사람들에게 어려움이 될 수도 있다.
도 2 는 스마트폰 디바이스 (200) 의 종래의 한 손의 사용의 예시이다. 다양한 실시형태들에 따르면, 스마트폰 디바이스 (200) 는 도 1a 및 도 1b 를 참조하여 설명된 스마트폰들 (100, 150) 과 유사할 수도 있다. 스마트폰 디바이스 (200) 는 터치스크린 디스플레이 (220)(예를 들어, 디스플레이 디바이스 (160)) 로 구성될 수도 있다. 스마트폰 디바이스 (200) 를 한 손 (230) 으로 잡고, 손 (230) 의 엄지 (240)(또는 다른 손가락) 만으로 스마트폰 디바이스의 터치스크린 디스플레이 (220) 상에 디스플레이된 GUI 와 상호 작용하는 것은 많은 환경들 하에서 스마트폰 디바이스를 사용하는 바람직한 모드일 수도 있다. 그러나, 터치스크린 디스플레이 (220) 가 커질수록, 한 손가락으로 모든 코너에 도달하는 것이 더 어려워진다. 터치스크린 디스플레이 (220) 의 상부 영역은 특히, 스마트폰 디바이스를 잡은 손 (230) 의 엄지 (240)(또는 다른 손가락) 로 도달하기 어려울 수도 있다. 예를 들어, 도 2 는 엄지 (240) 에 의해 쉽게 도달 가능한 터치스크린 디스플레이 (220) 의 제 1 영역 (250), 및 엄지 (240) 에 의해 도달하기 어려운 터치스크린 디스플레이 (220) 의 제 2 영역 (260) 을 예시한다.
다양한 실시형태들은, 터치스크린 디스플레이의 사이즈와 손 사이즈 간의 불일치에 의해 야기된 스마트폰 디바이스의 한 손 사용에 대한 불편함들을 극복하기 위해, 가상 마우스를 구현하도록 터치스크린에 의해 생성된 터치 이벤트 데이터를 프로세싱함으로써 이용 가능해진 추가의 입력들을 이용한다. 가상 마우스는 GUI 의 상이한 엘리먼트들과 상호작용할 수도 있는 커서/아이콘을 포함한다. 커서는, 엄지의 대응하는 회전 및 움직임 및/또는 터치스크린 디스플레이 상의 압력에서의 변화에 의해 터치스크린 디스플레이의 전체 영역에서 이동 가능할 수도 있다. 본 개시물의 실시형태들을 구현하는 스마트폰 디바이스로, 사용자는, 쉽게 도달 가능한 터치스크린 디스플레이의 영역 내에서 엄지 손가락을 유지하면서 가상 마우스의 커서/아이콘을 사용하여 한 손의 사용 시나리오에서 쉽게 도달 가능하지 않은 터치스크린 디스플레이 상의 GUI 의 엘리먼트들과 상호작용할 수도 있다.
가상 마우스는 사용자의 단일-포인트 터치와 연관된 다수의 특성들 중 어느 하나에 의해 제어될 수도 있다. 다양한 실시형태들에서, 이러한 특성들은 복수의 메커니즘들을 사용하여, 스마트폰의 특정 구성들, 설정들, 및 성능들에 따라 결정될 수도 있다. 가상 마우스는, 로케이션이 터치스크린으로부터의 데이터에 기초하여 계산되는 터치스크린 위로 커서 아이콘을 프로젝팅함으로써 구현될 수도 있다. 로케이션은, 예를 들어 데이터로부터 결정된 터치의 압력 및 배향에 기초하여 계산될 수도 있다. 예를 들어, 일부 실시형태들에서 스마트폰은 실제 터치 압력을 측정할 수 있는 압력-감지 터치스크린으로 구성될 수도 있다. 이러한 압력-감지 터치스크린은 용량성 터치 및 적외선 감지의 조합을 이용하여 터치 힘을 결정할 수도 있다. 다른 실시형태들에서, 압력은 터치스크린 표면과 접촉하는 손가락의 영역에 기초하여 간접적으로 계산될 수도 있다. 즉, 터치 영역의 상대적 사이즈는 터치 압력에 대한 프록시로서 역할을 할 수도 있고, 여기서 더 큰 영역은 더 많은 압력으로 변환한다. 이 방식에서, 실제 압력 측정들 대신에, 스마트폰은 터치 영역에 기초하여 추정된 압력을 계산할 수도 있고, 이에 의해 디바이스 상의 감지 회로 또는 추가의 하드웨어에 대한 필요성을 회피한다.
사용자의 터치의 방향은 터치 영역에 근사한 타원의 장축의 배향에 기초하여 결정될 수도 있다. 대안으로, 방향은 터치 포지션을 통해 확장되고 스크린의 가장 가까운 코너로부터 비롯되는 라인 또는 벡터에 기초하여 결정될 수도 있다.
일부 실시형태들에서, 터치 방향은 터치 영역 경계에 근사한 타원의 형상으로부터의 계산들에 기초하여 결정될 수도 있다. 대안으로, 방향은 터치스크린의 가장 가까운 코너에 대한 터치 영역의 센터에 기초하여 결정될 수도 있다.
구현 동안 커서의 로케이션의 계산이 발생할 수도 있지만, 다양한 실시형태에서 지칭된 다양한 식들은 본 발명의 구현 동안 계산되지 않을 수도 있고, 차라리 본 발명의 구현들의 컴포넌트들 간의 관계들을 설명하는 모델들을 제공한다. 위에서 논의된 바와 같이, 가상 마우스가 활성화되는 경우, 터치스크린으로의 입력의 특성들은 터치스크린 상의 사용자의 손가락 (예를 들어, 엄지) 과 연관된 터치 영역의 데이터 (즉, "터치 데이터") 를 감지/측정함으로써 결정될 수도 있다. 다양한 실시형태들에서, 이러한 터치 데이터는 터치 영역의 경계, 및 터치 영역의 센터를 형성하는 포인트들의 로케이션을 포함할 수도 있다. 일부 실시형태들에서, 터치 데이터로부터 도출된 특성들은 터치 영역의 경계를 최선으로 피팅하는 타원 함수를 포함할 수도 있고, 이것은 비선형 회귀 분석을 사용하여 식별될 수도 있다. 예를 들어, 최선의 피팅 타원은 식 1 을 사용하여 정의될 수도 있다:
Figure pct00001
식 1
여기서, a 는 타원의 반-장축을 나타내고 b 는 반-단축을 나타내며, 반-장축 및 반-단축은 타원 센터가 원점 (0, 0) 에 있는 x 및 y 카테시안 (Cartesian) 축들 상에서 정렬한다.
다양한 실시형태들에서, 최선의 피팅 타원 함수의 장축은 a 를 푸는 것에 의해 결정될 수도 있고, 여기서 장축은 2a 와 동일하다. 또한, 터치 영역의 사이즈에 기초한 추정된 압력은 식 2 를 사용하여 최선의 피팅 타원의 면적을 계산함으로써 결정될 수도 있다:
Figure pct00002
식 2
여기서, a 는 타원의 반-장축을 나타내고 b 는 반-단축을 나타낸다.
도 3a 는 다양한 실시형태들에서 사용자의 손가락의 터치 영역에 대응하는 예시의 타원 함수 (300) 를 나타내는 다이어그램이다. 종래의 터치스크린 기술들은 터치 이벤트들의 포지셔닝 (즉, x, y 좌표들) 만을 제공한다. 다양한 실시형태들에서, 각각의 터치 이벤트에 대해, 이 터치 이벤트와 연관된 압력 및 터치 영역의 배향이 터치 영역의 포지션에 추가하여 제공될 수도 있다. 타원 함수 (300) 는 근사 터치 영역 (310) 에 피팅되고, 반-장축 (320) 및 반-단축 (330) 에 기초하여 특징 지워진다. 터치 영역 (310) 의 포지션에 추가하여, 터치 영역 (310) 의 배향은 터치 영역 (310) 의 장축 (340) 에 대응하는 라인 세그먼트와 양의 x-축 간의 각도 (312) 로서 결정될 수도 있다. 터치 방향을 확립하기 위해 장축의 배향을 이용하고 터치스크린의 하부에 가장 가까이 위치된 에지로부터 사용자가 스마트폰 디바이스를 잡고 있다는 것을 가정하면, 커서 아이콘은 터치스크린의 상부에 가장 가까운 주요 타원 상의 포인트를 향해 프로젝팅되는 라인을 따라 포지셔닝될 수도 있다. 따라서, 터치 영역 (310) 에 대하여 도시된 바와 같이, 왼손을 사용하여, 0 도 (즉, 완전히 수평 손가락) 과 90 도 (즉, 완전히 수직 손가락) 사이에 있는 각도 (312) 를 제공할 수도 있다. 오른손 (미도시) 을 사용하는 실시형태들에서, 각도 (312) 는 90 도 (즉, 완전히 수직인 손가락) 와 180 도 (즉, 완전히 수평인 손가락) 사이에 있을 수도 있다.
추가로, 터치 이벤트와 연관된 압력이 또한, 제공될 수도 있다. 일부 실시형태들에서, 터치 영역 (310) 의 사이즈는, 터치 이벤트가 확장 가능한 객체, 예컨대 손가락에 의해 생성되는 경우 터치 압력이 증가함에 따라 터치 영역이 확장하기 때문에 압력을 추정하도록 사용될 수도 있다.
가상 마우스는 다양한 터치 파라미터들에 기초하여 계산된 로케이션에서 터치스크린 상에 디스플레이될 수도 있다. 일부 실시형태들에서, 가상 마우스의 로케이션은 다양한 터치 특성들에 기초하여 계산된 벡터로서 계산될 수도 있다. 커서 아이콘 (또는 다른 아이콘) 은 가상 마우스의 로케이션을 나타내도록 디스플레이될 수도 있다.
다양한 실시형태들에서, 가상 마우스 로케이션을 계산하는데 사용된 터치 특성들은 벡터들로서 표현될 수도 있다. 예를 들어, 최선의 피팅 타원의 장축의 배향은 터치스크린의 상부 에지를 가리키는 방향 및/또는 가상 마우스 활성화 영역으로부터 멀어지는 방향에 기초하여 벡터 f 로 표현될 수도 있다. 다른 예에서, 사용자의 손가락의 터치 포지션은 터치 영역의 시작 또는 기준 포인트로부터 센터 포인트로의 벡터 c 로 표현될 수도 있다. 유사하게, 실제 터치 포지션에 가장 가까운 코너의 포지션은 시작 기준 포인트로부터 가장 가까운 코너로의 벡터 r 로 표현될 수도 있다. 다양한 실시형태들에서, 벡터들 cr 의 시작 또는 초기 기준 포인트는 계산된 가상 마우스 벡터가 터치스크린 위로 프로젝팅되는 프로젝션 포인트 - 즉, 가상 마우스 활성화 영역에서의 포인트와 동일할 수도 있다.
일부 실시형태들에서, 가상 마우스의 로케이션은 식 3 을 사용하여 계산될 수도 있다:
Figure pct00003
식 3
여기서 c 는 실제 터치 포지션 (즉, 카테시안 공간에서의 포지션) 의 센터 포인트로의 벡터를 나타내고, f 는 터치 영역의 경계를 최선으로 피팅하는 타원의 장축의 배향에 대응하는 벡터를 나타내고, p 는 압력 측정치이며, k 는 전체 터치스크린을 가상 마우스가 커버하기 위한 스케일링 팩터이다.
도 3b 는 식 3 을 사용하여 스마트폰 디바이스 (350) 상의 가상 마우스 로케이션의 대표적인 결정을 예시한다. 다양한 실시형태들에 따르면, 스마트폰 디바이스 (350) 는 도 1a 내지 도 2 를 참조하여 설명된 스마트폰들 (100, 150, 200) 과 유사할 수도 있다. 스마트폰 디바이스 (350) 는 터치스크린 디스플레이 (352)(예를 들어, 160, 220) 로 구성될 수도 있고, 사용자는 단지 한 손가락 (354) 으로 터치스크린 디스플레이 (352) 상에 디스플레이된 GUI 와 상호작용할 수도 있다. 터치스크린 디스플레이 (352) 상에서, 벡터 (356) 는 식 3 에서의 c 에 대응하는, 초기 기준 포인트로부터 손가락 (354) 의 터치 영역 (310) 의 센터로의 방향 및 거리를 제공한다. 터치스크린 디스플레이 (352) 의 상부 좌측 코너는 도 3 에 도시된 실시형태에 대해 초기 기준 포인트로서 사용되지만, 터치스크린 디스플레이 (52) 상의 다른 포인트들 또는 코너들 중 어느 하나가 초기 기준 포인트를 제공할 수도 있기 때문에, 초기 기준 포인트의 로케이션은 임의적이다. 벡터 (358) 는 식 3 에서의 f 에 대응하는, 터치 영역 (310) 의 경계를 최선으로 피팅하는 타원 (예를 들어, 300) 의 장축 (340) 의 배향을 나타내는 방향을 제공한다. 일부 실시형태들에서, 벡터 (358) 의 크기는 장축 (340) 의 실제 길이일 수도 있다. 다른 실시형태들에서, 벡터 (358) 의 크기는 스케일링 팩터 k 와 유사한 고정된 대표 값일 수도 있다.
터치스크린 디스플레이 (352) 상의 벡터 (360) 는 식 3 에서 kpf 에 대응하고, 벡터 (358) 에 스칼라를 곱한 것으로부터 결과의 벡터이다. 벡터 (356) 에 벡터 (360) 를 더하여, 결과의 벡터 (362) 는 초기 기준 포인트로부터 터치스크린 디스플레이 (352) 상의 가상 마우스 로케이션 (363) 으로의 방향 및 거리를 제공한다. 즉, 벡터 (362) 는 c + kpf 의 식 3 에서의 계산에 대응한다.
다른 실시형태들에서, 가상 마우스의 로케이션은 식 4 를 사용하여 계산될 수도 있다:
Figure pct00004
식 4
여기서, r 은 실제 터치 로케이션에 가장 가까운 터치스크린의 코너로의 벡터 (즉, 카테시안 공간에서 포지션) 를 나타낸다.
도 3c 는 식 4 를 사용하여 스마트폰 디바이스 (350) 상의 가상 마우스 로케이션을 결정하는데 있어서 사용하기 위해 벡터 c - r 의 대표적인 연산을 예시한다. 도 3b 에 대하여 설명된 바와 같이, 벡터 (356) 는 터치스크린 디스플레이 (352) 의 상부 좌측 코너에서의 초기 기준 포인트로부터 터치 영역의 센터로의 방향 및 거리를 제공한다. 식 3 과 유사하게, 벡터 (356) 는 식 4 에서의 c 에 대응한다. 도 3c 의 터치스크린 디스플레이 (352) 상에서, 벡터 (364) 는 식 4 에서의 r 에 대응하는, 초기 기준 포인트로부터 실제 터치 로케이션에 가장 가까운 코너로의 방향 및 거리를 제공한다. 벡터 (356) 에서 벡터 (364) 를 감산하여 결과의 벡터 (366) 를 제공하며, 이것은 식 4 에서 c - r 에 대응한다.
터치스크린 디스플레이 (352) 상의 벡터 (368) 는 식 4 에서 kp (c - r) 에 대응하는, 벡터 (366) 에 스칼라를 곱하고 그 포지션을 변위시키는 것으로부터 결과의 벡터이다. 벡터 (356) 에 벡터 (368) 를 더하여 벡터 (370) 를 초래하고, 이 벡터는 초기 기준 포인트로부터 터치스크린 디스플레이 (352) 상의 가상 마우스 로케이션 (372) 으로의 방향 및 거리를 제공한다. 즉, 벡터 (372) 는 c + kp(c - r) 의 식 4 에서의 계산에 대응한다.
도 4a 및 도 4b 는, 본 개시물의 실시형태가 구현되는 스마트폰 디바이스 (400) 를 예시한다. 스마트폰 디바이스 (400) 는 GUI 가 디스플레이되는 터치스크린 디스플레이 (410) 를 포함한다. 다양한 실시형태들에서, 터치스크린 디스플레이 (410) 상의 미리결정된 영역 (420) 은 가상 마우스 활성화 영역으로서 지정될 수도 있다. 이하에서 상세히 설명되는 바와 같이, 사용자는, 예를 들어 엄지로 활성화 영역 (420) 을 터치하고 (예를 들어, 엄지를 제거하지 않음으로써) 그 터치를 유지함으로써 가상 마우스를 활성화시킬 수도 있다. 도 4a 및 도 4b 에서, 가상 마우스 활성화 영역 (420) 은 터치스크린 디스플레이 (410) 의 하부 우측 코너에 있다. 일부 실시형태들에서, 가상 마우스 활성화 영역의 실제 배치는 사용자-커스터마이징될 수도 있다. 예를 들어, 오른손으로 스마트폰 디바이스 (410) 를 동작시키고자 하는 사용자는 하부 우측 코너를 가상 마우스 활성화 영역으로서 지정할 수도 있고, 왼손으로 스마트폰 디바이스 (410) 를 동작시키고자 하는 사용자는 하부 좌측 코너를 가상 마우스 활성화 영역으로서 지정할 수도 있다. 일부 실시형태들에서, 사용자는 부가적으로 또는 대안으로, 터치스크린 디스플레이 (410) 상의 임의의 영역에 충분한 양의 힘을 인가함으로써 가상 마우스를 활성화시킬 수도 있다. 예를 들어, 가상 마우스는 임계 값 위인 압력의 양을 갖는 터치 입력을 검출하는 것에 응답하여 활성화될 수도 있다.
일단 가상 마우스가 활성화되면, 커서 아이콘 (430) 이 터치스크린 디스플레이 (410) 상에 디스플레이되어 동일한 것을 보여줄 수도 있다. 가상 마우스에 의해 선택된 GUI 엘리먼트(들)은 커서 아이콘 (430) 의 로케이션에 의해 표시되며, 이는 이하에서 설명되는 바와 같이, 예를 들어 엄지에 의해 유지된 터치의 압력 및/또는 회전 및 움직임에 의해 제어될 수도 있다. 일부 실시형태들에서, 가상 마우스는, 스마트폰 디바이스 (400) 가 한 손 사용과 일치하는 방식으로 손에 홀딩되어 있다는 것을 프로세서가 결정하는 경우 자동으로 활성화될 수도 있다.
도 4c 는 가상 마우스가 활성화되는 스마트폰 디바이스 (400) 를 예시한다. 전술된 바와 같이, 사용자는, 예를 들어 가상 마우스 활성화 영역을 손가락 (440)(예를 들어, 엄지) 으로 터치하고 그 손가락 (440) 과 터치스크린 디스플레이 (410) 간의 접촉을 유지함으로써 가상 마우스를 활성화시킬 수도 있다. 사용자가 손가락 (440) 에 의해 쉽게 도달할 수 없는 터치스크린 디스플레이 (410) 의 영역 상에서 GUI 엘리먼트들을 동작시키고자 하는 경우, 사용자는 가상 마우스를 활성화시키기를 원할 수도 있다. 일단 가상 마우스가 활성화되고 커서 아이콘 (430) 이 디스플레이되면, 사용자는 손가락 (440) 을 회전시키고 터치스크린 디스플레이 (410) 상의 손가락 (440) 의 포지션 및/또는 터치 압력 중 적어도 하나를 변화시킴으로써 커서 아이콘 (430) 의 로케이션을 제어할 수도 있다. 일부 실시형태에서, 커서 아이콘 (430) 의 로케이션 (예를 들어, 가상 마우스 활성화 영역으로부터 커서 아이콘 (430) 의 현재 로케이션까지의 벡터의 종점) 은 식 3 으로부터의 수식 c + kpf 또는 c + kp (c - r)(식 4) 를 평가함으로써 결정될 수도 있다. 이전에 언급된 바와 같이, 식 3 및 4 에서, c 는 터치 영역의 포지션을 나타내는 벡터 (예를 들어, 가상 마우스 활성화 영역 또는 초기 기준 포인트로부터 현재 터치 영역의 센터까지의 벡터) 이다. 이전에 언급된 바와 같이, 식 4 에서, r 은 터치스크린의 가장 가까운 코너의 포지션을 나타내는 벡터 (예를 들어, 가상 마우스 활성화 영역 또는 초기 기준 포인트로부터 c 에 가장 가까운 코너로의 벡터) 이다. 이전에 언급된 바와 같이, 식 3 에서, f 는 터치 영역의 배향을 나타내는 벡터 (예를 들어, 터치 영역의 배향을 나타내는 단위 벡터) 이다. 이전에 언급된 바와 같이, 식 3 및 4 에서, p 는 터치 압력이고, k 는, 사용자가 터치스크린 디스플레이 (410) 의 쉽게 도달할 수 있는 영역 내에 있는 엄지 (440) 의 움직임들로 커서 아이콘 (430) 을 터치스크린 디스플레이 (410) 의 가장 먼 코너로 이동시킬 수 있도록 선택된 스케일링 팩터이다.
따라서, 예시의 실시형태에서, 현재 터치 영역의 포지션, 현재 터치 영역의 배향, 및 현재 터치 압력은 모두, 커서 아이콘 (430) 의 로케이션의 결정에서 고려된다. 다른 실시형태에서, 단지 현재 터치 영역의 포지션 및 배향만이 커서 아이콘 (430) 의 로케이션의 결정에서 고려된다 (즉, c + kpf 또는 c + kp (c - r) 에서 P 가 상수가 됨). 또 다른 실시형태에서, 단지 현재 터치 영역의 배향 및 현재 터치 압력만이 커서 아이콘 (430) 의 로케이션의 결정에서 고려된다 (즉, c + kpf 에서 c 가 상수가 됨). 모든 실시형태들에서, 사용자는, 쉽게 도달 가능한 터치스크린 디스플레이 (410) 의 영역 내에서 엄지를 유지하면서 터치스크린 디스플레이 (410) 의 가장 먼 코너로 커서 아이콘 (430) 을 이동시킬 수도 있다.
일부 실시형태들에서, 위의 가상 마우스 로케이션 계산들에서 이용될 수도 있는 스케일링 팩터 k 는 사용자의 손가락의 움직임 마다 커서 로케이션에서 변화의 양을 조정하도록 교정될 수도 있다. 일부 실시형태들에서, 사용자는 디스플레이된 커서 아이콘의 로케이션에서의 변화의 형태로 터치스크린 디스플레이로부터 일정한 비주얼 피드백을 수신한다. 따라서, 사용자는 원하는 결과들을 달성하기 위해 사용자에 의해 이용되고 있는 상대적 힘 및/또는 모션을 조정할 수도 있다. 일부 실시형태들에서, 제 1 파워 온 시에, 스마트폰은 사용자의 손가락 사이즈 및 누르는 활동의 특성들을 검출하기 위해 사용자와 일부 트레이닝을 수행하도록 구성될 수도 있다. 이 방식에서, 스케일링 팩터는 각각의 사용자의 상대적인 입력 특징을 수용하도록 조정될 수도 있다.
스마트폰은 (예를 들어, 사용자 프로파일 내의) 사용자에 대한 추후의 사용을 위해 각각의 사용자-커스터마이징된 스케일링 팩터를 저장할 수도 있고, 특정 터치 패턴들에 관한 상세들이 수집될 때 시간경과에 따라 사용자의 스케일링 팩터를 전개할 수도 있다. 일부 실시형태들에서, 제조자는 평균 인간 터치 입력의 상대적인 사이즈 및 강도 및 특정 디스플레이의 사이즈에 기초하여 미리설정된 최대 및 최소 스케일링 팩터들 (즉, 스케일링 팩터 범위) 을 지정할 수도 있다. 이들 범위들이 초기에 사용될 수도 있는 한편, 일부 실시형태들은, 일반적인 스케일링 팩터를 특별히 전개된 값들로 효과적으로 대체하는, 사용자들에 기초하여 시간 경과에 따라 스케일링 팩터의 최종 커스터마이제이션을 제공한다. 이러한 커스터마이제이션은 또한, 압력 값 대신에 지수 함수를 적용함으로써 (즉, p 를 px 로 대체, 여기서 x 는 사용자 트레이닝 및/또는 시간경과에 따른 커스터마이제이션에 기초하여 구성 가능할 수도 있음) 변경될 수도 있는, 가상 마우스 움직임의 감도 및/또는 속도에 대해 이용 가능할 수도 있다. 일부 실시형태들에서, 사용자는 파라미터들, 예컨대 스케일링 팩터 k, 압력 p 에 적용된 지수 함수, 및/또는 GUI 엘리먼트들을 선택 및/또는 선택해제하기 위한 임계 값들 등을, 예컨대 다양한 사용자 입력 메커니즘들을 통해 수동으로 조정할 수도 있다.
일부 실시형태들에서, 일단 커서 아이콘 (430) 이 GUI 상의 원하는 로케이션에 있으면, 동작은 커서의 로케이션에서 GUI 엘리먼트에 대하여 수행될 수도 있다. 일부 실시형태들에서, 프로세서는, 임계 값을 초과하는 사용자의 터치의 압력 또는 가상 마우스의 속도에서의 감소에 기초하여 커서 아이콘 (430) 이 GUI 상의 원하는 로케이션에 있다는 것을 결정할 수도 있다.
일부 실시형태들에서, 커서 아이콘 (430) 이 원하는 로케이션에 있는 경우 수행된 동작은 애플리케이션 (예를 들어, 게임 애플리케이션) 으로 하여금 론칭되게 하는 아이콘의 선택일 수도 있다. 다른 예에서, 동작은 아이템의 선택 (예를 들어, 텍스트의 선택, 메뉴 아이템 선택 등) 을 야기할 수도 있다. 동작은 일부 실시형태들에서, 커서 아이콘 (430) 에 대하여 추가의 사용자 입력에 응답하여 수행될 수도 있다. 이러한 추가의 사용자 입력은, 예를 들어 커서 아이콘 (430) 이 GUI 상의 원하는 로케이션에 있는 후에 임계 시간 내에 수신되는 손가락에 의한 인식된 제스처 (예를 들어, 클릭, 더블 클릭, 스와이프 등) 를 포함할 수도 있다. 다른 예에서, 추가의 사용자 입력은 사용자의 손가락들 중 다른 것으로부터 수신된 제스처 (예를 들어, 클릭, 더블 클릭, 스와이프 등) 일 수도 있다.
다른 예에서, 동작을 수행하는 것을 트리거링하는 추가의 사용자 입력은 사용자의 손가락에 의해 인가된 터치 힘에서의 증가 (즉, 압력에서의 증가) 일 수도 있다. 예를 들어, 터치스크린 디스플레이 (410) 상의 힘의 상이한 레벨들은, 임계 값 위인 입력 힘을 검출하는 것에 응답하여 GUI 를 통해 동작을 수행하는 것을 포함하는, 상이한 목적들에 대해 인식될 수도 있다. 가상 마우스를 이동시키기 위한 거리를 표시하는데 압력이 사용되는 실시형태들에서, 터치 힘은, 가상 마우스 움직임 및 동작을 구별하기 위해 차별화 요소 (differentiator) 가 사용되는 경우 동작 (예를 들어, 애플리케이션의 론칭 등) 의 수행을 프롬프트하는데 사용될 수도 있다. 예를 들어, 터치 압력에서 짧은 중단 (brief pause) 이 차별화 요소로서 사용될 수도 있다. 다른 예에서, 시간의 임계량 동안 한 로케이션에서 커서 아이콘 (430) 을 유지하는 것은, 커서 아이콘 (430) 로케이션을 계산하는데 사용된 압력으로부터 동작을 수행하기 위해 터치 압력을 차별화할 수도 있다.
일부 실시형태들에서, 사용자는 스마트폰 디바이스 (400) 상에서 설정들을 통해 동작을 트리거링하는 하나 이상의 추가의 제스처들을 구성할 수도 있다. 다른 예에서, 동작은 (예를 들어, 터치스크린 디스플레이 (410) 로부터 엄지를 제거하는 사용자에 의해 표시된) 커서 아이콘 (430) 의 움직임의 종료를 검출하는 것에 응답하여 수행될 수도 있다.
다양한 실시형태들에서, 프로세서는, 적절한 경우 커서 아이콘 (430) 을 이동시키기 위해, 사용자가 GUI 동작을 실행하고자 하는 것을 표시하는 터치의 종료에 의해 야기된 터치 압력의 급격한 감소와 사용자가 의도적으로 터치 압력을 변경함으로써 야기된 터치 압력의 점진적인 변화를 구별할 수도 있다.
일부 실시형태들에서, 스마트폰의 프로세서는, 커서 아이콘 (430) 이 동작 가능한 GUI 엘리먼트 근처 (즉, 임계 거리 내) 에서 이동되는 경우, 애플리케이션 또는 다른 아이템 (예를 들어, 텍스트, 메뉴 아이템) 을 론칭하기 위한 아이콘과 같이, 커서 아이콘 (430) 이 동작 가능한 GUI 엘리먼트로 자동으로 "드로잉"될 수도 있도록 구성될 수도 있다. 동작 가능한 GUI 엘리먼트는, 일단 커서 아이콘 (430) 이 선택을 보여주도록 그 위에 있으면 프로세서에 의해 확대 및/또는 강조될 수도 있다. 일부 추가의 실시형태들에서, 터치에서 지터링을 보상하기 위해, 이미-선택된 동작 가능한 GUI 엘리먼트 (즉, 커서 아이콘 (430) 이 위치되는 동작 가능한 GUI 엘리먼트) 는, 단지 커서 아이콘 (430) 이 미리결정된 넌-제로 거리만큼 GUI 엘리먼트로부터 떨어져 이동된 후에 선택해제될 수도 있다.
일부 실시형태들에서, 가상 마우스는 GUI 를 통해 추가의 사용자 입력을 수신하는 것에 기초하여 비활성화될 수도 있다. 예를 들어, 일 실시형태에서 사용자는 GUI 상의 영역 (예를 들어, 활성화 영역 (420)) 으로 손가락을 이동시키고, 그 손가락을 터치스크린 디스플레이 (410) 로부터 제거함으로써 가상 마우스를 비활성화시킬 수도 있다. 다른 실시형태에서, 가상 마우스는, 커서 아이콘 (430) 이 임의의 동작 가능한 GUI 엘리먼트로부터 임계 거리 내에 있지 않은 GUI 상의 영역에 있는 동안, 사용자가 터치스크린 디스플레이 (410) 로부터 손가락을 제거하는 것에 응답하여 비활성화될 수도 있다.
일부 실시형태들에서, 가상 마우스는 동작 (예를 들어, 애플리케이션 또는 아이템의 선택) 을 수행한 후에 자동으로 비활성화될 수도 있다. 다른 실시형태들에서, 사용자는 터치스크린 디스플레이 (410) 상에서 특정한 인지 제스처를 수행함으로써 가상 마우스를 비활성화시킬 수도 있다. 예를 들어, 프로세서는 터치스크린 디스플레이 (410) 상의, 더블 클릭, 스와이프 레프트 (swipe left), 스와이프 라이트 (swipe right), 그 조합 등에 응답하여 가상 마우스를 비활성화시키도록 구성될 수도 있다. 일부 실시형태들에서, 사용자는 가상 마우스의 비활성화를 트리거링하도록 하나 이상의 특정 제스처들을 미리설정할 수도 있다.
도 5 는 일부 실시형태들에 따라 스마트폰 상에서 가상 마우스를 구현하기 위한 방법 (500) 을 예시한다. 방법 (500) 의 동작들은 스마트폰 디바이스 (예를 들어, 100, 150) 의 하나 이상의 프로세서들, 예컨대 범용 프로세서 (예를 들어, 152) 에 의해 구현될 수도 있다. 다양한 실시형태들에서, 방법 (500) 의 동작들은 메모리 (예를 들어, 154), 터치스크린 (예를 들어, 115), 및 하나 이상의 프로세서들 (예를 들어, 110) 에 커플링될 수도 있는 별개의 제어기 (미도시) 에 의해 구현될 수도 있다.
블록 510 에서, 가상 마우스는 스마트폰의 프로세서에 의해 활성화될 수도 있다. 일부 실시형태들에서, 가상 마우스는 계속된 터치 접촉과 커플링된, 터치스크린 디스플레이 상의 가상 마우스 활성화 영역에서의 터치 이벤트의 검출 시에 프로세서에 의해 활성화될 수도 있다. 다른 실시형태들에서, 가상 마우스는, 스마트폰 디바이스가 한 손 사용과 일치하는 방식으로 손에 홀딩되어 있다는 것을 검출할 때 프로세서에 의해 자동으로 활성화될 수도 있다. 커서 또는 아이콘은 가상 마우스의 활성화를 보여주도록 프로세서에 의해 디스플레이될 수도 있다.
블록 520 에서, 가상 마우스와 연관된 커서 또는 아이콘의 로케이션은 프로세서에 의해 계산 또는 다르게는 결정될 수도 있다. 일부 실시형태들에서, 커서/아이콘의 로케이션은 수식 c + kpf (식 3) 또는 수식 c + kp (c - r)(식 4) 을 평가함으로써 프로세서에 의해 결정될 수도 있고, 이들 양자 모두는 커서/아이콘의 로케이션으로의 벡터 (예를 들어, 초기 기준 포인트로부터 커서 아이콘의 현재 로케이션으로의 벡터) 를 산출한다.
이전에 요약된 바와 같이, 식 3 및 식 4 에서 c 는 터치 영역의 포지션 (예를 들어, 초기 기준 포인트로부터 현재 터치 영역으로의 벡터) 이고, r 은 터치스크린의 가장 가까운 코너의 포지션 (예를 들어, 초기 기준 포인트로부터 c 에 가장 가까운 코너로의 벡터) 이고, f 는 터치 영역의 배향 벡터 (예를 들어, 터치 영역의 배향을 나타내는 단위 벡터) 이고, p 은 터치 압력이며, k 는 사용자가 터치스크린 디스플레이 (410) 의 쉽게 도달 가능한 영역 내에 있는 엄지 (440) 의 움직임들로 터치스크린 디스플레이 (410) 의 가장 먼 코너로 커서 아이콘 (430) 을 이동시킬 수 있도록 선택된 스케일링 팩터이다.
따라서, 커서 아이콘의 로케이션은 터치 영역의 배향 및 1) 터치 영역의 포지션 및 2) 터치 압력 중 적어도 하나에 적어도 부분적으로 기초하여 프로세서에 의해 계산 또는 다르게는 결정될 수도 있다. 일부 실시형태들에서, 커서 또는 아이콘의 계산된 로케이션은 디스플레이 상에 커서 또는 아이콘을 디스플레이하는데 사용된다. 디스플레이 상의 커서 또는 아이콘의 로케이션은 블록 530 에서 가상 마우스가 프로세서에 의해 비활성화될 때까지 계속적으로 계산될 수도 있다. 커서 아이콘이 동작 가능한 GUI 엘리먼트 위에 있는 동안 터치를 종료하는 사용자에 의해 애플리케이션 론칭과 같은 GUI 동작이 실행된 후에, 가상 마우스는 프로세서에 의해 자동으로 비활성화될 수도 있다. 가상 마우스는 또한, 사용자가 가상 마우스의 비활성화를 요청했다는 것을 검출할 때 프로세서에 의해 비활성화될 수도 있다. 예를 들어, 프로세서는, 사용자가 가상 마우스의 비활성화를 표시하는 동작을 수행했다 (예를 들어, 사용자가 그의 손가락을 터치스크린 디스플레이 상의 가상 마우스 활성화 영역으로 다시 이동했고/했거나 터치를 종료했다) 는 것을 검출할 수도 있다.
도 6a 및 도 6b 는 다양한 실시형태들에 따라 가상 마우스를 제공하는 방법 (600) 을 예시한다. 도 1 내지 도 6b 를 참조하면, 다양한 실시형태들에서, 방법 (600) 의 동작들은 스마트폰 (예를 들어, 100, 150) 의 하나 이상의 프로세서들 (예를 들어, 110), 예컨대 범용 프로세서(들)(예를 들어, 110, 152) 에 의해 구현될 수도 있다. 다양한 실시형태들에서, 방법 (600) 의 동작들은 메모리 (예를 들어, 154), 터치스크린 (예를 들어, 115), 및 하나 이상의 프로세서 (152) 에 커플링될 수도 있는 별개의 제어기 (미도시) 에 의해 구현될 수도 있다.
블록 602 에서, 스마트폰의 프로세서는 스마트폰 상의 터치 센서 입력 (예를 들어, 터치스크린 I/O 제어기 (162) 를 통해 수신된 터치 센서(들)(158) 로의 입력) 을 모니터링할 수도 있다. 결정 블록 604 에서, 프로세서는, 가상 마우스를 활성화시키는 트리거가 검출되는지 여부를 결정할 수도 있다. 이러한 트리거는, 예를 들어 디스플레이의 GUI 에서 가상 마우스 아이콘을 선택하는 단일-포인트 터치의 입력일 수도 있다. 가상 마우스 활성화의 트리거가 검출되지 않는 한 (즉, 결정 블록 604 = "아니오"), 프로세서는 블록 602 에서 스마트폰 상의 터치 센서 입력을 계속해서 모니터링할 수도 있다.
가상 마우스를 활성화시키기 위한 트리거가 검출된다고 결정하는 것 (즉, 결정 블록 604 = "예") 에 응답하여, 프로세서는, 터치 센서(들)(예를 들어, 158) 을 통해 터치-감지 표면 상에서 검출된 입력의 포지션일 수도 있는, 블록 606 에서 사용자의 손가락과 연관된 터치 영역을 식별할 수도 있다. 블록 608 에서, 프로세서는 식별된 터치 영역에서 터치 데이터를 수집할 수도 있다. 예를 들어, (압력-감지 디바이스를 사용하는 경우) 사용자의 손가락 등에 의해 인가되는 압력, 터치 영역의 사이즈 및 형상을 포함하는 데이터가 터치스크린 시스템 (156) 에 의해 감지/측정될 수도 있다.
블록 610 에서, 프로세서는 터치스크린으로부터 수신된 정보에 기초하여 터치 압력 및 방향 파라미터들을 결정할 수도 있다. 위에서 논의된 바와 같이, 일부 실시형태들에서, 터치 압력은 압력-감지 터치스크린을 갖고 스마트폰이 구성되는 경우 실제 압력으로서 결정될 수도 있다. 다른 실시형태들에서, 터치 압력은 터치 영역의 경계에 피팅된 타원 함수의 영역을 계산하는 것에 기초하여 추정된 압력 값일 수도 있다. 또한, 위에서 논의된 바와 같이, 방향 파라미터는 그러한 타원 함수의 장축의 배향에 기초하거나, 또는 터치스크린의 가장 가까운 코너를 기준으로 터치 영역의 센터의 포지션에 기초할 수도 있다. 블록 612 에서, 프로세서는 압력 및 방향 파라미터들에 기초하여 가상 마우스의 로케이션을 계산할 수도 있다.
블록 614 에서, 프로세서는 계산된 로케이션을 사용하여 터치스크린 상에 커서 아이콘을 디스플레이할 수도 있다. 결정 블록 616 에서, 프로세서는, 예컨대 구성될 수도 있는 다수의 비활성화 트리거들 중 어느 하나에 의해, 가상 마우스가 비활성화되었는지 여부를 결정할 수도 있다.
가상 마우스가 비활성화된다는 결정 (즉, 결정 블록 616 = "예") 에 응답하여, 프로세서는 블록 602 로 리턴하고 블록 602 에서 터치스크린 시스템 상의 센서 입력을 모니터링할 수도 있다. 가상 마우스가 비활성화된다는 결정에 응답하여, 프로세서는 또한, 블록 614 에서 디스플레이된 아이콘을 디스플레이하는 것을 종료할 수도 있다.
가상 마우스가 비활성화되지 않았다는 결정 (즉, 결정 블록 616 = "아니오") 에 응답하여, 프로세서는, 결정 블록 618 (도 6b) 에서, 터치스크린 상의 커서 아이콘 로케이션이 GUI 엘리먼트의 임계 거리 내 (즉, 가능한 선택을 위해 충분히 가까이) 에 있는지 여부를 결정할 수도 있다. 커서 아이콘이 GUI 엘리먼트의 임계 거리 내에 있지 않다는 결정 (즉, 결정 블록 618 = "아니오") 에 응답하여, 프로세서는 커서의 로케이션을 결정하고 커서 아이콘을 디스플레이하도록 블록들 608-614 (도 6a) 에서의 동작들을 반복할 수도 있다.
커서 아이콘이 GUI 엘리먼트의 임계 거리 내에 있다는 결정 (즉, 결정 블록 618 = "예") 에 응답하여, 프로세서는 블록 619 에서 프로젝팅된 커서 아이콘을 GUI 엘리먼트로 드로잉할 수도 있다. 결정 블록 620 에서, 프로세서는, 그 GUI 엘리먼트에 관련된 동작을 개시하는데 사용될 수도 있는, 동작 입력 (예를 들어, 클릭, 터치 해제, 미리정의된 제스처 등) 이 검출되는지 여부를 결정할 수도 있다. 동작 입력이 검출된다는 결정 (즉, 결정 블록 620 = "예") 에 응답하여, 프로세서는 블록 622 에서 GUI 선택에 대응하는 액션, 예를 들어 스마트폰 상에 애플리케이션을 오픈하고, 다른 모드로 진입하는 것 등을 수행할 수도 있다.
동작 입력이 검출되지 않는다는 결정 (즉, 결정 블록 620 = "아니오") 에 응답하여, 프로세서는 결정 블록 624 에서 선택된 GUI 엘리먼트로부터 미리결정된 거리보다 더 많이 커서 아이콘이 이동했는지 여부를 결정할 수도 있다. 커서 아이콘이 선택된 GUI 엘리먼트로부터 미리결정된 거리보다 더 많이 이동하지 않는 한 (즉, 결정 블록 624 = "아니오"), 프로세서는 결정 블록 620 에서 동작 입력이 검출되는지 여부를 계속해서 결정할 수도 있다.
커서 아이콘이 선택된 GUI 엘리먼트로부터 미리결정된 거리보다 더 많이 이동했다는 결정 (즉, 결정 블록 624 = "예") 에 응답하여, 프로세서는 블록 626 에서 GUI 엘리먼트를 선택해제하고, 결정 블록 618 로 리턴하여 커서 아이콘이 GUI 엘리먼트의 임계 거리 내에 있는지 여부를 결정할 수도 있다.
본원에 설명된 본 개시물의 실시형태들의 이용은 사용자로 하여금, 사용자가 한 손으로 스마트폰 디바이스를 동작하고 있는 동안 쉽게 도달 가능한 터치스크린 디스플레이의 영역 내에서 사용자 손가락의 움직임들 및 터치들을 시행함으로써 직접적으로 도달하기 어려운 터치스크린 디스플레이의 영역 상에 디스플레이된 GUI 의 엘리먼트들과 상호작용하게 한다. 다양한 실시형태들은 스마트폰 디바이스와 관련하여 설명되었지만, 스마트폰에 대한 참조들은 단지, 다양한 실시형태들의 설명들을 용이하게 하기 위한 것이고 본 개시물 또는 청구 범위를 제한하도록 의도되지는 않는다.
가상 마우스의 다양한 구현들은 이전에 상세히 설명되어 있다. 이전에 설명된 바와 같이, 가상 마우스 애플리케이션 또는 시스템은 소프트웨어, 펌웨어, 하드웨어, 그 조합들 등으로서 구현될 수도 있다는 것이 이해되어야 한다. 일 실시형태에서, 이전에 설명된 기능들은 이전에 원하는 기능들을 달성하기 위해 스마트폰 디바이스 (100) 의 하나 이상의 프로세서들 (예를 들어, 프로세서(들)(110)) 에 의해 구현될 수도 있다 (예를 들어, 도 5 및 도 6 의 방법 동작들).
본원의 교시들은 다양한 디바이스들 (예를 들어, 디바이스들) 안에 통합 (예를 들어, 이들 내에 구현 또는 이들에 의해 수행) 될 수도 있다. 예를 들어, 본원에 교시된 하나 이상의 실시형태들은 일반 디바이스, 데스크톱 컴퓨터, 모바일 컴퓨터, 모바일 디바이스, 전화기 (예를 들어, 셀룰러 폰), 개인 휴대 정보 단말기, 태블릿, 랩톱 컴퓨터, 태블릿, 엔터테인먼트 디바이스 (예를 들어, 음악 또는 비디오 디바이스), 헤드셋 (예를 들어, 헤드폰, 이어 피스 등), 의료 디바이스 (예를 들어, 생체 센서, 심장 박동 모니터, 만보계, 심전도 "EKG" 디바이스 등), 사용자 I/O 디바이스, 컴퓨터, 서버, POS 장치, 엔터테인먼트 디바이스, 셋톱 박스, 웨어러블 디바이스 (예를 들어, 시계, 머리 장착 디스플레이, 가상 현실 안경 등), 자동차 내의 전자 디바이스, 또는 임의의 다른 적합한 디바이스 내에 통합될 수도 있다.
일부 실시형태들에서, 스마트폰 디바이스는 통신 시스템을 위한 액세스 디바이스 (예를 들어, Wi-Fi 액세스 포인트) 를 포함할 수도 있다. 이러한 액세스 디바이스는, 예를 들어 유선 또는 무선 통신 링크를 통해 트랜시버를 통해 다른 네트워크 (예를 들어, 인터넷 또는 셀룰러 네트워크와 같은 광역 네트워크) 로의 접속성을 제공할 수도 있다. 따라서, 액세스 디바이스는 다른 디바이스 (예를 들어, Wi-Fi 스테이션) 로 하여금, 다른 네트워크 또는 일부 다른 기능성에 액세스하게 할 수도 있다. 또한, 디바이스들 중 하나 또는 양자 모두는 휴대용이거나, 또는 일부 경우들에서 상대적으로 비-휴대용일 수도 있다는 것이 이해되어야 한다.
다양한 실시형태들을 구현하는 디바이스가 이동 디바이스 또는 스마트폰 디바이스인 경우, 그러한 디바이스들은 임의의 적합한 무선 통신 기술에 기초하거나 다르게는 지원하는 무선 네트워크를 통해 하나 이상의 무선 통신 링크들을 통해 통신할 수도 있다는 것을 이해해야한다. 예를 들어, 일부 실시형태들에서, 스마트폰 디바이스 및 다른 디바이스들은 유선 네트워크를 포함하는 네트워크와 연관할 수도 있다. 일부 실시형태들에서, 네트워크는 인체 통신망 또는 개인 통신망 (예를 들어, 초-광대역 네트워크) 을 포함할 수도 있다. 일부 실시형태들에서, 네트워크는 로컬 영역 네트워크 또는 광역 네트워크를 포함할 수도 있다. 스마트폰 디바이스는, 예를 들어 3G, 롱 텀 에볼루션 (LTE), LTE 어드밴스드, 4G, 코드-분할 다중 액세스 (CDMA), 시간 분할 다중 접속 (TDMA), 직교 주파수 분할 다중화 (OFDM), 직교 주파수 분할 다중 액세스 (OFDMA), WiMAX 및 Wi-Fi 와 같은 다양한 무선 통신 기술들, 프로토콜들, 또는 표준들 중 하나 이상을 지원하거나 또는 다르게는 사용할 수도 있다. 유사하게, 스마트폰 디바이스는 다양한 대응하는 변조 또는 멀티플렉싱 스킴들 중 하나 이상을 지원하거나 또는 다르게는 사용할 수도 있다. 스마트폰 디바이스는 따라서, 상기 또는 다른 무선 통신 기술들을 사용하여 하나 이상의 무선 통신 링크들을 통해 확립 및 통신하도록 적합한 컴포넌트들 (예를 들어, 무선 인터페이스들) 을 포함할 수도 있다. 예를 들어, 디바이스는 무선 매체를 통한 통신을 용이하게 하는 다양한 컴포넌트들 (예를 들어, 신호 생성기들 및 신호 프로세서들) 을 포함할 수도 있는 연관된 송신기 및 수신기 컴포넌트들 (예를 들어, 송신기 및 수신기) 을 갖는 무선 트랜시버를 포함할 수도 있다. 잘 알려진 바와 같이, 스마트폰 디바이스는 따라서, 다른 모바일 디바이스들, 셀 폰들, 다른 유선 및 무선 컴퓨터들, 인터넷 웹-사이트들 등과 무선으로 통신할 수도 있다.
정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수도 있다. 예를 들어, 상기 설명 전체를 통해 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 이들의 임의의 조합에 의해 표현될 수도 있다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 엔진들, 회로들, 및 알고리즘 동작들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 양자 모두의 조합들로서 구현될 수도 있다. 하드웨어와 소프트웨어의 이 상호교환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 엔진들, 회로들, 및 동작들은 그들의 기능성에 대해 전반적으로 전술되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 달라진다. 당업자는, 설명된 기능성을 각각의 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 이러한 구현 결정들은 본 청구항들의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다.
본원에서 개시된 실시형태들과 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합에 의해 구현되거나 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들어 DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
본원에서 개시된 실시형태들과 연계하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어에서, 프로세서에 의해 실행된 소프트웨어 모듈에서, 또는 이들 둘의 조합에서 직접적으로 구현될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독 전용 메모리 (ROM), 소거가능한 프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능한 프로그램가능 판독 전용 메모리 (EEPROM), 레지스터, 하드디스크, 착탈형 디스크, 컴팩트 디스크 판독 전용 메모리 (CD-ROM), 또는 이 기술에서 알려진 임의의 다른 형태의 저장 매체 내에 있을 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 프로세가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 있을 수도 있다. ASIC 는 사용자 단말기 내에 있을 수도 있다. 대안으로, 프로세서 및 저장 매체는 사용자 단말기에서 개별 컴포넌트들로 있을 수도 있다.
하나 이상의 예시적인 실시형태들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수도 있다. 컴퓨터 프로그램 제품과 같이 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령들 또는 코드로서 비일시적 컴퓨터 판독가능 매체 상에 저장되거나 또는 송신될 수도 있다. 컴퓨터 판독가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체 및 통신 매체 양자 모두를 포함한다. 저장 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수도 있다. 비제한적인 예로서, 이러한 비일시적 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장 디바이스, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 반송 또는 저장하는데 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체라고 적절히 칭해진다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 바와 같이, 디스크 (disk) 및 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들이 또한, 비일시적 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
개시된 실시형태들의 이전 설명들은 당업자가 본 청구항들을 실시하거나 사용하는 것을 가능하게 하도록 하기 위해 제공된다. 이들 실시형태들에 대한 다양한 수정들이 당업자에게는 자명할 것이고, 본원에서 정의된 일반적인 원리들은 본 청구항들의 범위를 벗어나지 않고 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본원에서 도시된 실시형태들에 제한되도록 의도되지 않고, 본원에 개시된 원리들과 신규의 특성들과 일치하는 최광의 범위를 제공하기 위한 것이다.

Claims (30)

  1. 컴퓨팅 디바이스의 터치스크린 상에서 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법으로서,
    사용자에 의한 상기 컴퓨팅 디바이스의 한 손 (single-handed use) 의 사용 동안 상기 가상 마우스를 활성화시키는 단계;
    사용자 터치 이벤트와 연관된 터치 영역을 식별하고;
    식별된 상기 터치 영역으로부터 터치 데이터를 수집하고;
    상기 사용자 터치 이벤트와 연관된 압력 및 방향 파라미터들을 결정하며;
    상기 사용자 터치 이벤트와 연관된 상기 압력 및 방향 파라미터들에 기초하여 상기 터치스크린 상의 포지션을 계산함으로써,
    상기 터치스크린 상의 상기 가상 마우스의 로케이션을 결정하는 단계; 및
    상기 가상 마우스의 결정된 상기 로케이션에서 상기 터치스크린 상에 커서 아이콘을 디스플레이하는 단계를 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  2. 제 1 항에 있어서,
    디스플레이된 상기 커서 아이콘은 한 손의 사용 동안 사용자의 손가락의 리치 (reach) 를 넘어 확장하도록 구성되는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  3. 제 1 항에 있어서,
    상기 가상 마우스를 활성화시키는 단계는, 상기 컴퓨팅 디바이스의 터치스크린 디스플레이의 미리결정된 가상 마우스 활성화 영역에서 터치 이벤트를 검출하는 단계를 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  4. 제 1 항에 있어서,
    상기 가상 마우스를 활성화시키는 단계는, 상기 컴퓨팅 디바이스가 상기 사용자에 의한 한 손의 사용에 일치하는 방식으로 홀딩되는 것을 검출할 때 활성화를 자동으로 개시하는 단계를 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  5. 제 3 항에 있어서,
    상기 가상 마우스가 활성화되는 동안, 비활성화 이벤트가 상기 컴퓨팅 디바이스 상에서 검출되는지 여부를 결정하는 단계; 및
    상기 비활성화 이벤트가 검출된다는 결정에 응답하여 상기 가상 마우스를 비활성화시키는 단계를 더 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  6. 제 5 항에 있어서,
    상기 가상 마우스가 활성화되는 동안, 비활성화 이벤트가 상기 컴퓨팅 디바이스 상에서 검출되는지 여부를 결정하는 단계는, 터치 이벤트가 상기 미리결정된 가상 마우스 활성화 영역에서 검출되는지 여부를 결정하는 단계를 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  7. 제 1 항에 있어서,
    상기 사용자 터치 이벤트와 연관된 방향을 결정하는 단계는, 상기 터치 영역에 피팅된 타원의 장축의 배향에 적어도 부분적으로 기초하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  8. 제 7 항에 있어서,
    상기 사용자 터치 이벤트와 연관된 압력 파라미터를 결정하는 단계는, 상기 터치 영역에 피팅된 상기 타원의 영역, 및 터치 압력 중 적어도 하나에 기초하며;
    상기 가상 마우스의 로케이션을 계산하는 단계는, 상기 가상 마우스의 상기 로케이션을 나타내는 벡터를 계산하는 단계를 포함하고,
    계산된 상기 벡터의 크기는 결정된 상기 압력 파라미터에 적어도 부분적으로 기초하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  9. 제 8 항에 있어서,
    상기 가상 마우스의 로케이션을 나타내는 벡터를 계산하는 단계는, 식 c + kpf 의 결과의 벡터를 계산하는 단계를 포함하고,
    c 는 초기 기준 포인트로부터 상기 터치 영역에 피팅된 상기 타원의 센터 포인트로의 벡터를 나타내고;
    k 는 스케일링 팩터를 나타내고;
    p 는 상기 결정된 압력 파라미터를 나타내며;
    f 는 상기 터치 영역에 피팅된 상기 타원의 상기 장축의 배향에 대응하는 벡터를 나타내는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  10. 제 8 항에 있어서,
    상기 가상 마우스의 로케이션을 나타내는 벡터를 계산하는 단계는, 식 c + kp(c - r) 의 결과의 벡터를 계산하는 단계를 포함하고,
    c 는 초기 기준 포인트로부터 상기 터치 영역에 피팅된 상기 타원의 센터 포인트로의 벡터를 나타내고;
    r 은 상기 초기 기준 포인트로부터 상기 타원의 상기 센터 포인트에 가장 가까운 상기 터치스크린 디스플레이의 코너로의 벡터를 나타내고;
    k 는 스케일링 팩터를 나타내고;
    p 는 상기 결정된 압력 파라미터를 나타내며, f 는 상기 터치 영역에 피팅된 상기 타원의 상기 장축의 배향에 대응하는 벡터를 나타내는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  11. 제 1 항에 있어서,
    프로젝팅된 커서 아이콘이 상기 터치스크린 상에 디스플레이된 그래픽 사용자 인터페이스 (GUI) 엘리먼트의 임계 거리 내에 위치되는 동안 선택 입력이 수신되는지 여부를 결정하는 단계; 및
    상기 프로젝팅된 커서 아이콘이 상기 터치스크린 상에 디스플레이된 그래픽 사용자 인터페이스 (GUI) 엘리먼트의 임계 거리 내에 위치되는 동안 상기 선택 입력이 수신된다는 결정에 응답하여 상기 GUI 엘리먼트와 연관된 동작을 실행하는 단계를 더 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  12. 제 11 항에 있어서,
    상기 GUI 엘리먼트와 연관된 상기 동작의 실행 후에 상기 가상 마우스를 자동으로 비활성화시키는 단계를 더 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  13. 제 1 항에 있어서,
    프로젝팅된 커서 아이콘이 상기 터치스크린 상에 디스플레이된 동작 가능한 그래픽 사용자 인터페이스 (GUI) 엘리먼트로부터 임계 거리 내에 포지셔닝되는지 여부를 검출하는 단계; 및
    상기 커서 아이콘이 상기 임계 거리 내에 포지셔닝된다는 것을 검출하는 것에 응답하여 상기 프로젝팅된 커서 아이콘을 상기 동작 가능한 GUI 엘리먼트로 드로잉하는 단계를 더 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  14. 제 1 항에 있어서,
    프로젝팅된 커서 아이콘이, 현재 선택된 동작 가능한 그래픽 사용자 인터페이스 (GUI) 엘리먼트로부터 떨어져 미리결정된 넌-제로 거리보다 더 많이 이동했는지 여부를 검출하는 단계; 및
    상기 프로젝팅된 커서 아이콘이 상기 현재 선택된 동작 가능한 GUI 엘리먼트로부터 상기 미리결정된 넌-제로 거리보다 더 많이 이동했다는 것을 검출하는 것에 응답하여 상기 동작 가능한 GUI 엘리먼트를 선택해제하는 단계를 더 포함하는, 가상 마우스를 구현하기 위해 프로세서에서 구현된 방법.
  15. 컴퓨팅 디바이스로서,
    터치스크린;
    메모리; 및
    상기 터치스크린 및 상기 메모리에 커플링된 프로세서를 포함하고,
    상기 프로세서는,
    사용자에 의한 상기 컴퓨팅 디바이스의 한 손의 사용 동안 가상 마우스를 활성화시키는 것;
    사용자 터치 이벤트와 연관된 터치 영역을 식별하고;
    식별된 상기 터치 영역으로부터 터치 데이터를 수집하고;
    상기 사용자 터치 이벤트와 연관된 압력 및 방향 파라미터들을 결정하며;
    상기 사용자 터치 이벤트와 연관된 상기 압력 및 방향 파라미터들에 기초하여 상기 터치스크린 상의 포지션을 계산함으로써,
    상기 터치스크린 상의 상기 가상 마우스의 로케이션을 결정하는 것; 및
    상기 가상 마우스의 결정된 상기 로케이션에서 상기 터치스크린 상에 커서 아이콘을 디스플레이하는 것을 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되고,
    프로젝팅된 커서 아이콘은 한 손의 사용 동안 사용자의 엄지 또는 손가락의 리치를 넘어 확장하도록 포지셔닝되는, 컴퓨팅 디바이스.
  16. 제 15 항에 있어서,
    상기 프로세서는, 디스플레이된 상기 커서 아이콘이 한 손의 사용 동안 사용자의 손가락의 리치를 넘어 확장하도록 구성되도록 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  17. 제 15 항에 있어서,
    상기 프로세서는, 상기 가상 마우스를 활성화시키는 것이 상기 컴퓨팅 디바이스의 터치스크린 디스플레이의 미리결정된 가상 마우스 활성화 영역에서 터치 이벤트를 검출하는 것을 포함하도록 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  18. 제 15 항에 있어서,
    상기 프로세서는, 상기 가상 마우스를 활성화시키는 것이, 상기 컴퓨팅 디바이스가, 상기 사용자에 의한 한 손의 사용에 일치하는 방식으로 홀딩된다는 것을 검출할 때 활성화를 자동으로 개시하는 것을 포함하도록 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  19. 제 17 항에 있어서,
    상기 프로세서는,
    상기 가상 마우스가 활성화되는 동안, 비활성화 이벤트가 상기 컴퓨팅 디바이스 상에서 검출되는지 여부를 결정하는 것; 및
    상기 비활성화 이벤트가 검출된다는 결정에 응답하여 상기 가상 마우스를 비활성화시키는 것을 더 포함하는,
    동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  20. 제 19 항에 있어서,
    상기 프로세서는, 상기 가상 마우스가 활성화되는 동안, 비활성화 이벤트가 검출되는지 여부를 결정하는 것이, 터치 이벤트가 상기 미리결정된 가상 마우스 활성화 영역에서 검출되는지 여부를 결정하는 것을 포함하도록 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  21. 제 15 항에 있어서,
    상기 프로세서는, 상기 사용자 터치 이벤트와 연관된 방향을 결정하는 것이 상기 터치 영역에 피팅된 타원의 장축의 배향에 적어도 부분적으로 기초하도록 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  22. 제 21 항에 있어서,
    상기 프로세서는,
    상기 사용자 터치 이벤트와 연관된 압력 파라미터를 결정하는 것이, 상기 터치 영역에 피팅된 상기 타원의 영역, 및 터치 압력 중 적어도 하나에 기초하며;
    상기 가상 마우스의 로케이션을 계산하는 것이, 상기 가상 마우스의 상기 로케이션을 나타내는 벡터를 계산하는 것을 포함하도록 프로세서 실행가능 명령들로 구성되고,
    계산된 상기 벡터의 크기는 결정된 상기 압력 파라미터에 적어도 부분적으로 기초하는, 컴퓨팅 디바이스.
  23. 제 22 항에 있어서,
    상기 프로세서는,
    상기 가상 마우스의 로케이션을 나타내는 벡터를 계산하는 것이, 식 c + kpf 의 결과의 벡터를 계산하는 것을 포함하도록 프로세서 실행가능 명령들로 구성되고,
    c 는 초기 기준 포인트로부터 상기 터치 영역에 피팅된 상기 타원의 센터 포인트로의 벡터를 나타내고;
    k 는 스케일링 팩터를 나타내고;
    p 는 상기 결정된 압력 파라미터를 나타내며;
    f 는 상기 터치 영역에 피팅된 상기 타원의 상기 장축의 배향에 대응하는 벡터를 나타내는, 컴퓨팅 디바이스.
  24. 제 22 항에 있어서,
    상기 프로세서는,
    상기 가상 마우스의 로케이션을 나타내는 벡터를 계산하는 것이 식 c + kp (c - r) 의 결과의 벡터를 계산하는 것을 포함하도록 프로세서 실행가능 명령들로 구성되고,
    c 는 초기 기준 포인트로부터 상기 터치 영역에 피팅된 상기 타원의 센터 포인트로의 벡터를 나타내고;
    r 은 상기 초기 기준 포인트로부터 상기 타원의 상기 센터 포인트에 가장 가까운 상기 터치스크린 디스플레이의 코너로의 벡터를 나타내고;
    k 는 스케일링 팩터를 나타내고;
    p 는 상기 결정된 압력 파라미터를 나타내며, f 는 상기 터치 영역에 피팅된 상기 타원의 상기 장축의 배향에 대응하는 벡터를 나타내는, 컴퓨팅 디바이스.
  25. 제 15 항에 있어서,
    상기 프로세서는,
    프로젝팅된 커서 아이콘이 상기 터치스크린 상에 디스플레이된 그래픽 사용자 인터페이스 (GUI) 엘리먼트의 임계 거리 내에 위치되는 동안 선택 입력이 수신되는지 여부를 결정하는 것; 및
    상기 프로젝팅된 커서 아이콘이 상기 터치스크린 상에 디스플레이된 그래픽 사용자 인터페이스 (GUI) 엘리먼트의 임계 거리 내에 위치되는 동안 상기 선택 입력이 수신된다는 결정에 응답하여 상기 GUI 엘리먼트와 연관된 동작을 실행시키는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  26. 제 25 항에 있어서,
    상기 프로세서는,
    상기 GUI 엘리먼트와 연관된 상기 동작의 실행 후에 상기 가상 마우스를 자동으로 비활성화시키는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  27. 제 15 항에 있어서,
    상기 프로세서는,
    프로젝팅된 커서 아이콘이 상기 터치스크린 상에 디스플레이된 동작 가능한 그래픽 사용자 인터페이스 (GUI) 엘리먼트로부터 임계 거리 내에 포지셔닝되는지 여부를 검출하는 것; 및
    상기 프로젝팅된 커서 아이콘이 상기 임계 거리 내에 포지셔닝된다는 것을 검출하는 것에 응답하여 상기 프로젝팅된 커서 아이콘을 상기 동작 가능한 GUI 엘리먼트로 드로잉하는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  28. 제 15 항에 있어서,
    상기 프로세서는,
    프로젝팅된 커서 아이콘이, 현재 선택된 동작 가능한 그래픽 사용자 인터페이스 (GUI) 엘리먼트로부터 떨어져 미리결정된 넌-제로 거리보다 더 많이 이동했는지 여부를 검출하는 것; 및
    상기 프로젝팅된 커서 아이콘이 상기 현재 선택된 동작 가능한 GUI 엘리먼트로부터 상기 미리결정된 넌-제로 거리보다 더 많이 이동했다는 것을 검출하는 것에 응답하여 상기 동작 가능한 GUI 엘리먼트를 선택해제하는 것을 더 포함하는 동작들을 수행하기 위한 프로세서 실행가능 명령들로 구성되는, 컴퓨팅 디바이스.
  29. 컴퓨팅 디바이스로서,
    터치스크린;
    사용자에 의한 상기 컴퓨팅 디바이스의 한 손의 사용 동안 가상 마우스를 활성화시키기 위한 수단;
    사용자 터치 이벤트와 연관된 터치 영역을 식별하기 위한 수단;
    식별된 상기 터치 영역으로부터 터치 데이터를 수집하기 위한 수단;
    상기 사용자 터치 이벤트와 연관된 압력 및 방향 파라미터들을 결정하기 위한 수단; 및
    상기 사용자 터치 이벤트와 연관된 상기 압력 및 방향 파라미터들에 기초하여 상기 터치스크린 상의 포지션을 계산하기 위한 수단을 포함하는,
    상기 터치스크린 상의 상기 가상 마우스의 로케이션을 결정하기 위한 수단; 및
    상기 가상 마우스의 결정된 상기 로케이션에서 상기 터치스크린 위에 커서 아이콘을 디스플레이하기 위한 수단을 포함하는, 컴퓨팅 디바이스.
  30. 컴퓨팅 디바이스의 프로세서로 하여금 동작들을 수행하게 하도록 구성된 프로세서 실행가능 명령들이 저장되는 비일시적 프로세서 판독가능 저장 매체로서,
    상기 동작들은,
    사용자에 의한 상기 컴퓨팅 디바이스의 한 손의 사용 동안 가상 마우스를 활성화시키는 것;
    사용자 터치 이벤트와 연관된 터치 영역을 식별하고;
    식별된 상기 터치 영역으로부터 터치 데이터를 수집하고;
    상기 사용자 터치 이벤트와 연관된 압력 및 방향 파라미터들을 결정하며; 그리고
    상기 사용자 터치 이벤트와 연관된 상기 압력 및 방향 파라미터들에 기초하여 상기 터치스크린 상의 포지션을 계산함으로써,
    상기 터치스크린 상의 상기 가상 마우스의 로케이션을 결정하는 것; 및
    상기 가상 마우스의 결정된 상기 로케이션에서 상기 터치스크린 위에 커서 아이콘을 디스플레이하는 것을 포함하는, 비일시적 프로세서 판독가능 저장 매체.
KR1020177012494A 2014-11-11 2015-11-11 손가락 압력 및 방향에 기초하여 커서를 제어하기 위한 시스템 및 방법들 KR20170083545A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462078356P 2014-11-11 2014-11-11
US62/078,356 2014-11-11
US14/937,306 US20160132139A1 (en) 2014-11-11 2015-11-10 System and Methods for Controlling a Cursor Based on Finger Pressure and Direction
US14/937,306 2015-11-10
PCT/US2015/060073 WO2016077414A1 (en) 2014-11-11 2015-11-11 System and methods for controlling a cursor based on finger pressure and direction

Publications (1)

Publication Number Publication Date
KR20170083545A true KR20170083545A (ko) 2017-07-18

Family

ID=55912208

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177012494A KR20170083545A (ko) 2014-11-11 2015-11-11 손가락 압력 및 방향에 기초하여 커서를 제어하기 위한 시스템 및 방법들

Country Status (6)

Country Link
US (1) US20160132139A1 (ko)
EP (1) EP3218792A1 (ko)
JP (1) JP2017534993A (ko)
KR (1) KR20170083545A (ko)
CN (1) CN107077297A (ko)
WO (1) WO2016077414A1 (ko)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
CN106201316B (zh) 2012-05-09 2020-09-29 苹果公司 用于选择用户界面对象的设备、方法和图形用户界面
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
JP6182207B2 (ja) 2012-05-09 2017-08-16 アップル インコーポレイテッド ユーザインタフェースオブジェクトのアクティブ化状態を変更するためのフィードバックを提供するためのデバイス、方法、及びグラフィカルユーザインタフェース
WO2013169853A1 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for providing tactile feedback for operations performed in a user interface
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
CN105260049B (zh) 2012-05-09 2018-10-23 苹果公司 用于响应于用户接触来显示附加信息的设备、方法和图形用户界面
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
JP6002836B2 (ja) 2012-05-09 2016-10-05 アップル インコーポレイテッド ジェスチャに応答して表示状態間を遷移するためのデバイス、方法、及びグラフィカルユーザインタフェース
EP3264252B1 (en) 2012-05-09 2019-11-27 Apple Inc. Device, method, and graphical user interface for performing an operation in accordance with a selected mode of operation
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
KR102001332B1 (ko) 2012-12-29 2019-07-17 애플 인크. 콘텐츠를 스크롤할지 선택할지 결정하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
WO2014105275A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for forgoing generation of tactile output for a multi-contact gesture
EP3435220B1 (en) 2012-12-29 2020-09-16 Apple Inc. Device, method and graphical user interface for transitioning between touch input to display output relationships
WO2014105279A1 (en) 2012-12-29 2014-07-03 Yknots Industries Llc Device, method, and graphical user interface for switching between user interfaces
KR102000253B1 (ko) 2012-12-29 2019-07-16 애플 인크. 사용자 인터페이스 계층을 내비게이션하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
EP2939095B1 (en) 2012-12-29 2018-10-03 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
JP6641570B2 (ja) * 2014-12-22 2020-02-05 インテル・コーポレーション マルチタッチ仮想マウス
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9990107B2 (en) 2015-03-08 2018-06-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US9785305B2 (en) 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US10067653B2 (en) 2015-04-01 2018-09-04 Apple Inc. Devices and methods for processing touch inputs based on their intensities
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9674426B2 (en) 2015-06-07 2017-06-06 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10346030B2 (en) 2015-06-07 2019-07-09 Apple Inc. Devices and methods for navigating between user interfaces
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US10409443B2 (en) * 2015-06-24 2019-09-10 Microsoft Technology Licensing, Llc Contextual cursor display based on hand tracking
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10248308B2 (en) 2015-08-10 2019-04-02 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interfaces with physical gestures
US10416800B2 (en) 2015-08-10 2019-09-17 Apple Inc. Devices, methods, and graphical user interfaces for adjusting user interface objects
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
JP6569546B2 (ja) * 2016-01-28 2019-09-04 富士通コネクテッドテクノロジーズ株式会社 表示装置、表示制御方法、および表示制御プログラム
CN107145289A (zh) * 2016-03-01 2017-09-08 富泰华工业(深圳)有限公司 可切换输入法的电子装置及其输入法切换方法、系统
CN107526513A (zh) * 2016-06-20 2017-12-29 中兴通讯股份有限公司 一种触摸屏终端上模拟鼠标操作的方法及装置
CN107728910B (zh) * 2016-08-10 2021-02-05 深圳富泰宏精密工业有限公司 电子装置、显示屏控制系统及方法
CN106790994A (zh) * 2016-11-22 2017-05-31 努比亚技术有限公司 控件的触发方法及移动终端
US10546109B2 (en) * 2017-02-14 2020-01-28 Qualcomm Incorporated Smart touchscreen display
CN109643216A (zh) * 2017-03-13 2019-04-16 华为技术有限公司 一种图标显示方法和终端设备
JP2018200494A (ja) * 2017-05-25 2018-12-20 シナプティクス・ジャパン合同会社 タッチコントローラ、表示システム及びホスト装置
SE542090C2 (en) * 2017-05-31 2020-02-25 Izettle Merchant Services Ab Touch input device and method
KR102374408B1 (ko) * 2017-09-08 2022-03-15 삼성전자주식회사 가상 현실에서의 포인터 제어 방법 및 전자 장치
US10540941B2 (en) 2018-01-30 2020-01-21 Magic Leap, Inc. Eclipse cursor for mixed reality displays
US11567627B2 (en) 2018-01-30 2023-01-31 Magic Leap, Inc. Eclipse cursor for virtual content in mixed reality displays
US11216160B2 (en) * 2018-04-24 2022-01-04 Roku, Inc. Customizing a GUI based on user biometrics
WO2019236344A1 (en) 2018-06-07 2019-12-12 Magic Leap, Inc. Augmented reality scrollbar
CN109164950B (zh) * 2018-07-04 2020-07-07 珠海格力电器股份有限公司 一种移动终端系统界面设置方法、装置、介质和设备
US11157152B2 (en) * 2018-11-05 2021-10-26 Sap Se Interaction mechanisms for pointer control
JP7309466B2 (ja) * 2019-06-11 2023-07-18 キヤノン株式会社 電子機器およびその制御方法
CN112445406A (zh) * 2019-08-29 2021-03-05 中兴通讯股份有限公司 终端屏幕操作方法及终端和存储介质
CN112558825A (zh) * 2019-09-26 2021-03-26 华为技术有限公司 一种信息处理方法及电子设备
US11934589B2 (en) 2019-10-10 2024-03-19 Microsoft Technology Licensing, Llc Configuring a mouse device through pressure detection
CN110825242B (zh) * 2019-10-18 2024-02-13 亮风台(上海)信息科技有限公司 一种用于输入的方法与设备
CN113093973B (zh) * 2019-12-23 2023-09-26 鹤壁天海电子信息系统有限公司 一种移动终端的操作方法、存储介质及移动终端
CN111443860B (zh) * 2020-03-25 2021-06-22 维沃移动通信有限公司 触控方法和电子设备
US11481069B2 (en) * 2020-09-15 2022-10-25 International Business Machines Corporation Physical cursor control in microfluidic display devices
CN112162631B (zh) * 2020-09-18 2023-05-16 聚好看科技股份有限公司 一种交互设备、数据处理方法及介质
CN112351324A (zh) * 2020-10-27 2021-02-09 深圳Tcl新技术有限公司 模拟鼠标控制方法、装置、设备及计算机可读存储介质
CN113703571B (zh) * 2021-08-24 2024-02-06 梁枫 一种虚拟现实人机交互的方法、装置、设备和介质
US11644972B2 (en) * 2021-09-24 2023-05-09 Htc Corporation Virtual image display device and setting method for input interface thereof
US11693555B1 (en) * 2022-01-12 2023-07-04 Adobe Inc. Pressure value simulation from contact area data

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7170496B2 (en) * 2003-01-24 2007-01-30 Bruce Peter Middleton Zero-front-footprint compact input system
US7499058B2 (en) * 2005-04-22 2009-03-03 Microsoft Corporation Programmatical access to handwritten electronic ink in a tree-based rendering environment
JP2010102474A (ja) * 2008-10-23 2010-05-06 Sony Ericsson Mobile Communications Ab 情報表示装置、携帯情報端末、表示制御方法及び表示制御プログラム
US20100214218A1 (en) * 2009-02-20 2010-08-26 Nokia Corporation Virtual mouse
US8493384B1 (en) * 2009-04-01 2013-07-23 Perceptive Pixel Inc. 3D manipulation using applied pressure
US20120200539A1 (en) * 2009-10-22 2012-08-09 Sharp Kabushiki Kaisha Display device and display device driving method
US9619056B1 (en) * 2010-03-26 2017-04-11 Open Invention Network Llc Method and apparatus for determining a valid touch event on a touch sensitive device
US8328378B2 (en) * 2010-07-20 2012-12-11 National Changhua University Of Education Package, light uniformization structure, and backlight module using same
US9052772B2 (en) * 2011-08-10 2015-06-09 Lester F. Ludwig Heuristics for 3D and 6D touch gesture touch parameter calculations for high-dimensional touch parameter (HDTP) user interfaces
DE112012003889T5 (de) * 2011-10-11 2014-06-05 International Business Machines Corporation Verfahren, Vorrichtung und Computerprogramm, die zum Zeigen auf ein Objekt dienen
US9671880B2 (en) * 2011-12-22 2017-06-06 Sony Corporation Display control device, display control method, and computer program
US9195502B2 (en) * 2012-06-29 2015-11-24 International Business Machines Corporation Auto detecting shared libraries and creating a virtual scope repository
KR20140033839A (ko) * 2012-09-11 2014-03-19 삼성전자주식회사 터치스크린을 구비한 단말에서 한 손을 이용한 사용자 인터페이스 방법 및 장치
US9483146B2 (en) * 2012-10-17 2016-11-01 Perceptive Pixel, Inc. Input classification for multi-touch systems
JP6137453B2 (ja) * 2013-02-08 2017-05-31 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 制御装置及び制御プログラム
KR102056316B1 (ko) * 2013-05-03 2020-01-22 삼성전자주식회사 터치 스크린 동작 방법 및 그 전자 장치
US9207772B2 (en) * 2013-05-13 2015-12-08 Ohio University Motion-based identity authentication of an individual with a communications device

Also Published As

Publication number Publication date
EP3218792A1 (en) 2017-09-20
JP2017534993A (ja) 2017-11-24
CN107077297A (zh) 2017-08-18
WO2016077414A1 (en) 2016-05-19
US20160132139A1 (en) 2016-05-12

Similar Documents

Publication Publication Date Title
KR20170083545A (ko) 손가락 압력 및 방향에 기초하여 커서를 제어하기 위한 시스템 및 방법들
US9965033B2 (en) User input method and portable device
EP2801009B1 (en) System for gaze interaction
EP2508972B1 (en) Portable electronic device and method of controlling same
EP2921947B1 (en) Device and method for controlling a display panel
KR101892567B1 (ko) 단말기에서 콘텐츠 이동 방법 및 장치
EP3229105A1 (en) Screen display method for wearable device, and wearable device
EP3370139A1 (en) Method and apparatus for rapidly dividing screen, electronic device, display interface and storage medium
EP2988202A1 (en) Electronic device and method for providing input interface
EP2657811A1 (en) Touch input processing device, information processing device, and touch input control method
US20150185953A1 (en) Optimization operation method and apparatus for terminal interface
WO2013133955A1 (en) Systems and methods for modifying virtual keyboards on a user interface
EP2840478A1 (en) Method and apparatus for providing user interface for medical diagnostic apparatus
KR102297473B1 (ko) 신체를 이용하여 터치 입력을 제공하는 장치 및 방법
KR20180001985A (ko) 전자 장치 및 그의 동작 방법
US20170097733A1 (en) Touch device with suppression band
EP2677413B1 (en) Method for improving touch recognition and electronic device thereof
US10908868B2 (en) Data processing method and mobile device
WO2018160258A1 (en) System and methods for extending effective reach of a user's finger on a touchscreen user interface
KR101503159B1 (ko) 시선의 위치를 감지하여 터치스크린을 제어하는 방법
CN108427534B (zh) 控制屏幕返回桌面的方法和装置
KR20150068682A (ko) 전자장치의 입력 제어장치 및 방법
KR20130102670A (ko) 터치스크린 단말기의 세밀한 조작을 위한 사용자별 손가락 및 터치 펜 접촉 위치 포인트 설정을 위한 방법 및 시스템
EP3433713B1 (en) Selecting first digital input behavior based on presence of a second, concurrent, input
EP3457269B1 (en) Electronic device and method for one-handed operation