KR20170005746A - 가상 키보드를 지원하는 전자 장치 및 이를 위한 가상 키보드 설정 방법 - Google Patents

가상 키보드를 지원하는 전자 장치 및 이를 위한 가상 키보드 설정 방법 Download PDF

Info

Publication number
KR20170005746A
KR20170005746A KR1020150157773A KR20150157773A KR20170005746A KR 20170005746 A KR20170005746 A KR 20170005746A KR 1020150157773 A KR1020150157773 A KR 1020150157773A KR 20150157773 A KR20150157773 A KR 20150157773A KR 20170005746 A KR20170005746 A KR 20170005746A
Authority
KR
South Korea
Prior art keywords
correction
electronic device
virtual keyboard
keyboard
points
Prior art date
Application number
KR1020150157773A
Other languages
English (en)
Other versions
KR102373934B1 (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 삼성전자주식회사
Priority to US15/133,564 priority Critical patent/US10248311B2/en
Publication of KR20170005746A publication Critical patent/KR20170005746A/ko
Application granted granted Critical
Publication of KR102373934B1 publication Critical patent/KR102373934B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명의 실시 예에 따라 가상 키보드를 지원하는 전자 장치는, 터치 입력을 지원하며, 상기 가상 키보드를 디스플레이하는 인터페이스부와, 상기 가상 키보드의 설정을 위한 보정 포인트들의 제1 집합에 포함되는 보정 포인트들의 서로에 대한 적어도 하나의 관계를 표시하고, 상기 표시는 상기 보정 포인트들의 제1 집합과 관련하여 상기 인터페이스부 상에서 이동 가능하게 배치된 적어도 하나의 제어 포인트를 가지고, 상기 적어도 하나의 제어 포인트의 배치에 기반하여 상기 가상 키보드의 그래픽 표현을 상기 인터페이스부 상에 생성하되, 상기 가상 키보드 영역의 설정은 상기 보정 포인트들의 제2 집합의 방향으로 상기 적어도 하나의 제어 포인트의 이동에 관해 조정 가능한 동작을 제어하는 제어부를 포함한다.

Description

가상 키보드를 지원하는 전자 장치 및 이를 위한 가상 키보드 설정 방법{ELECTRICAL DEVICE SUPPORTING VIRTUAL KEYBOARD AND METHOD FOR CONFIGURING A VIRTUAL KEYBOARD}
본 발명은 소프트 또는 가상 키보드를 제공하는 전자 장치에 관한 것이다. 보다 상세하게, 본 발명은 사람의 엄지의 자연스럽고 편안한 이동을 지원하는 보정된 설정의 키보드를 제공하는 전자 장치에 관한 것이다.
보다 큰 화면을 필요로 하는 사용자의 요구에 따라 큰 크기의 터치 스크린을 이용하는 단말에 대한 수요가 증가되고 있다. 터치 스크린을 이용하는 단말은 스마트 폰, 태블릿(tablet) PC, 패블릿(phablet) 등 다양한 종류로 출시되고 있다. 그러나 단말의 크기가 커지면서, 사용자가 한 손으로 단말을 조작하는 것이 보다 어려워지고 있다. 따라서 사용자의 한 손 조작을 지원하는 단말을 위한 다양한 형태의 소프트 또는 가상 키보드(이하, "가상 키보드")가 연구되고 있다.
2012년 5월 9일 공개된 인텔 사의 유럽 공개 특허 제2450783는 핸드헬드 장치들을 위한 가상 키보드의 구성을 개시하는 바, 여기서 가상 키보드의 키들은 핸드헬드 장치가 사용자의 손에 쥐어질 때 사용자의 엄지가 편리하게 닿는 호(arc) 형태로 배열되며, 상기 키들의 배치는 사용자의 엄지나, 개인의 선호 사항에 맞게 맞춤화될 수 있다.
또한 유럽 공개 특허 제2450783은, 사용자에게 터치 스크린 상에서 엄지로 하나의 호를 그리도록 요구하고, 사용자가 호를 그리면, 그 호의 위치를 기록함으로써 디스플레이 화면을 통해 호 모양의 가상 키보드를 제공하는 구성을 개시한다. 그 호의 위치는 가상 키보드의 키들의 행이 디스플레이 화면에서 어디에 배치될지를 결정하기 위해 사용될 수 있다. 그리고 하나 이상의 행이 디스플레이 화면에 배치되는 경우, 사용자에게 중간 호, 바깥 호, 및 안쪽 호를 그리도록 요구될 수 있다. 이러한 호들 각각을 "보정(calibration) 호"라고 부르는데, 그 이유는 상기 보정 호를 통해 키들의 행의 위치를 보정하여 그 행에 위치한 키들이 엄지를 통해 조작될 수 있는 편리한 위치에 배치될 수 있기 때문이다.
핸드헬드 장치가 해당 호의 평균 위치를 결정할 수 있도록, 사용자에게는 터치 스크린 상에서 한 번 이상 각각의 호를 덧그리도록 요구될 수 있다. 그리고 그려진 호에 기반하여 표현되는 키들은 한 손 동작을 지원한다.
상기한 종래 기술에서는 터치 스크린 상에서 호의 곡선을 그릴 때, 터치 스크린 상에서 엄지가 닿기에는 불편한 영역이 있는지 혹은 다른 제스쳐를 발생시키는지 등의 문제가 있다. 사용자는 터치 스크린 상에서 그려진 호의 곡선에 기반하여 생성된 가상 키보드의 조작에 편안함을 느낄 때까지 호의 곡선 그리기를 반복적으로 수행해야 한다. 게다가, 그러한 반복적 호 보정은 사용자가 불편함을 느낄 정도로 상당한 시간이 소요될 수 있으며, 엄지의 자연스러운 움직임에 맞지 않는 키보드 설정을 가져올 수도 있다.
따라서 한 손 조작을 지원하는 단말에서 가상 키보드의 설정 시, 상기한 반복적인 호 보정의 불편함을 해결하기 위한 방안이 요구된다.
본 발명은 가상 키보드를 지원하는 전자 장치에서 반복적인 보정이 요구되지 않는 효율적인 가상 키보드 설정 방법과 이를 위한 전자 장치를 제공한다.
본 발명의 실시 예에 따라 가상 키보드를 지원하는 전자 장치는, 터치 입력을 지원하며, 상기 가상 키보드를 디스플레이하는 인터페이스부와, 상기 가상 키보드의 설정을 위한 보정 포인트들의 제1 집합에 포함되는 보정 포인트들의 서로에 대한 적어도 하나의 관계를 표시하고, 상기 표시는 상기 보정 포인트들의 제1 집합과 관련하여 상기 인터페이스부 상에서 이동 가능하게 배치된 적어도 하나의 제어 포인트를 가지고, 상기 적어도 하나의 제어 포인트의 배치에 기반하여 상기 가상 키보드의 그래픽 표현을 상기 인터페이스부 상에 생성하되, 상기 가상 키보드 영역의 설정은 상기 보정 포인트들의 제2 집합의 방향으로 상기 적어도 하나의 제어 포인트의 이동에 관해 조정 가능한 동작을 제어하는 제어부를 포함한다.
본 발명의 실시 예에 따른 전자 장치는 데이터를 저장하고 프로그램 코드들을 포함하는 저장부를 가진다. 또한, 전자 장치 상에는 입력 데이터가 저장부 안에 저장되도록 수신하고 저장부로부터 출력 데이터를 출력하기 위한 인터페이스부가 제공된다. 인터페이스부는 상기 입력 데이터에 대응하는 보정 포인트들의 제1 및 제2 집합들이 입력될 수 있는 보정 영역들의 제1 집합을 가진다. 인터페이스부는 또한, 상기 입력 데이터에 대응하는 보정 포인트들의 제3 및 제4집합들이 입력될 수 있는 보정 영역들의 제2 집합을 가진다.
상기 보정 포인트들의 제1 집합은 인터페이스부와 관련하여 사용자의 엄지가 닿는 편안한 수직 범위를 나타냄이 바람직한 제1 보정 포인트, 및 인터페이스부와 관련하여 사용자의 엄지가 닿는 편안한 수평 범위를 나타냄이 바람직한 제2 보정 포인트를 포함한다. 보정 포인트들의 제2 집합은 인터페이스부와 관련하여 사용자 엄지의 클릭, 긴 클릭, 누르기, 스와이프(swipe)와 같은 편안한 제스처들을 나타냄이 바람직한 제3 및 제4보정 포인트들을 포함한다.
프로그램 코드들에 기본적으로 포함되는 것은, 프로세싱부에 의해 저장부로부터 액세스되어 실행 시, 프로세싱부가 인터페이스부 상에 제1 보정 포인트들의 서로에 대한 관계의 표시를 생성하고, 인터페이스부 상에 키보드 및 해당 출력 데이터의 그래픽 표현을 생성하는 동작을 수행하도록 하는 기계 실행가능 명령어들이다. 제1 및 제2 보정 포인트들의 관계는 제1 보정 포인트로부터 도출된 수평선 및 제2 보정 포인트로부터 도출된 수직선의 교차점을 통해 정해진다. 교차점과 관련한 상기 관계의 표시는 초기 곡선에 의해 규정된다. 초기 곡선은 베지어(Bezier) 곡선, 보다 상세하게는 큐빅 베지어 곡선임이 바람직하다.
두 개의 제어 포인트들이 상기 표시 상에 제공되고, 인터페이스부 상에 보정 포인트들의 제1 집합과 관련하여 이동 가능하게 배치된다. 키보드의 구성은 두 개의 제어 포인트들의 배치에 기반한다. 제어 포인트들이 이동 가능하므로, 키보드 영역의 설정은 제3 및 제4보정 포인트들을 포함하는 보정 포인트들의 제2 집합의 방향으로의 제어 포인트들의 이동과 관련하여 조정될 수 있다. 제어 포인트들의 이동에 기반하여 조정된 키보드 영역의 설정은 큐빅 베지어 곡선임이 바람직한 최종 곡선에 의해 규정된다.
인터페이스부와 관련하여 사용자 엄지의 편안한 제스처들을 가리키는 보정 포인트들의 제2 집합에 기반하는 키보드 영역의 조정 가능한 설정의 제공은, 한 손만을 사용하여 인터페이스부 상에 텍스트를 편리하게 입력할 수 있도록 보장한다. 보정된 키보드 설정은 사람 엄지의 곡선화된 자연스러운 움직임, 엄지 범위의 영역, 터치 스크린 상의 접촉 사이즈, 및 편안한 제스처들을 지원한다. 키보드 버튼들 각각의 사이즈는 큰 엄지 접촉 사이즈를 가진 사용자들과 입력 정확도를 위해 설계된 작은 치수의 터치 스크린 모바일 장치들에 맞도록 바람직하게 마련된다.
인터페이스부에 대해 사용자 엄지의 편안한 제스처를 가리키는 보정 포인트들의 제2 집합의 방향으로 사용자에 의해 조정될 수 있는 제어 포인트들의 제공은, 키보드 영역의 설정에 대한 보정을 수행하는 사용자가 자신의 엄지가 닿는 편안한 범위 및 다른 제스처들이나 자연스러움 움직임을 규정하는 보정 포인트들의 입력을 반복할 필요 없이, 한 번의 보정 시퀀스 중에 정확하고 무한정하게 키보드 영역의 설정을 재설정하게 할 수 있다.
본 발명의 다른 양태는 적어도 한 인터페이스부를 가진 전자 장치를 제어하는 기계 구현식의 방법을 제공한다. 상기 방법은 인터페이스부 상에 보정 영역들의 제1 집합을 생성하는 단계, 및 보정 영역들의 제1 집합 안에서 보정 포인트들의 제1 집합을 수신하는 단계를 포함한다. 상기 방법은 또한, 보정 포인트들의 제1 집합에 포함된 보정 포인트들의 관계에 대한 표시를 인터페이스부 상에 생성하는 단계, 상기 보정 포인트들의 제1 집합과 관련하여 인터페이스부 상에 이동 가능하게 배치되는 제어 포인트들을 상기 표시에 제공하는 단계, 및 상기 제공된 표시에 기반하여 보정 영역들의 제2 집합을 상기 인터페이스부 상에 생성하는 단계를 포함한다.
상기 보정 영역들의 제2 집합이 생성되었으면, 보정 영역들의 제2 집합 내 보정 포인트들의 제2 집합이 수신되고, 제어 포인트의 배치에 기반하여 특정된 설정의 키보드에 대한 그래픽 표현이 생성되며, 상기 키보드 영역의 설정은 보정 포인트들의 제2 집합의 방향으로 제어 포인트들의 이동과 관련해 조정된다.
도 1은 본 발명의 하나 이상의 실시예들에 따라, 보정된 키보드 설정을 제공하기 위한 전자 장치의 구성요소들을 도시한 블록도,
도 2는 도 1의 전자 장치에서 사용하기 적합한 보정된 키보드 설정을 제공하기 전에 요구되는 초기 셋업을 제공하기 위한 프로세스를 도시한 흐름도,
도 3은 도 1의 전자 장치에서 사용하기 적합한 보정된 가상 키보드 설정을 제공하기 위한 프로세스를 도시한 흐름도,
도 4 내지 도 22는 도 3의 보정된 가사 키보드 설정 동작을 설명하기 위한 디스프레이 화면들의 일 예를 나타낸 도면들.
하기에서 본 개시의 실시 예들을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 이하 첨부된 도면들을 참조하여 본 발명의 실시 예들을 설명하기로 한다.
이하 본 발명의 실시 예들에서 터치 스크린을 구비하며, 상기 터치 스크린의 디스플레이 화면을 통해 사용자의 한 손 조작이 가능한 가상 키보드를 지원하는 단말 등의 기기를 전자 장치라 통칭하기로 한다.
도 1은 본 발명의 실시 예에 따라 가상 키보드를 지원하는 전자 장치의 일 구성 예를 나타낸 블록도이다.
도 1을 참조하면, 전자 장치(100)는 저장부(102), 인터페이스부(104), 및 프로세싱부(106)를 포함한다.
도 1에서 상기 저장부(102)는 전자 장치(100)와 관련된 각종 데이터를 저장한다. 저장부(102)는 본 발명의 실시 예들에 따른 가상 키보드와 관련된 동작들을 수행하기 위해, 프로세싱부(106)가 실행할 수 있는 명령어들(108)을 가진 프로그램 코드들을 포함한다. 상기 명령어들(108)은 프로세싱부(106)가 실행할 수 있는, 기본적인 통신 기능 및 상기 가상 키보드와 관련된 복수의 기능들을 실행하도록 하는 복수의 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138) 중 적어도 하나를 포함하도록 구현될 수 있다. 저장부(102)는 RAM(random access memory)(110) 및 비휘발성 메모리(112)를 포함할 수 있다. 상기 복수의 소프트웨어 모듈들은, 비휘발성 메모리(112) 안에 저장될 수 있다. 비휘발성 메모리(112)는 플래시 메모리 유닛이나 배터리 백업 SRAM(static RAM) 유닛 등을 이용할 수 있다.
도 1에서 상기 인터페이스부(104)는 사용자가 비휘발성 메모리(112)에 로딩되어 일반적으로 저장부(102)로부터 프로세싱부(106)에 의해 실행되는 적어도 하나의 소프트웨어 모듈(126, 128, 130, 132, 134, 136, 138, 140)과 상호 작용할 수 있도록 구성 및 동작할 수 있다. 예를 들어 상기 인터페이스부(104)는 상기 프로세싱부(106)에 의한 실행 중에 상기 적어도 하나의 소프트웨어 모듈(126, 128, 130, 132, 134, 136, 138, 140)에 의해 검출 가능한 적어도 하나의 이벤트에 응답하고, 그 응답에 따라 해당되는 객체들이 인터페이스부(104)의 스크린 디스플레이(즉 디스플레이 화면)를 통해 그래픽으로 표현될 수 있다. 인터페이스부(104)는 상기 스크린 디스플레이를 통해 사용자로부터 데이터를 입력받아 사용자가 볼 수 있는 데이터를 출력하는 그래픽 유저 인터페이스(GUI)의 역할을 한다.
도 1에서 프로세싱부(106)는 전자 장치(100)가 수행할 수 있는 동작들 및 기능들을 제어한다. 프로세싱부(106)는 프로그램 코드들에 포함된 명령어들(108)을 액세스하고 실행한다. 프로세싱부(106)는 수학적, 논리적 동작들 및 입출력 동작들을 수행함으로써 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138, 140)이나 컴퓨터 프로그램들과 관련된 각종 명령어들을 실행하는 전자 장치(100) 내 구비된 마이크로 프로세서이다. 또한 프로세싱부(106)은 수학적이고 논리적인 동작들을 수행하기 위한 산술로직 유닛(미도시), 및 저장부(102)로부터 명령어들(108)을 가져온 뒤 그 명령어들(108)을 해석하여 및 실행하는 제어 유닛(미도시)을 포함할 수 있다.
상기 프로세싱부(106)는 전자 장치(100) 내에서, 그 전자 장치(100) 내에 포함된 하위 시스템들과 상호 동작할 수 있다. 상기 하위 시스템들은 예를 들어, 신호 송수신 기능들을 제공하는 트랜시버(114), 저장부(102)에 저장된 데이터의 포맷 변환(예컨대, 아날로그 포맷에서 디지털 포맷으로의 변환)과 같이 한 포맷에서 다른 포맷으로 변환하기 위한 데이터 컨버터(116), 외부 장치와의 통신 및 정보 교환을 제공하는 시리얼 포트(118), 음성 신호 출력을 처리하기 위한 스피커(120), 및 음성 신호 입력을 처리하기 위한 마이크로폰(122)을 포함할 수 있다.
도 1에서 상기 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138, 140)은 수행하는 기능에 따라 그룹화될 수 있다. 예를 들어 상기 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138, 140)은 키보드 모듈(124), 음성 통신 모듈(126), 및 데이터 통신 모듈(128)을 포함한다. 다른 소프트웨어 모듈들(130)도 마찬가지로 저장부(102) 안에 포함될 수 있다.
도 1에서 상기 키보드 모듈(124)은 가상 키보드의 설정과 관련된, 보정 모듈(calibration module)(132), 설정 모듈(configuration module)(134), 텍스트 예측 모듈(text prediction module)(136), 및 문자 매핑 모듈(character mapping module)(138) 중 적어도 하나를 포함한다. 기타 키보드 모듈들(140)도 마찬가지로, 저장부(102)에 저장되는 키보드 모듈(124) 안에 포함될 수 있다.
도 1에서 상기 보정 모듈(132)은 본 발명의 실시 예에 따른 가상 키보드 설정 시, 후술할 보정 동작을 수행하도록 구성된다. 상기 설정 모듈(134)은 키보드 설정의 보정된 인체공학적 컴포트 존(comfort zones)들에 따라 키보드 버튼들과 키보드 영역들의 레이아웃과 관련된 동작들을 수행한다. 상기 텍스트 예측 모듈(136)은 가상 키보드의 키보드 영역 상에서 사용자가 입력할 텍스트를 제안 및 예측하는 것과 관련된 동작들을 수행한다. 상기 문자 매핑 모듈(138)은 특정 문자들 및 기능들을 가상 키보드의 버튼들에 매핑하는 것뿐 아니라, 예컨대 클릭, 긴 클릭, 및 누르고 스와이프(swipe)하는 입력 제스처들을 처리하는 것과 관련된 동작들을 수행한다. 상기 문자 매핑 모듈(138)은 또한, 사용자가 수행한 제스처에 따라 전자 장치(100)의 가상 키보드에 대해 어떤 특정 타입의 액션이 수행되는지를 판단하도록 더 구성될 수 있다.
본 발명의 실시 예에 따라 보정된 키보드 설정을 제공하기 위한 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138 및 140)은 그들이 어떻게 구성되는지에 따라, 프로그램 코드들(108)의 개개 블록들에 대응될 수도 대응되지 않을 수도 있다. 이와 관련하여, 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138 및 140)의 각각에 대해 기술된 기능은 소정 시간 간격으로 비휘발성 메모리(112)에 저장되는 프로그램 코드들을 실행함으로써 구현될 수 있다.
또한, 상기 비휘발성 메모리(112)에 저장된 프로그램 코드들은 적절한 컴퓨팅 자원들 상에서 수행될 수 있으며, 도 1에서 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138 및 140)의 구성은 가상 키보드를 위한 보정된 키보드 설정을 제공하기 위해 일 구성 예를 나타낸 것이며, 소프트웨어 모듈들(126, 128, 130, 132, 134, 136, 138 및 140)은 하기 실시 예들을 수행할 수 있는 다양한 형태로 변형하여 구현될 수 있다.
또한, 상기 보정 모듈(132)은 프로세싱부(106)를 통해 인터페이스부(104)와 통신한다. 인터페이스부(104)는 저장부(102) 안에 저장될 입력 데이터를 수신할 뿐 아니라 저장부(102)로부터 출력 데이터를 출력하도록 되어 있다. 인터페이스부(104)는 상기 입력 데이터에 대응하는 보정 포인트들의 후술할 제1 및 제2 집합들이 입력될 수 있는 일련의 보정 영역들을 가진다. 상기 보정 포인트들은 가상 키보드의 설정을 위한 보정을 수행하는 사용자가 자신의 엄지가 닿는 편안한 범위 및 다른 제스처들이나 자연스러움 움직임을 규정한다.
도 1에서 프로그램 코드들에 포함된 명령어들(108)이 프로세싱부(106)에 의해 액세스되고 실행될 때, 프로세싱부(106)는 아래 (1), (2)의 동작들을 수행한다:
(1) 상기 제1 집합에 포함되는 보정 포인트들의 서로에 대한 관계를 인터페이스부(104)를 통해 표시한다. 여기서 상기 관계의 표시는 보정 포인트들의 제1 집합과 관련하여 인터페이스부(104)의 디스플레이 화면 상에서 이동 가능하게 배치되는 제어 포인트를 가질 수 있다.
(2) 상기 제어 포인트의 배치에 기반하여 출력 데이터에 대응하는 가상 키보드의 그래픽 표현을 인터페이스부(104) 상에 표시한다. 상기 가상 키보드에서 키보드 영역의 설정은 보정 포인트들의 제2 집합의 방향으로 상기 제어 포인트의 이동에 관해 조정 가능하다.
본 발명의 구체적인 실시 예를 설명하기에 앞서, 가상 키보드의 설정에서 상기 "설정"이라는 용어는 가상 키보드의 키들의 모양이나 형태, 치수나 사이즈, 지역 또는 영역, 배열 등과 같은 키보드 영역의 특징들을 나타내는 것으로 이해될 수 있다. 또한 상기 제1 집합에 포함되는 보정 포인트들의 둘 이상의 관계들 및 둘 이상의 제어 포인트들이 본 발명의 실시 예에 따라 보정된 키보드 설정을 제공하는 전자 장치(100)에 적절히 구성될 수 있다. 그리고 사용자 엄지의 편안한 제스처를 나타내는 보정 포인트들의 제2 집합의 방향으로 사용자에 의해 조정될 수 있는 제어 포인트의 제공은, 가상 키보드의 설정에 대한 보정을 수행하는 사용자가 자신의 엄지가 닿는 편안한 범위 및 다른 제스처들이나 자연스러움 움직임을 규정하는 보정 포인트들의 입력을 반복할 필요 없이, 한 번의 보정 시퀀스를 통해 가상 키보드에서 키보드 영역의 (재)설정하게 할 수 있다.
또한 본 발명의 실시 예에 따른 키보드 설정은 텍스트 예측 섹션, 알파벳 섹션, 그리고 기능 버튼 섹션 등의 3 개의 사용자 인터페이스 섹션들을 포함할 수 있다. 상기 알파벳 섹션은 키보드의 언어 설정에 따라 해당 언어를 지원하도록 변경될 수 있다.
또한 본 발명의 실시 예에 따른 가상 키보드 설정 방법은 예컨대, 5 인치 화면의 터치 스크린 등 비교적 큰 크기의 전자 장치는 물론 한 손 조작이 가능한 다양한 크기의 터치 스크린을 이용하는 각종 전자 장치에 적용될 수 있다.
도 2는 본 발명의 실시 예에 따른 전자 장치(100)에서 가상 키보드 설정 방법을 나타낸 순서도이다. 도 2의 실시 예는 가상 키보드 설정과 관련된 초기 설정 절차를 구체적으로 나타낸 것이다.
본 발명의 실시 예에 따른 전자 장치(100)의 상기한 소프트웨어 모듈들의 설치나 초기화 시, 전자 장치(100)는 사용자에게 가상 키보드를 (재)설정할지, 또는 가상 키보드의 디폴트 설정을 사용할지 여부를 선택할 수 있는 사용자 인터페이스 화면을 제공할 수 있다. 이때 사용자가 가상 키보드의 (재)설정을 선택하면, 설정 모듈(134)과 관련된 셋업 모듈(도시되지 않음)의 기능이 전자 장치(100)의 인터페이스부(104)를 통해 제공될 수 있다. 상기 셋업 모듈은 상기 가상 키보드의 설정을 위한 초기 설정 기능을 제공하며, 상기 셋업 모듈은 설정 모듈(134)에 포함되어 구현되거나 또는 별도의 소프트웨어 모듈로 구현될 수 있다.
도 2를 참조하면, 200 단계에서 셋업 모듈은 인터페이스부(104)를 통해 언어 선택을 사용자 인터페이스 화면을 디스플레이한다. 202 단계에서 상기 셋업 모듈은 상기 언어 선택에 포함되는 특정 언어(예컨대, 한국어, 영어, 중국어 등)가 전자 장치(100)의 인터페이스부(104)를 통해 사용자로부터 수신되었는지 여부를 판단한다. 상기 202 단계에서 셋업 모듈은 상기 언어 선택에 대한 입력이 수신될 때까지 정해진 루틴에 따라 언어 선택을 위한 사용자 인터페이스 화면을 제공한다. 이후 셋업 모듈은 언어 선택에 대한 입력이 수신된 경우, 204 단계로 진행하여 인터페이스부(104)를 통해, 상기 선택된 언어에 대한 (디폴트) 문자 매핑을 로드하고 디스플레이한다.
206, 208 단계에서 상기 셋업 모듈은 상기 문자 매핑에 대한 승인 여부를 판단하고, 상기 문자 매핑에 대한 긍정 승인이 있으면 210 단계로 진행하고, 부정 승인이 있으면, 212 단계로 진행한다. 상기 셋업 모듈은 인터페이스부(104)를 통해 상기 문자 매핑에 대한 사용자의 승인 여부를 입력받기 위한 사용자 인터페이스 화면을 제공할 수 있다. 이때 상기 긍정 승인인 경우, 상기 210 단계에서 셋업 모듈은 보정 모듈(132)과 통신하고, 보정 모듈(132)는 인터페이스부(104)를 통해 가상 키보드의 설정을 위한 사용자의 보정 터치(calibration touch)를 요청한다. 상기 부정 승인인 경우, 상기 212 단계에서 셋업 모듈은 인터페이스부(104)를 통해 사용자에게 문자 매핑을 위한 맞춤화 인터페이스(customization interface)를 제공한다. 상기 맞춤화 인터페이스는 사용자가 (디폴트) 문자 매핑을 사용자가 원하는 다른 문자 매핑으로 수정하거나 또는 선택 가능한 다수의 문자 매핑들을 사용자에게 표시하여 사용자가 선택한 문자 매핑으로 수정하도록 제공될 수 있다. 상기한 동작에 따라 문자 매핑을 위한 맞춤화가 완료되면, 상기 210 단계로 진행하여 가상 키보드의 설정을 위한 사용자의 보정 터치를 요청한다. 상기 문자 매핑을 위한 맞춤화 인터페이스는 상기 셋업 모듈을 통해 제공되거나 또는 문자 매핑 모듈(138)을 통해 제공될 수 있다. 상기 보정 터치를 위한 사용자 인터페이스 화면은 상기 보정 모듈(132)을 통해 제공된다.
상기와 같이 상기 보정 터치를 위한 사용자 인터페이스 화면이 제공된 후, 216 단계에서 보정 모듈(132)은 각각의 보정 영역마다 적어도 하나의 사용자 입력(즉, 보정 포인트)를 요청한다. 이하 설명에서는 편의상 보정 영역마다 하나의 사용자 입력을 요청하는 경우를 예로 들어 설명하기로 한다. 218 단계에서 각각의 보정 영역에 대해 요청된 사용자 입력이 보정 모듈(132)에 의해 검출되지 않을 때 루프가 형성된다. 상기와 같이 요청된 사용자 입력의 검출 시, 220 단계에서 보정 모듈(132)은 가상 키보드의 설정을 위한 인체공학적 컴포트 존(ergonomic comport zone)을 결정(산출)한다. 상기 인체공학적 컴포트 존을 설정하는 구체적인 방법에 대해서는 후술하기로 한다. 이후 222 단계에서 보정 모듈(132)은 상기 결정된 인체공학적 컴포트 존에 기반하여 텍스트 예측, 알파벳, 및 키보드 영역의 기능 버튼 섹션들을 결정(산출)한다. 그리고 224 단계에서 상기와 같이 결정된 가상 키보드의 설정이 전자 장치(100)에 적용된다. 상기 가상 키보드의 설정은 상기 인체공학적 컴포트 존의 결정, 가상 키보드의 레이아웃 및 문자 매핑 등과 관련된 설정 사항 및 가상 키보드와 관련된 조정 데이터 중 적어도 하나를 포함하는 것으로 이해될 수 있다. 상기한 도 2의 방법은 일 실시 예를 기술한 것이며, 상기 기술된 단계들 외에 가상 키보드의 설정과 관련하여 다른 단계들이 또한 포함될 수 있다.
이하 가상 키보드 설정과 관련하여, 사용자의 한 손 조작에 적합한 보정된 가상 키보드를 설정하는 절차를 도 3 내지 도 22를 참조하여 설명하기로 한다.
도 3은 본 발명의 실시 예에 따른 전자 장치(100)에서 가상 키보드 설정 방법을 나타낸 순서도이다.
먼저 도 3의 방법은 도 1에서 설명한 보정 모듈(132), 설정 모듈(134), 텍스트 예측 모듈(136), 문자 매핑 모듈(138) 및 기타 키보드 모듈(들)(140) 중 적어도 하나를 포함하는 키보드 모듈(124)을 통해 수행될 수 있으며, 도 3의 방법을 적용하면, 한 손 조작을 지원하는 전자 장치에서 가상 키보드의 설정 시, 반복적인 호 보정의 불편함을 해결할 수 있다. 이를 위해 상기 보정 모듈(132)은 가상 키보드의 곡률을 가상 키보드에 대한 터치 동작을 수행하는 사용자의 손 동작에 최적화시킨다. 상기 보정 모듈(132)은 구체적으로, 한 손을 사용하는 터치 동작 수행과 관련하여 사용자에게 적합한 키보드 설정의 인체공학적 컴포트 존을 산출하고 인식하도록 구성된다. 좌측 및 우측 손의 보정은 엄지의 여러 자연스러운 움직임과 닿는 범위를 가질 수 있는 양 손에 비해 구별될 수 있다.
또한 보정된 키보드 설정을 제공하는 것과 관련하여, 상기 보정 모듈(132)은 두 단계의 보정 동작을 제공한다.
상기 보정 동작의 제1 단계는 가상 키보드의 가장 편안한 높이 및 너비를 결정하는 것에 관한 것이다. 상기 보정 동작의 제2 단계는 인체공학적 컴포트 존의 곡률을 결정하는 것에 관한 것이다.
상기 제1 단계의 보정 동작을 수행하기 전에, 보정 모듈(132)은 키보드 설정을 제공하는 과정에서 사용자가 가상 키보드를 사용하는 손이 왼손인지 오른손인지를 선택하도록 전자 장치(100)의 인터페이스부(104)를 통해 사용자 인터페이스 화면을 제공한다. 상기 사용자 인터페이스 화면을 통해 왼손 또는 오른손의 선택이 이루어지면, 보정 모듈(132)은 가상 키보드 설정을 위한 보정 영역들의 높이 및 너비를 결정(산출)한다. 높이 보정 영역(CR1)은 최소 및 최대 한계치를 가질 수 있다. 도 4 및 도 5의 예와 같이 높이 보정 영역(CR1)은 스크린 디스플레이(즉 디스플레이 화면) 높이의 40% 내지 70%일 수 있다. 한편, 너비 보정 영역(CR2)은 스크린 디스플레이 너비의 50% 내지 75%의 범위를 가질 수 있다. 이러한 높이 및 너비 보정 영역들(CR1, CR2)은, 전자 장치의 인터페이스부(104)를 통해 제공되는 디스플레이 화면의 측면 가까이에 배치될 수 있다.
도 3을 참조하면, 300 단계에서 보정 모듈(132)은 도 4 및 도 5에 예시된 것처럼, 상기 제1 단계의 보정 동작을 통해, 높이 및 너비 보정 영역들(CR1, CR2)로부터 보정 포인트들(CP1, CP2)의 제1 집합을 획득한다. 높이 보정 영역(CR1)으로부터 사용자의 엄지가 닿는 위치의 보정 포인트(CP1)가 획득되고, 너비 보정 영역(CR2)로부터 사용자의 엄지가 닿는 위치의 보정 포인트(CP2)가 획득된다.
이를 위해 보정 모듈(132)은 초기에 사용자 인터페이스 화면 상에서, 보정 영역들의 제1 집합(CR1, CR2) 안에 포함된 제1 보정 영역(CR1) 내에서, 보정 포인트들의 제1 집합(CP1, CP2)에 포함된, 제1 보정 포인트(CP1)를 그리기 위한 프롬프트를 제공한다. 제1 보정 포인트(CP1)는 도 4의 스크린 디스플레이에 도시된 바와 같이 사용자의 엄지에 대해 가장 편안한 키보드 높이를 가리키기 위해 만들어진다. 그런 다음, 보정 모듈(132)은 사용자 인터페이스 화면 상에서, 보정 영역들의 제1 집합(CR1, CR2) 안에 포함된 제2 보정 영역(CR2) 내에서, 보정 포인트들의 제1 집합(CP1, CP2)에 포함된, 제2 보정 포인트(CP2)를 그리기 위한 프롬프트를 제공한다. 제2 보정 포인트(CP2)는 도 5의 스크린 디스플레이에 따로 도시된 바와 같이 사용자의 엄지에 대해 가장 편안한 키보드 너비를 가리키기 위해 만들어진다.
이후 302 단계에서, 보정 모듈(132)은 제1 및 제2 보정 포인트들(CP1, CP2)에 대한 사용자 입력이 검출되었는지를 판단한다. 상기 302 단계에서 제1 및 제2 보정 포인트들(CP1, CP2)에 대한 사용자 입력이 검출되지 않은 경우, 상기 300 단계의 동작을 반복한다. 상기 302 단계에서 제1 및 제2 보정 포인트들(CP1, CP2)에 대한 사용자 입력이 검출된 경우, 304 단계에서 보정 모듈(132)은 도 6과 같이 사용자 엄지의 편안한 높이를 나타내는 제1 보정 포인트(CP1) 및 사용자 엄지의 편안한 너비를 나타내는 제2 보정 포인트(CP2)를 이용하여 대각 기저선(diagonal base line)(LD)을 계산한다. 대각 기저선(LD)은 제1 및 제2 보정 포인트들(CP1, CP2) 모두를 통과하는 선을 획득함으로써 계산될 수 있다.
또한 보정 모듈(132)은 도 7 및 도 8과 같이, 제1 보정 포인트(CP1)에서 도출된 수평선(LH) 및 제2 보정 포인트(CP2)에서 도출된 수직선(LW)에 대해 계산한다. 수평선(LH)은 도 7과 같이 제1 보정 포인트(CP1)를 통과하는 수평선을 획득함으로써 계산될 수 있다. 수직선(LW)은 도 8과 같이 제2 보정 포인트(CP2)를 통과하는 수직선을 획득함으로써 계산될 수 있다.
상기와 같이 수평선(LH)과 수직선(LW)이 계산되면, 보정 모듈(132)은 306 단계에서 도 9와 같이 수평선(LH) 및 수직선(LW)의 교차점(PX)을 계산한다. 상기 교차점(PX) 또한 보정 포인트로 이해될 수 있다. 상기와 같이 계산된 교차점(PX), 제1 보정 포인트(CP1), 제2 보정 포인트(CP2), 및 대각 기저선(LD)은 다음 보정 단계에서 제3 및 제4 보정 영역들(CR3, CR4)을 포함하는 보정 영역들의 제2 집합(CR3, CR4)에 대한 계산 시 필요하다.
세 개의 보정 포인트들(CP1, CP2, 및 PX)의 결정 시, 보정 모듈(132)은 도 11과 같이, 308 단계에서 초기 큐빅 베지어 곡선(C1)에 대해 계산한다. 컴퓨터 그래픽 및 관련 분야들에서 일반적으로 사용되는 매개변수 곡선인 초기 베지어 곡선(C1)은 아래 <수학식 1>을 이용하여 표현될 수 있다.
<수학식 1>
B(t) = (1- t)3P0 + 3(1- t)2tP1 + 3(1- t)t2P2 + t3P3 여기서 t ∈ [0,1]
상기 <수학식 1>에 상기한 보정 포인트들 PH, PW 및 PX을 적용하면, 아래와 같은 <수학식 2>가 도출된다. 여기서 상기 PH는 상기 제1 보정 포인트(CP1), 상기 PW는 상기 제2 보정 포인트(CP2)를 의미한다.
<수학식 2>
B(t) = (1- t)3PW + 3(1- t)2tPX + 3(1- t)t2PX + t3PH 여기서 t ∈ [0,1]
그리고 상기 교차점 PX는 초기 베지어 곡선을 계산하는데 필요한 상기 <수학식 1>에서 P1 및 P2의 두 포인트들의 기능을 한다. 상기 <수학식 2>는 초기 이차(quadratic) 베지어 곡선(C1)을 제공한다.
상기 308 단계에서 초기 베지어 곡선(C1)을 얻은 후, 310 단계에서, 보정 모듈(132)은 도 12와 같이 상기 계산된 초기 베지어 곡선(C1) 및 베지어 기저선(LB)으로 둘러싸인 보정 영역들의 제2 집합(CR3, CR4)에 대해 계산한다. 이때 보정 모듈(132)은 도 12와 같이, 포인트들 PX 및 PBC를 통과하는 베지어 기저선(LB) 뿐만 아니라, 대각 기저선(LD) 및 베지어 곡선(C1)으로 둘러싸인 영역(R)에 대해 계산한다. 312 단계에서 보정 모듈(132)은 도 13 및 도 14와 같이, 분할 선인 베지어 기저선(LB)을 이용하여 영역(R)을 두 부분으로 분할한다. 그 분할된 두 부분으로부터 파생되어 314 단계에서 디스플레이된 영역들은 제2 보정 단계를 위한 면적을 특정한다.
보정 모듈(132)이 실행하도록 된 동작들의 제2 단계는 인체공학적 컴포트 존의 곡률을 결정하는 것에 관한 것이다. 블록(316)에서, 보정 모듈(132)은 제3 및 제4 보정 영역들(CR3, CR4) 상에서 각각 사용자 입력을 요청한다. 보정 모듈(132)은 두 보정 영역들(CR3, CR4) 각각에 있는 하나의 포인트를 터치 입력할 것을 사용자에게 요청한다. 제3 및 제4 보정 포인트들(CR3, CR4)의 제2 집합에 포함된 제3 보정 포인트(CP3)에 대한 터치 입력이 수신된 경우, 도 15와 같이, 제3 및 제4 보정 영역들(CR3, CR4)의 제2 집합에 포함된 제3 보정 영역(CR3)에 표시될 수 있다. 보정 포인트들(CP3, CP4)의 제2 집합에 포함된 제4보정 포인트(CP4)에 대한 터치 입력이 수신된 경우, 도 16과 같이, 제3 및 제4 보정 영역들(CR3, CR4)의 제2 집합에 포함된 제4 보정 영역(CR4)에 표시될 수 있다.
이후 318 단계에서 보정 모듈(132)은 도 17과 같이 제3 및 제4 보정 포인트들(CP3, CP4)이 검출되면, 320 단계에서 보정 모듈(132)은 전자 장치의 인터페이스부(104)를 통해 사용자가 입력한 제3 및 제4 보정 포인트들(CP3, CP4)을 이용하는 베지어 포인트들로 특징지어지는 보정된 제어 포인트들(P1, P2)(즉 보정된 베지어 포인트들)을 계산한다. 이후, 보정 모듈(132)은 도 18과 같이 제3 및 제4 보정 포인트들(CP3, CP4)을 통과하는 초기 베지어 곡선으로 특징지어지는 제어 포인트들(P1, P2)을 재조정하라고 사용자에게 명령하는 프롬프트를 사용자에게 제공할 수 있다. 두 제어 포인트들(P1, P2)이 도 18에 도시되고 있지만, 제어 포인트들의 개수에는 제한이 없다.
상기 제3 및 제4 보정 포인트들(CP3, CP4)의 방향으로의 제어 포인트들(P1, P2)의 이동과 관련된 가상 키보드의 설정은 도 19에서 C0로 도시된 최종의 인체공학적 베지어 곡선에 기반할 수 있다. 이후 322 단계에서 보정 모듈(132)은 도 20과 같이, 인체공학적 컴포트 존(또는 간략히 "컴포트 존"이라 칭할 수 있다.)을 계산한다. 제3 및 제4 보정 포인트들(CP3, CP4)의 방향으로의 제어 포인트들(P1, P2)의 재조정 후, 전자 장치의 인터페이스부(104)와 관련한 사용자 엄지의 편안한 제스처를 나타내는 컴포트 존이 계산된다. 상기 컴포트 존의 상위 곡선 한계(C0U)는 C0보다 넓은 5%의 오프셋을 가진다. 상기 컴포트 존의 하위 곡선 한계(C0L)는 도 21와 같이 C0보다 좁은 80%의 오프셋을 가진다.
상기와 같이 컴포트 존이 계산된 후, 324 단계에서 보정 모듈(132)은 키보드 설정의 섹션들을 계산한다. 구체적으로, 보정 모듈(132)은 도 22와 같이, 텍스트 예측, 알파벳, 기능 버튼, 및 팜 홀(palm hole) 등을 계산한다. 텍스트 예측 섹션의 상한은 C0U 보다 15% 더 넓고, 그 하한은 5% 더 좁다. 알파벳 섹션의 상한은 텍스트 예측 섹션의 하한과 동일하며, 그 하한은 C0U보다 40% 더 좁다. 기능 버튼 섹션의 상한은 알파벳 섹션의 하한과 동일하며, 그 하한은 C0U의 하한과 동일하다. 남은 섹션의 나머지가 팜 홀 섹션에 할당된다. 이후 326 단계에서 보정 모듈(132)은 상기한 단계들에 기반하여 보정된 가상 키보드 설정을 적용한다. 이때 보정 모듈(132)은 계산된 섹션들에 기반하여 모든 버튼들을 디스플레이하여 사용자에게 보여줄 수 있다. 상기 섹션들에서 언급된 모든 비율, 백분율, 또는 오프셋들은 본 발명의 보정된 가상 키보드 설정을 제공하기 위한 전자 장치의 하나 이상의 구현 예들에 따라 가변될 수도 있다는 것을 알아야 한다.
언급한 대로, 본 발명의 하나 이상의 실시 예들에 따라 전자 장치에 의해 제공되는 키보드 설정은 3 개의 섹션들, 즉 (1) 텍스트 예측 섹션; (2) 알파벳 섹션; 및 (3) 기능 버튼 섹션을 포함한다. 이러한 3 개의 섹션들 외에, 키보드 설정 시 구현될 수 있는 비기능성 섹션이 존재할 수도 있다. 이 비기능성 섹션은 키보드 설정의 하위 코너에 위치하는 "팜 홀 섹션"이라 불려질 수 있다. 텍스트 예측 섹션은 키보드 영역의 바깥 부분과 근접하여 배치됨이 바람직하다. 알파벳 및 기능 버튼 섹션들 각각은 키보드 영역의 안쪽 부분과 근접하여 배치됨이 바람직하다.
팜 홀 섹션은 엄지의 기저에 위치하는 손바닥의 일부 또는 모지구근(Thenar muscels)에 의한 불필요한 터치 입력을 피한다는 목적을 가진다. 그러한 모지구근은 종종 한 손 조작 중 불필요한 터치 입력을 야기한다. 본 발명의 전자 장치의 보정된 키보드 설정은 전자 기기의 인물묘사 스크린 방향으로 적용됨이 바람직할 수 있으며, 여기 도시된 전자 기기의 구성 요소들에 대한 자명한 변경과, 이러한 구성요소들이 본 발명의 보정 프로세스를 적용하기 위해 서로 어떻게 상호작용하는지가 실질적 실험 없이 수행될 수 있다는 것을 알아야 한다. 이와 관련하여, 당업자라면 본 발명의 전자 장치의 보정된 키보드 설정이 전자 장치의 다른 스크린 방향으로 적용될 수 있다는 것을 쉽게 알 수 있을 것이다.
텍스트 예측 섹션은 소프트 키보드의 가장 멀거나 바깥의 섹션에 배치되는데, 이는 그 섹션이 세 개의 기능적 섹션들 중에서 최소한으로 사용되기 때문이다. 각각의 텍스트 서제스천(suggestion)은 알파벳 섹션의 바깥 부분을 따라 수평으로 배열된다. 텍스트 서제스천 오버플로우의 경우, 이 섹션은 오버플로우된 텍스트 서제스천들을 보이기 위해 룰렛이나 카루젤처럼 기능한다.
알파벳 섹션은 그것이 세 개의 기능적 섹션들 사이에서 가장 많이 사용되기 때문에 가장 편안한 존 근처에 배치된다. 이 섹션들에서의 디폴트 문자 매핑들은 가장 자주 사용된 문자들이 일차 문자들로서 설정되고 가장 덜 사용된 문자들은 이차 문자들로서 매핑되는 방식으로 구성된다.
기능 버튼 섹션은 이 섹션이 세 개의 기능적 섹션들 사이에서 두 번째로 가장 많이 사용되기 때문에 "팜 홀" 근처에 배치된다.
보정된 키보드 설정과 관련된 문자 입력 방법에 있어서, 본 발명의 한 특징은 문자나 기능 입력에 대한 독창적 방법이다. 문자 입력 방법은 키보드가 하나의 버튼을 통해 한 개에서 아홉 개까지의 액션들이나 문자들을 매핑하게 할 수 있는 프레스 앤 스와이프(press and swipe) 방법을 구현한다. 문자 입력 방법은 레이아웃 공간을 최적화하는 동시에, 입력 정확도를 높이고 일반적으로 사용자 경험을 개선하도록 버튼들을 더 크게 하는데 효과적이다. 그러한 문자 입력 방법은 알파벳 및 기능 버튼 섹션들에서 가장 잘 구현된다.
알파벳 및 기능 버튼 섹션의 입력 방법에 대한 몇 가지 차이들이 존재할 수 있다; 그러나, 일반적으로 유사한 구성을 가질 것이다. 알파벳 및 기능 섹션들의 구성에 있어 주요한 차이는, 알파벳 섹션은 전자 장치의 인터페이스부를 통해 사용자로부터 누름 동작을 검출한 후 둥근 인터페이스를 내놓는다(팝 아웃 한다)는 데 있다. 둥근 팝 아웃은 팝 아웃의 경계 주변에 섹터화된(sectored) 이차 문자들을 디스플레이한다. 한 번의 누름 동작은 일차 매핑된 문자를 입력하고, 특정 팝 아웃 섹터를 향한 프레스 앤 스와이프 제스처의 조합은 이차 문자를 입력한다. 이차 문자 라벨들이 초기 알파벳 버튼 외양에서는 작게 나타나기 때문에 팝 아웃이 필요하다. 이차 문자 라벨들은 팝 아웃 섹터들에서 보다 크게 나타나도록 구현될 수 있다.
반대로, 기능 버튼 섹션은 알파벳 섹션과 비교할 때 상이하게, 즉 팝 아웃 구현 없이 구성될 수 있다. 기능 버튼 섹션 내 버튼들은 상대적으로 크기 때문에, 이차 문자 라벨들도 마찬가지로 상대적으로 보다 큰 폰트들을 가지며, 그에 따라 그러한 버튼들이 팝 아웃 섹터들을 통해 확대되어야 할 실질적 필요가 없다. 알파벳 섹션과는 달리, 기능 버튼 섹션 또한, 대문자 전환 버튼과 같은 해당 버튼들에 대한 토글(전환) 액션들을 구현할 수 있다. 기능 버튼 섹션은 또한 긴 누름 동작 후에 특정 주요 기능들로 빠르게 바뀔 수 있는 상호변환가능 일차 기능 버튼들을 구현할 수 있다. 그것의 일 예가 세팅 버튼으로, 이것은 사용자 선택에 따라 음성, 손글씨 쓰기, 또는 클립보드 버튼으로 빠르게 바뀔 수 있다. 모든 버튼 입력 방법은 본 발명의 구현에 따라 가변될 수 있다.
프레스 앤 스와이프 입력 방법 외에, 클릭, 제스처 및 연속적인 입력과 같은 다른 입력 방법들이 구현될 수 있다. 제스처 입력들은 사용자 프로필 스위칭 및 기타 기능들을 일으킬 수 있다. 연속 입력 방법은 사용자가 본 발명의 전자 장치의 보정된 키보드 설정을 특징으로 하는 터치 감지 스크린 상에서 해제하는(releasing) 접촉 없이 단어들을 입력할 수 있게 한다.
맞춤화와 관련하여, 본 발명의 전자 장치의 소프트 모듈들은 사용자가 보정된 키보드 설정의 특정 설정사항들을 변경할 수 있는 설정 및 선호사항(settings and preferences)을 포함할 수 있다. 설정 및 선호사항 사용자 인터페이스는 디폴트 및 사용자 정의 프리셋들, 보정 옵션들, 언어 설정, 텍스트 예측, 및 사용자 사전을 포함할 수 있다. 더 나아가, 설정 및 선호사항 사용자 인터페이스는 종래의 가상 소프트 키보드에서 일반적으로 발견되는 옵션들을 포함할 수 있다.
설정 및 선호사항 사용자 인터페이스는 기능 버튼을 길게 눌러서 액세스될 수 있다. 설정 및 선호사항 사용자 인터페이스를 액세스하기 위한 수단은 상술한 방법에 국한되지 않으며, 그러한 사용자 인터페이스는 본 발명의 전자 장치의 소프트웨어 모듈들의 구성에 따라 다른 방법들을 통해 액세스될 수도 있다. 사용자 정의 설정 및 선호사항들은 클라우드 서버나 xml 파일에 백업될 수 있다. 이러한 백업사항들은 소프트 키보드의 재설정이라는 귀찮은 상황을 줄이기 위해 복구되거나 임포트(imported) 될 수 있다. 이 소프트 키보드는 또한, 모든 설정 및 구성들이 저장되어 여러 사용자 지원을 위해 특정 사용자에게 매핑되는 사용자 프로파일링 기능을 가질 수 있다.
언어 지원과 관련하여, 본 발명의 전자 장치의 소프트웨어 모듈들은 영어와 같이 복잡하지 않은 알파벳 시스템을 가진 언어들을 지원한다. 복잡한 언어들을 위한 언어 지원은 본 발명의 보정된 키보드 설정을 제공하는 전자 장치의 구현에 따라 상술한 소프트웨어 모듈들과 연계하여 적절히 구성될 수 있다.
문자 매핑과 관련하여, 알파벳 섹션 내 각각의 버튼은 사용자가 수행할 수 있는 맞춤화된 문자 매핑을 가질 수 있다. 이러한 특성은 사용자가 그들 자신의 수요에 맞춰 문자 매핑들을 맞춤화할 수 있게 한다. 지원되는 언어들에 대한 디폴트 키보드 매핑들은 가장 자주 사용된 문자들에 따라 가장 덜 자주 사용된 문자들로 최적 매핑된다는 것을 아는 것이 중요하다.
전자 장치에서 미리 정해진 문자 매핑들을 수정하는 것은 개선점을 가질 수 있다. 특정 언어의 문자 매핑을 수정하기 위한 문자 매핑 모듈의 다양한 작업흐름들이 본 발명에서 구현될 수 있다. 그러한 작업흐름들은 본 발명의 보정된 키보드 설정을 제공하기 위한 전자 장치의 구현에 따라 가변 될 수 있다. 먼저, 모듈에 의해 사용자의 언어 선택이 촉구될 수 있다.
언어 선택 모듈은 언어 디폴트 매핑들 및 프로세스 중에 매핑될 알파벳 문자들을 특정한다. 어어서, 문자 매핑 선택 모듈이 사용자에게, 얼마나 많은 버튼들이 디스플레이되고 매핑되어야 하는지에 대해 재촉하도록 구성된다. 배치되고 매핑될 수 있는 버튼들의 최대 및 최소 개수는 언어의 알파벳 수 및 알파벳 영역의 이용 가능한 사이즈에 따라 좌우된다. 하나의 버튼은 1 내지 9 개의 알파벳 문자들을 포함함이 바람직하다.
다음으로, 문자 매핑 모듈은 사용자에게 문자들을 매핑할 버튼을 선택하라고 촉구하도록 구성된다. 선택 시, 문자 매핑 모듈은 사용자에게, 선택된 버튼에 매핑될 문자들의 개수를 입력하라고 촉구한다. 그런 다음, 하나의 버튼이 그 팝업을 따라 제공될 수 있다. 그러면 문자 매핑 모듈은 사용자에게 명령하여, 그가 문자를 매핑하고 싶어하는 제공된 버튼의 특정 섹션을 클릭하게 할 수 있다. 사용자는 원하는 매핑이 바람직하게 수행될 때까지 이 프로세스를 반복할 필요가 있다.
마지막으로, 원하는 매핑이 수행되면, 문자 매핑 모듈은 그 매핑을 소프트 키보드에 적용한다. 그것은 사용자에게, 맞춤 매핑을 저장하거나 백업하는데 필요한 맞춤 문자 매핑의 명칭을 입력하라고 촉구할 것이다.
알파벳 섹션만이 자신의 문자 매핑이 변경되게 할 수 있다는 것을 알아야 한다. 기능 버튼 섹션의 매핑은 영구적이라 변형될 수 없다. 기능 버튼 섹션에 포함된 일부 기능들은 비한정적으로 다음과 같은 것들이다: (1) 왼손 및 오른손 동작 전환(토글), 대문자/소문자 전환, 이모티콘이나 스마일리 전환, 삭제 버튼, 설정 버튼, 화이트스페이스 버튼들, 숫자 패드, 및 일반 구두점 버튼들. 상술한 것과 같은 일부 버튼들은 설정 버튼과 같은 특정 버튼을 음성 입력 및 클립보드와 같은 다른 오버플로우된 기능으로 스위칭할 수 있는 빠른 스위칭 기능들을 가진다. 빠른 스위칭 기능을 가진 이러한 버튼들에 대해 긴 누름 동작이 행해질 때, 오버플로우된 기능들을 포함하는 팝업이 보여지고, 여기서 사용자는 빠르게 스위칭할 특정 기능을 선택할 수 있다.
본 발명의 다른 양태는 인터페이스부를 가진 전자 장치를 제어하는 기계 구현식의 방법을 제공한다. 상기 방법은 인터페이스부 상에 보정 영역들의 제1 집합을 생성하는 단계, 및 보정 영역들의 제1 집합 안에서 보정 포인트들의 제1 집합을 수신하는 단계를 포함한다. 상기 방법은 또한, 보정 포인트들의 제1 집합에 포함된 보정 포인트들의 관계에 대한 표시를 인터페이스부 상에 생성하는 단계, 상기 보정 포인트들의 제1 집합과 관련하여 인터페이스부 상에 이동 가능하게 배치되는 적어도 하나의 제어 포인트들을 상기 표시에 제공하는 단계, 및 상기 제공된 표시에 기반하여 보정 영역들의 제2 집합을 상기 인터페이스부 상에 생성하는 단계를 포함한다.
상기 보정 영역들의 제2 집합이 생성되었으면, 보정 영역들의 제2 집합 내 보정 포인트들의 제2 집합이 수신되고, 제어 포인트의 배치에 기반하여 특정된 설정의 키보드에 대한 그래픽 표현이 생성되며, 상기 키보드 영역의 설정은 보정 포인트들의 제2 집합의 방향으로의 제어 포인트의 이동과 관련해 조정된다.
여기 기술된 본 발명의 양태들은 다음과 같은 배타적이지 않은 효과들을 제공할 수 있다: (1) 인체공학적 한 손 동작(메시징, 검색, 채팅 등을 하면서 텍스트를 입력할 때 왼손/오른 손 동작); (2) 한 손으로 버튼들이나 아이콘들을 사용할 때 그들에 닿기 위한 과잉 동작으로 인해 터치 스크린 장치를 떨어뜨릴 가능성을 줄일 수 있다; (3) 한 손 만을 사용하여 터치 스크린 장치를 조작하고 다른 한 손은 예컨대 아이 보기, 가방 들기, 요리하기, 우산 들기, 및 문 열기와 같은 다른 일을 하도록, 사용자가 한 손 조작을 할 수 있게 함; (4) 반복 사용으로 야기되는 인대 늘어남, 닳음, 및 파열이 줄어들게 된다.

Claims (15)

  1. 가상 키보드를 지원하는 전자 장치에 있어서,
    터치 입력을 지원하며, 상기 가상 키보드를 디스플레이하는 인터페이스부; 및
    상기 가상 키보드의 설정을 위한 보정 포인트들의 제1 집합에 포함되는 보정 포인트들의 서로에 대한 적어도 하나의 관계를 표시하고, 상기 표시는 상기 보정 포인트들의 제1 집합과 관련하여 상기 인터페이스부 상에서 이동 가능하게 배치된 적어도 하나의 제어 포인트를 가지고, 상기 적어도 하나의 제어 포인트의 배치에 기반하여 상기 가상 키보드의 그래픽 표현을 상기 인터페이스부 상에 생성하되, 상기 가상 키보드 영역의 설정은 상기 보정 포인트들의 제2 집합의 방향으로 상기 적어도 하나의 제어 포인트의 이동에 관해 조정 가능한 동작을 제어하는 제어부를 포함하는 전자 장치.
  2. 제 1 항에 있어서, 상기 가상 키보드의 보정 영역들의 집합은 입력 데이터에 대응하는 상기 보정 포인트들의 제1 집합에 포함되는 제1 보정 포인트가 입력될 수 있는 제1보정 영역을 포함하는 전자 장치.
  3. 제 2 항에 있어서, 상기 가상 키보드의 보정 영역들의 집합은 상기 입력 데이터에 대응하는 상기 보정 포인트들의 제1집합에 포함되는 제2보정 포인트가 입력될 수 있는 제2보정 영역을 포함하는 전자 장치.
  4. 제 3 항에 있어서, 상기 보정 영역들의 집합은 상기 입력 데이터에 대응하는 상기 보정 포인트들의 제2집합에 포함되는 제3보정 포인트가 입력될 수 있는 제3보정 영역을 포함하는 전자 장치.
  5. 제 4 항에 있어서, 상기 보정 영역들의 집합은 상기 입력 데이터에 대응하는 상기 보정 포인트들의 제2집합에 포함되는 제4보정 포인트가 입력될 수 있는 제4보정 영역을 포함하는 전자 장치.
  6. 제 5 항에 있어서, 상기 제1 및 제2보정 포인트들의 적어도 하나의 관계는 상기 제1보정 포인트로부터 도출된 수평선 및 상기 제2보정 포인트로부터 도출된 수직선의 교차 포인트를 통해 결정되는 전자 장치.
  7. 제 6 항에 있어서, 상기 교차 포인트와 관련하여 상기 제1 및 제2보정 포인트들의 적어도 하나의 관계에 대한 상기 표시는 초기 곡선에 의해 정의되는 전자 장치.
  8. 제 7 항에 있어서, 상기 키보드 영역의 설정은 상기 제3 및 제4보정 포인트들의 방향으로 상기 초기 곡선을 따라 위치하는 적어도 하나의 제어 포인트의 이동과 관련하여 조정가능한 전자 장치.
  9. 제 8 항에 있어서, 상기 적어도 하나의 제어 포인트의 이동에 기반하여 조정되는 상기 키보드 영역의 설정은 최종 곡선에 의해 정의되는 전자 장치.
  10. 제 9 항에 있어서, 상기 초기 및 최종 곡선들 각각은 큐빅 베지어 곡선(Cubic Bezier Curve)인 전자 장치.
  11. 제 1 항에 있어서, 상기 전자 장치는 보정 모듈, 설정 모듈, 텍스트 예측 모듈, 캐릭터 매핑 모듈, 및 언어 선택 모듈 중 어느 하나나 어떤 적절한 조합들을 포함하는 전자 장치.
  12. 제 1 항에 있어서, 상기 키보드 영역은 텍스트 예측 섹션, 알파벳 섹션, 기능 버튼 섹션, 및 팜 홀(palm hole) 섹션 중 어느 하나나 어떤 적절한 조합들을 포함하는 전자 장치.
  13. 제 12 항에 있어서, 상기 텍스트 예측 섹션은 상기 키보드 영역의 바깥 부분과 근접하여 배치되는 전자 장치.
  14. 제 12 항에 있어서, 상기 알파벳 및 기능 버튼 섹션들 각각은 상기 키보드 영역의 안쪽 부분과 근접하여 배치되는 전자 장치.
  15. 전자 장치에서 가상 키보드를 설정하는 방법에 있어서,
    인터페이스부 상에 상기 가상 키보드의 설정을 위한 보정 영역들의 제1집합을 생성하는 단계;
    상기 보정 영역들의 제1집합 안에 보정 포인트들의 제1집합을 수신하는 단계;
    상기 보정 포인트들의 제1집합에 포함된 보정 포인트들의 적어도 하나의 관계에 대한 표시를 상기 인터페이스부 상에 생성하는 단계;
    상기 보정 포인트들의 제1집합과 관련하여 상기 인터페이스부 상에 이동 가능하게 배치되는 적어도 하나의 제어 포인트를 상기 표시에 제공하는 단계;
    상기 제공된 표시에 기반하여 보정 영역들의 제2집합을 상기 인터페이스부 상에 생성하는 단계;
    상기 보정 영역들의 제2집합 안에 보정 포인트들의 제2집합을 수신하는 단계; 및
    상기 적어도 하나의 제어 포인트의 배치에 기반하여, 특정된 설정의 키보드에 대한 그래픽 표현을 상기 인터페이스부 상에 생성하는 단계를 포함하고,
    상기 키보드 영역의 설정은 상기 보정 포인트들의 제2집합의 방향으로 상기 적어도 하나의 제어 포인트들의 이동과 관련해 조정되는 가상 키보드 설정 방법.
KR1020150157773A 2015-07-06 2015-11-10 가상 키보드를 지원하는 전자 장치 및 이를 위한 가상 키보드 설정 방법 KR102373934B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/133,564 US10248311B2 (en) 2015-07-06 2016-04-20 Electronic device supporting virtual keyboard and method for configuring the virtual keyboard

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PH12015000236A PH12015000236A1 (en) 2015-07-06 2015-07-06 Electronic device for providing a calibrated keyboard configuration
PH12015000236 2015-07-06

Publications (2)

Publication Number Publication Date
KR20170005746A true KR20170005746A (ko) 2017-01-16
KR102373934B1 KR102373934B1 (ko) 2022-03-15

Family

ID=57907452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150157773A KR102373934B1 (ko) 2015-07-06 2015-11-10 가상 키보드를 지원하는 전자 장치 및 이를 위한 가상 키보드 설정 방법

Country Status (2)

Country Link
KR (1) KR102373934B1 (ko)
PH (1) PH12015000236A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110132590A (ko) * 2009-03-12 2011-12-08 그뤼넨탈 게엠베하 Kcnq2/3 조절제로서의 치환된 2-머캅토퀴놀린-3-카복스아미드
KR20130116211A (ko) * 2012-04-12 2013-10-23 구글 인코포레이티드 터치스크린 텍스트 입력
KR20140067019A (ko) * 2011-09-01 2014-06-03 마이크로소프트 코포레이션 엄지 타이핑을 위한 스플릿 키보드
US20150128081A1 (en) * 2013-11-06 2015-05-07 Acer Incorporated Customized Smart Phone Buttons

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110132590A (ko) * 2009-03-12 2011-12-08 그뤼넨탈 게엠베하 Kcnq2/3 조절제로서의 치환된 2-머캅토퀴놀린-3-카복스아미드
KR20140067019A (ko) * 2011-09-01 2014-06-03 마이크로소프트 코포레이션 엄지 타이핑을 위한 스플릿 키보드
KR20130116211A (ko) * 2012-04-12 2013-10-23 구글 인코포레이티드 터치스크린 텍스트 입력
US20150128081A1 (en) * 2013-11-06 2015-05-07 Acer Incorporated Customized Smart Phone Buttons

Also Published As

Publication number Publication date
KR102373934B1 (ko) 2022-03-15
PH12015000236A1 (en) 2017-01-23

Similar Documents

Publication Publication Date Title
US11461004B2 (en) User interface supporting one-handed operation and terminal supporting the same
US10248311B2 (en) Electronic device supporting virtual keyboard and method for configuring the virtual keyboard
KR101589994B1 (ko) 입력 방법, 입력 장치 및 단말 장치
US9122318B2 (en) Methods of and systems for reducing keyboard data entry errors
JP6115867B2 (ja) 1つ以上の多方向ボタンを介して電子機器と相互作用できるようにする方法およびコンピューティングデバイス
US20120162078A1 (en) Adaptive virtual keyboard for handheld device
US10379626B2 (en) Portable computing device
US20130002562A1 (en) Virtual keyboard layouts
US20180046247A1 (en) Graphical user interface for non-foveal vision
US20100241985A1 (en) Providing Virtual Keyboard
US20070260981A1 (en) Method of displaying text using mobile terminal
KR20150058072A (ko) 가상 키보드를 모바일 단말에서 디스플레이하는 방법 및 모바일 단말
KR20120013410A (ko) 핸드헬드 디바이스를 위한 적응형 버츄얼 키보드
JP6105818B2 (ja) タッチ入力パネルのレイアウトを適応的に調整する装置、方法及びモバイル端末
US20200081551A1 (en) Talking multi-surface keyboard
US20110126100A1 (en) Method of providing gui for guiding start position of user operation and digital device using the same
KR20100091806A (ko) 휴대용 멀티미디어 단말기 및 그 바탕화면 구성방법
Pollmann et al. HoverZoom: making on-screen keyboards more accessible
US20120311506A1 (en) Selector
US20180011612A1 (en) A method for layout and selection of the menu elements in man-machine interface
KR102373934B1 (ko) 가상 키보드를 지원하는 전자 장치 및 이를 위한 가상 키보드 설정 방법
Hertzum et al. Input techniques that dynamically change their cursor activation area: A comparison of bubble and cell cursors
TWI631484B (zh) 基於方向的文字輸入方法及其系統與電腦可讀取記錄媒體
JP2014045387A (ja) 入力装置、入力装置の制御方法、制御プログラム、および記録媒体
EP3457269B1 (en) Electronic device and method for one-handed operation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant