KR20220049694A - 전자 장치 및 전자 장치의 키패드 운영 방법 - Google Patents

전자 장치 및 전자 장치의 키패드 운영 방법 Download PDF

Info

Publication number
KR20220049694A
KR20220049694A KR1020200133094A KR20200133094A KR20220049694A KR 20220049694 A KR20220049694 A KR 20220049694A KR 1020200133094 A KR1020200133094 A KR 1020200133094A KR 20200133094 A KR20200133094 A KR 20200133094A KR 20220049694 A KR20220049694 A KR 20220049694A
Authority
KR
South Korea
Prior art keywords
keypad
electronic device
information
user
layout
Prior art date
Application number
KR1020200133094A
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 삼성전자주식회사
Priority to KR1020200133094A priority Critical patent/KR20220049694A/ko
Priority to CN202180066254.1A priority patent/CN116324684A/zh
Priority to EP21880586.9A priority patent/EP4177728A4/en
Priority to PCT/KR2021/014345 priority patent/WO2022080939A1/ko
Priority to US17/517,183 priority patent/US20220121357A1/en
Publication of KR20220049694A publication Critical patent/KR20220049694A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0238Programmable keyboards
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

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)

Abstract

본 개시의 다양한 실시예들은 전자 장치의 입력 장치(예: 키패드(keypad) 또는 키보드(keyboard))를 커스터마이즈(customize)할 수 있는 전자 장치 및 이의 운영 방법에 관하여 개시한다. 다양한 실시예들에 따른 전자 장치는, 디스플레이 모듈, 상기 디스플레이 모듈과 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하고, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하고, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장할 수 있다. 다양한 실시예들이 가능하다.

Description

전자 장치 및 전자 장치의 키패드 운영 방법{ELECTRONIC DEVICE AND METHOD FOR OPERATING KEYPAD THEREOF}
본 개시의 다양한 실시예들은 전자 장치의 입력 장치(예: 키패드(keypad) 또는 키보드(keyboard))를 커스터마이즈(customize)할 수 있는 전자 장치 및 이의 운영 방법에 관하여 개시한다.
디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰(smart phone), 태블릿 PC(personal computer), 및/또는 웨어러블 장치(wearable device)와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개량되고 있다.
전자 장치는 사용자의 입력을 지원하기 위한 다양한 종류의 입력 장치(예: 키패드(keypad) 또는 키보드(keyboard))를 제공하도록 구현하고 있다. 예를 들면, 전자 장치에 설정되는 키패드는 전자 장치의 동작에 필요한 다양한 입력 신호를 생성할 수 있다. 일 실시예에 따라, 키패드는 전자 장치의 디스플레이를 통해 표시될 수 있고, 디스플레이의 터치 회로에 기반하여 키패드의 지정된 위치에 대한 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 제공할 수 있다. 일 실시예에 따르면, 키패드는 3*4 키 맵, 5*4 키 맵, 쿼티 키 맵, 및/또는 드보락 키 맵과 같은 다양한 키 맵 중 적어도 하나를 포함하는 입력 모듈의 형태로 제공될 수 있다.
전자 장치에 설정되는 키패드의 경우, 키패드의 개별적 특성이 없이 모두 엇비슷하게(예: 천편일률적)으로 제공되고 있으며, 사용자 별 키패드의 사용 특성을 반영하지 못하고 있다. 예를 들면, 기존 키패드의 경우, 키패드 마다 정해진 레이아웃을 가질 수 있으며, 사용자의 레이아웃 변경(예: 버튼 위치, 버튼 속성, 버튼 크기, 버튼 기능, 및/또는 버튼 배열과 같은 레이아웃 변경)을 지원하지 않으며, 사용자의 키패드 사용 특성에 보다 적합한 사용자 맞춤형 키패드 구성을 지원하지 않고 있다.
다양한 실시예들에서는, 전자 장치의 키패드를 사용자의 사용 환경에 따라 커스터마이즈(customize) 할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에 기본 설정된 키패드(또는 키보드)의 레이아웃, 색상 및/또는 이펙트를 커스터마이즈 할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 사용자 정의에 따른 새로운 레이아웃의 키패드를 제공할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 사용자의 키패드 사용에 대응하여 사용자 패턴을 학습하고, 사용자 패턴과 사용자 설정의 적어도 하나에 기반하여 사용자 맞춤형 레이아웃을 갖는 키패드를 제공할 수 있는 방법 및 장치에 관하여 개시한다.
본 개시의 실시예에 따른 전자 장치는, 디스플레이 모듈, 상기 디스플레이 모듈과 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하고, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하고, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장할 수 있다.
본 개시의 실시예에 따른 전자 장치의 동작 방법은, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하는 동작, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 포함할 수 있다.
본 개시의 실시예에 따른 디스플레이 모듈을 포함하는 전자 장치의 프로세서에 의해 실행 시, 상기 프로세서가 동작들을 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하는 동작, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 프로세서에서 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체를 포함할 수 있다.
본 개시의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 개시의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 개시의 바람직한 실시예와 같은 특정 실시예는 단지 예시로 주어진 것으로 이해되어야 한다.
다양한 실시예들에 따른 전자 장치 및 그의 동작 방법에 따르면, 전자 장치의 키패드를 사용자의 사용 환경에 따라 커스터마이즈(customize) 할 수 있다. 다양한 실시예들에서는, 전자 장치에 기본 설정된 키패드(또는 키보드)를 사용자의 사용 환경에 따라 자유롭게 커스터마이즈(customize)(예: 레이아웃, 색상 및/또는 이펙트 커스터마이즈) 할 수 있도록 지원하여, 전자 장치에서 사용자 정의에 따른 새로운 레이아웃의 키패드를 제공할 수 있다.
다양한 실시예들에 따르면, 전자 장치는 사용자의 키패드 사용에 대응하여 사용자 패턴을 학습하고, 사용자 패턴과 사용자 설정의 적어도 하나에 기반하여 사용자 맞춤형 레이아웃을 갖는 키패드를 제공할 수 있다. 다양한 실시예들에 따르면, 전자 장치에서 사용자의 사용 환경에 따른 최적화된 키패드를 제공하여, 기존 키패드 사용에 따른 불편함을 해소하고, 사용자의 키패드 사용성, 편의성 및/또는 정확성을 향상할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도면 설명과 관련하여, 동일 또는 유사한 구성 요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 디스플레이 모듈의 블록도이다.
도 3은 다양한 실시예들에 따른 전자 장치의 예를 설명하기 위해 도시하는 도면이다.
도 4는 다양한 실시예들에 따른 전자 장치의 플랫폼 아키텍쳐의 구조 예를 도시하는 도면이다.
도 5는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 6a 및 도 6b는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 지원하는 어플리케이션의 사용자 인터페이스의 예를 도시하는 도면이다.
도 7은 다양한 실시예들에 따른 전자 장치에서 키패드 간의 상호작용 예를 설명하기 위한 도면이다.
도 8a, 도 8b 및 도 8c는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면들이다.
도 9a 및 도 9b는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면들이다.
도 10은 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스 및 그 동작 구조의 예를 설명하기 위해 도시하는 도면이다.
도 11은 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면이다.
도 12는 다양한 실시예들에 따른 전자 장치에서 데이터 수집을 위한 정보 처리 동작을 설명하기 위한 도면이다.
도 13은 다양한 실시예들에 따른 전자 장치에서 데이터 수집을 위한 정보 처리 동작을 설명하기 위한 도면이다.
도 14는 다양한 실시예들에 따른 전자 장치에서 터치 보정 동작을 설명하기 위한 도면이다.
도 15는 다양한 실시예들에 따른 전자 장치에서 터치 보정 동작을 설명하기 위한 도면이다.
도 16은 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면이다.
도 17a 및 도 17b는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면들이다.
도 18은 다양한 실시예들에 따른 전자 장치에서 커스터마이즈된 키패드의 예를 도시하는 도면이다.
도 19 및 도 20은 다양한 실시예들에 따른 전자 장치의 사용 환경에 따라 키패드를 제공되는 예를 도시하는 도면들이다.
도 21은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
도 22a, 도 22b, 도 22c, 및 도 22d는 다양한 실시예들에 따른 전자 장치에서 키패드를 공유하는 동작 예를 도시하는 도면들이다.
도 23a 및 도 23b는 다양한 실시예들에 따른 전자 장치에서 키패드를 운영하는 예를 도시하는 도면들이다.
도 24는 다양한 실시예들에 따른 전자 장치에서 키패드를 운영하는 예를 도시하는 도면이다.
도 1은 다양한 실시예들에 따른 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.
도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치(CPU, central processing unit) 또는 어플리케이션 프로세서(AP, application processor)) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치(GPU, graphic processing unit), 신경망 처리 장치(NPU, neural processing unit), 이미지 시그널 프로세서(ISP, image signal processor), 센서 허브 프로세서(sensor hub processor), 또는 커뮤니케이션 프로세서(CP, communication processor))를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(inactive)(예: 슬립(sleep)) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(OS, operating system)(142), 미들 웨어(middleware)(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD(secure digital) 카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN(wide area network))와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB, enhanced mobile broadband), 단말 전력 최소화와 다수 단말의 접속(mMTC, massive machine type communications), 또는 고신뢰도와 저지연(URLLC, ultra-reliable and low-latency communications)을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO, full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC, mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 다양한 실시예들에 따른 디스플레이 모듈(160)의 블록도(200)이다.
도 2를 참조하면, 디스플레이 모듈(160)은 디스플레이(210), 및 이를 제어하기 위한 디스플레이 드라이버 IC(DDI, display driver IC)(230)를 포함할 수 있다. DDI(230)는 인터페이스 모듈(231), 메모리(233)(예: 버퍼 메모리), 이미지 처리 모듈(235), 또는 맵핑 모듈(237)을 포함할 수 있다.
DDI(230)는, 예를 들면, 영상 데이터, 또는 상기 영상 데이터를 제어하기 위한 명령에 대응하는 영상 제어 신호를 포함하는 영상 정보를 인터페이스 모듈(231)을 통해 전자 장치(101)의 다른 구성 요소로부터 수신할 수 있다. 예를 들면, 영상 정보는 프로세서(120)(예: 메인 프로세서(121)(예: 어플리케이션 프로세서) 또는 메인 프로세서(121)의 기능과 독립적으로 운영되는 보조 프로세서(123)(예: 그래픽 처리 장치))로부터 수신될 수 있다. DDI(230)는 터치 회로(250) 또는 센서 모듈(176)과 상기 인터페이스 모듈(231)을 통하여 커뮤니케이션 할 수 있다. 또한, DDI(230)는 상기 수신된 영상 정보 중 적어도 일부를 메모리(233)에, 예를 들면, 프레임 단위로 저장할 수 있다.
이미지 처리 모듈(235)은, 예를 들면, 상기 영상 데이터의 적어도 일부를 상기 영상 데이터의 특성 또는 디스플레이(210)의 특성에 적어도 기반하여 전처리(pre-processing) 또는 후처리(post-processing)(예: 해상도, 밝기, 또는 크기 조정)를 수행할 수 있다.
맵핑 모듈(237)은 이미지 처리 모듈(235)을 통해 전처리 또는 후처리된 상기 영상 데이터에 대응하는 전압 값 또는 전류 값을 생성할 수 있다. 일 실시예에 따르면, 전압 값 또는 전류 값의 생성은, 예를 들면, 디스플레이(210)의 픽셀(pixel)들의 속성(예: 픽셀들의 배열(RGB stripe 또는 pentile 구조), 또는 서브 픽셀들 각각의 크기)에 적어도 일부 기반하여 수행될 수 있다. 디스플레이(210)의 적어도 일부 픽셀들은, 예를 들면, 상기 전압 값 또는 전류 값에 적어도 일부 기반하여 구동됨으로써 상기 영상 데이터에 대응하는 시각적 정보(예: 텍스트, 이미지, 또는 아이콘)가 디스플레이(210)를 통해 표시될 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 터치 회로(250)를 더 포함할 수 있다. 터치 회로(250)는 터치 센서(251) 및 이를 제어하기 위한 터치 센서 IC(253)를 포함할 수 있다. 터치 센서 IC(253)는, 예를 들면, 디스플레이(210)의 특정 위치에 대한 터치 입력 또는 호버링(hovering) 입력을 감지하기 위해 터치 센서(251)를 제어할 수 있다. 예를 들면, 터치 센서 IC(253)는 디스플레이(210)의 특정 위치에 대한 신호(예: 전압, 광량, 저항, 또는 전하량)의 변화를 측정함으로써 터치 입력 또는 호버링 입력을 감지할 수 있다. 터치 센서 IC(253)는 감지된 터치 입력 또는 호버링 입력에 관한 정보(예: 위치, 면적, 압력, 또는 시간)를 프로세서(120)에 제공할 수 있다. 일 실시예에 따르면, 터치 회로(250)의 적어도 일부(예: 터치 센서 IC(253))는 DDI(230), 또는 디스플레이(210)의 일부로, 또는 디스플레이 모듈(160)의 외부에 배치된 다른 구성 요소(예: 보조 프로세서(123))의 일부로 포함될 수 있다.
일 실시예에 따르면, 디스플레이 모듈(160)은 센서 모듈(176)의 적어도 하나의 센서(예: 지문 센서, 홍채 센서, 압력 센서 또는 조도 센서), 또는 이에 대한 제어 회로를 더 포함할 수 있다. 이 경우, 상기 적어도 하나의 센서 또는 이에 대한 제어 회로는 디스플레이 모듈(160)의 일부(예: 디스플레이(210) 또는 DDI(230)) 또는 터치 회로(250)의 일부에 임베디드될 수 있다. 예를 들면, 디스플레이 모듈(160)에 임베디드된 센서 모듈(176)이 생체 센서(예: 지문 센서)를 포함할 경우, 상기 생체 센서는 디스플레이(210)의 일부 영역을 통해 터치 입력과 연관된 생체 정보(예: 지문 이미지)를 획득할 수 있다. 다른 예를 들면, 디스플레이 모듈(160)에 임베디드된 센서 모듈(176)이 압력 센서를 포함할 경우, 상기 압력 센서는 디스플레이(210)의 일부 또는 전체 영역을 통해 터치 입력과 연관된 압력 정보를 획득할 수 있다. 일 실시예에 따르면, 터치 센서(251) 또는 센서 모듈(176)은 디스플레이(210)의 픽셀 레이어(pixel layer)의 픽셀들 사이에, 또는 상기 픽셀 레이어의 위에 또는 아래에 배치될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱(heuristic)하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치의 예를 설명하기 위해 도시하는 도면이다.
일 실시예에 따라, 도 3은 다양한 디스플레이 형태에 따른 전자 장치(101)의 다양한 폼 팩터(form factor)의 예를 나타낼 수 있다. 일 실시예에 따르면, 전자 장치(101)는 바형(bar type) 또는 평판형(plate type)(310), 폴더블(foldable)(320, 330 또는 340), 롤러블(rollable)(350), 및/또는 슬라이더블(slidable)(360)과 같은 다양한 폼 팩터를 포함할 수 있다. 일 실시예에 따라, 도 3에 예시된 바와 같이, 전자 장치(101)는 다양한 형태로 구현될 수 있고, 전자 장치(101)의 구현 형태에 따라 디스플레이(예: 도 1의 디스플레이 모듈(160))가 다양한 방식으로 제공될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치(101)는 폴더블 형태의 폼 팩터를 가지는 전자 장치(101)(예: 폴더블 전자 장치(320, 330 또는 340))를 예로 설명하지만, 다양한 실시예들에 따른 전자 장치(101) 및 그의 동작은 이에 한정되지 않는다. 예를 들면, 전자 장치(101)는, 바형(bar type) 또는 평판형(310), 롤러블(350) 및/또는 슬라이더블(360)과 같은 다양한 폼 팩터 및 그에 의해서도 동작할 수 있다. 예를 들어, 도시된 전자 장치(101)는 바형 또는 평판형 전자 장치(310), 폴더블 전자 장치(320, 330 또는 340), 롤러블 전자 장치(350) 또는 슬라이더블 전자 장치(360)의 일부일 수 있다.
일 실시예에 따라, 전자 장치(101)(예: 폴더블 전자 장치(320, 330 또는 340))는 디스플레이(예: 도 1의 디스플레이 모듈(160))의 서로 다른 두 영역을 실질적으로 마주보게 또는 서로 반대 방향을 향하는(opposite to) 방향으로 접힘이 가능한 전자 장치를 의미할 수 있다. 일반적으로, 휴대 상태에서 전자 장치(101)(예: 폴더블 전자 장치(320, 330 또는 340))의 디스플레이(예: 도 1 또는 도 2의 디스플레이 모듈(160))는 서로 다른 두 영역이 마주보는 상태로 또는 대향하는 방향으로 접혀지고, 실제 사용 상태에서 사용자는 디스플레이를 펼쳐 서로 다른 두 영역이 실질적으로 평판 형태를 이루게 할 수 있다.
일 실시예에 따르면, 전자 장치(101)(예: 폴더블 장치(320, 330 또는 340))는 하나의 폴딩 축에 기반하여 2개의 디스플레이 면(예: 제1 디스플레이 면 및 제2 디스플레이 면)을 포함하는 폼 팩터(예: 320 또는 330) 및/또는 적어도 2개의 폴딩 축에 기반하여 적어도 3개의 디스플레이 면(예: 제1 디스플레이 면, 제2 디스플레이 면 및 제3 디스플레이 면)을 포함하는 폼 팩터(예: 340)를 포함할 수 있다. 다양한 실시예들이 이에 한정되는 것은 아니며, 이는 예시적인 것으로, 전자 장치(101)가 가질 수 있는 폴딩 축들의 수는 제한하지 않는다. 일 실시예에 따르면, 전자 장치(101)는 구현 형태에 따라 디스플레이(예: 도 1의 디스플레이 모듈(160))가 다양한 방식(예: 인-폴딩(in-folding), 아웃-폴딩(out-folding), 또는 인/아웃 폴딩)으로 폴딩 또는 언폴딩 될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 세로 폴더블, 가로 폴더블, G 폴더블, 또는 Z 폴더블과 같이 다양한 폴더블 방식을 포함할 수 있다.
다양한 실시예들에 따르면, 다양한 폼 팩터의 전자 장치(101)에서 설정된 기본 키패드에 대해, 사용자의 키패드 사용에 대응하여 키패드 사용 패턴을 학습하고, 사용자 패턴과 사용자 설정의 적어도 하나에 기반하여 사용자 맞춤형 레이아웃을 갖는 키패드를 제공할 수 있다. 다양한 실시예들에 따르면, 사용자는 전자 장치(101)를 통해 제공되는 기본 키패드 및/또는 어플리케이션(예: 키패드 커스터마이즈 어플리케이션)을 이용하여 전자 장치(101)에 기본 설정된 키패드(또는 키보드)의 레이아웃, 색상 및/또는 이펙트를 커스터마이즈(customize) 할 수 있다.
다양한 실시예들에 따르면, 사용자는 전자 장치(101)에서 사용자 설정에 따른 커스터마이즈된 키패드(예: 레이아웃이 변경된 키패드)를 외부 전자 장치와 공유하도록 지원할 수 있다.
도 4는 다양한 실시예들에 따른 전자 장치의 플랫폼 아키텍쳐의 구조 예를 도시하는 도면이다.
도 4를 참조하면, 다양한 실시예들에 따른 전자 장치(101)는 도 4에 예시한 바와 같은 플랫폼 아키텍쳐의 구조를 기반으로 키패드 커스터마이즈 기능을 처리 및 관리할 수 있다. 일 실시예에 따라, 도 4에 도시된 전자 장치(101)의 플랫폼 아키텍쳐는 프로세서(120)에 의해 실행되어, 메모리(130)에 로드(load)됨으로써 소프트웨어적으로 구현될 수 있다.
예를 들어, 소프트웨어적으로 구현된 전자 장치(101)의 구성은 어플리케이션(application) 계층(410)(예: 도 1의 어플리케이션(146)), 프레임워크(framework) 계층(420)(예: 도 1의 미들웨어(middleware)(144)), 하드웨어 추상화 계층(HAL, hardware abstraction layer)(430), 커널(Kernel) 계층(440) 및 하드웨어(HW) 계층(450)으로 구분될 수 있다. 일 실시예에 따르면, 전자 장치(101)가 포함하는 플랫폼에 따라 도 4에 도시된 구성 중 적어도 일부는 변경될 수 있다. 예를 들면, 플랫폼 아키텍쳐 중 적어도 일부는, 제조 시에 전자 장치(101)에 프리로드(pre-load)되거나, 또는 사용자에 의해 사용 시 외부 전자 장치(예: 도 1의 전자 장치(102 또는 104) 또는 서버(108))로부터 다운로드(download)되거나 업데이트(update) 될 수 있다.
일 실시예에 따라, 어플리케이션 계층(410)은 어플리케이션(예: 도 1의 어플리케이션(146)) 및 기존 키패드(415)(예: HoneyBoard)를 포함할 수 있다.
어플리케이션(146)은 디스플레이 모듈(160)의 표시 영역의 해상도에 기반하여 적어도 하나의 레이어를 드로잉(drawing)할 수 있다. 일 실시예에서, 어플리케이션(146)은 드로잉 라이브러리(drawing library)(예: 뷰(view))를 이용하여, 디스플레이 모듈(160)의 표시 영역의 해상도에 기반한 적어도 하나의 레이어를 드로잉할 수 있다. 어플리케이션(146)은 전자 장치(101)의 메모리(130) 상에 저장 또는 프로세서(120)에 의해 실행 가능한 또는 설치된 어플리케이션, 예를 들어, 커스터마이즈 어플리케이션(400), App 1, App 2, 및/또는 App 3을 포함할 수 있으며, 이에 한정하지 않는다.
일 실시예에서, 어플리케이션(146)은 전자 장치(101)에서 실행 가능한 다양한 어플리케이션을 포함할 수 있다. 예를 들면, 어플리케이션(146)은 홈(home), 다이얼러(dialer), SMS(short message service)/MMS(multimedia messaging service), IM(instant message), 브라우저(browser), 카메라(camera), 알람(alarm), 컨택트(contact), 음성 인식(voice recognition), 이메일(email), 달력(calendar), 미디어 플레이어(media player), 앨범(album), 와치(watch), 헬스(health)(예: 운동량 또는 혈당과 같은 생체 정보(biometric information)를 측정), 또는 환경 정보(environmental information)(예: 기압(air pressure), 습도(humidity), 또는 온도(temperature) 정보 측정) 어플리케이션을 포함할 수 있으며, 그 종류가 제한되지 않을 수 있다.
일 실시예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보(예: 데이터, 통화, 메시지, 또는 알람)를 전달하도록 설정된 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하도록 설정된 장치 관리 어플리케이션을 포함할 수 있다. 일 실시예에 따르면, 어플리케이션(146)은 에어 액션(air actions) 어플리케이션을 포함할 수 있다. 에어 액션 어플리케이션은 전자 펜(예: 스타일러스 펜)을 이용한 에어 액션 설정을 위해 사용자와의 인터랙션을 제공하는 어플리케이션일 수 있다.
일 실시예에서, 커스터마이즈 어플리케이션(400)은 키패드(415)의 레이아웃을 비롯하여, 비주얼적인 색상 및 이펙트를 커스터마이즈(또는 변경) 및 적용할 수 있는 어플리케이션일 수 있다. 일 실시예에 따른, 커스터마이즈 어플리케이션(400) 및 그의 운영 동작과 관련하여 후술하는 도면들을 참조하여 설명된다.
일 실시예에서, 키패드(415)는 전자 장치(101)에 사용자의 입력을 지원하는 어플리케이션일 수 있다. 예를 들어, 키패드(415)는 전자 장치(101) 동작에 필요한 다양한 입력 신호를 생성할 수 있다. 일 실시예에 따라, 키패드(415)는 디스플레이 모듈(160)을 통해 표시될 수 있고, 디스플레이 모듈(160)의 터치 회로에 기반하여 키패드(415)의 지정된 위치에 대한 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 제공할 수 있다. 예를 들어, 디스플레이 모듈(160)은 터치 회로(미도시)를 더 포함할 수 있다. 터치 회로(미도시)는 터치 센서 및 이를 제어하기 위한 터치 센서 IC를 포함할 수 있다. 터치 센서 IC는, 예를 들면, 디스플레이의 지정된 위치에 대한 터치 입력 또는 호버링 입력을 감지하기 위해 터치 센서를 제어할 수 있다. 예를 들면, 터치 센서 IC는 디스플레이 모듈(160)을 통해 표시된 키패드(415)의 지정된 위치에 대한 신호(예: 전압, 광량, 저항, 또는 전하량)를 프로세서(예: 도 1의 프로세서(120))에 제공할 수 있다. 일 실시예에 따라, 키패드(415)는 다양한 입력 모듈(또는 입력 수단) 지원에 따라 다양한 형태로 구현될 수 있다. 예를 들면, 키패드(415)는 3*4 키 맵, 5*4 키 맵, 쿼티(qwerty) 키 맵, 및/또는 드보락(dvorak) 키 맵과 같은 다양한 키 맵 중 적어도 하나를 포함하는 입력 모듈의 형태로 제공될 수 있다. 일 실시예에 따라, 키패드(415)의 키 맵은, 사용자의 키패드(415) 사용 및/또는 지정된 입력에 따라 적어도 일부(예: 적어도 하나의 지정된 키 버튼 및/또는 키 맵 구조 자체)가 변경되어 표시될 수 있다.
일 실시예에 따라, 키패드(415)는 어플리케이션(146)(예: 커스터마이즈 어플리케이션(400))과 작동적으로 연결(operatively coupled)될 수 있다. 예를 들면, 키패드(415)는 사용자로부터 입력을 수신하고, 입력에 기반한 정보를 커스터마이즈 어플리케이션(400)으로 제공할 수 있다. 일 실시예에 따라, 키패드(416)는 커스터마이즈 어플리케이션(400)으로부터 설정되는 정보를 수신하고, 기존 키패드 레이아웃을 수신된 정보에 대응하는 레이아웃으로 변경할 수 있다. 예를 들면, 키패드(415)는 키패드(415)의 키 맵의 적어도 일부가 수신된 정보를 기반으로 변경될 수 있다.
어떤 실시예에 따르면, 키패드(415)는 지정된 방향의 한 손(예: 왼손 모드 또는 오른손 모드) 사용 지원을 위한 형태의 크기 및 키 맵 구조와, 양손 사용 지원을 위한 형태의 크기 및 키 맵 구조, 및/또는 일반 사용 지원을 위한 형태의 크기 및 키 맵 구조를 포함할 수 있다.
일 실시예에 따라, 프레임워크 계층(420)(예: 도 1의 미들웨어(144))은 전자 장치(101)의 하나 이상의 리소스들(resources)로부터 제공되는 기능 또는 정보가 어플리케이션(146)에 의해 사용될 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 프레임워크 계층(420)은, 예를 들면, 윈도우 매니저(window manager)(421), 뷰 시스템(view system)(423), 액티비티 매니저(activity manager)(425), 및/또는 센서 매니저(sensor manager)(427)를 포함할 수 있으며, 이에 제한하지 않는다. 예를 들어, 프레임워크 계층(420)은, 도시되지 않은, 어플리케이션 매니저(application manager), 멀티미디어 매니저(multimedia manager), 리소스 매니저(resource manager), 파워 매니저(power manager), 데이터베이스 매니저(database manager), 패키지 매니저(package manager), 커넥티비티 매니저(connectivity manager), 노티피케이션 매니저(notification manager), 로케이션 매니저(location manager), 그래픽 매니저(graphic manager), 시큐리티 매니저(security manager), 통화 매니저(telephony manager), 및/또는 음성 인식 매니저(voice recognition manager)과 같은 다양한 매니저를 더 포함할 수 있다.
윈도우 매니저(421)는, 예를 들면, 화면에서 사용되는 하나 이상의 GUI(graphical user interface) 리소스들을 관리할 수 있다. 예를 들어, 윈도우 매니저(421)는 전자 장치(101)의 표시 영역의 정보를 어플리케이션(146)에게 전달할 수 있다. 어떤 실시예에 따르면, 윈도우 매니저(421)는 센서 모듈(예: 도 1의 센서 모듈(176))을 통해 전자 장치(101)의 상태 변경이 식별되면, 전자 장치(101)의 변경된 상태에 대응하는 표시 영역의 정보를 어플리케이션(146)에 전달할 수 있다. 일 예로, 윈도우 매니저(421)는 전자 장치(101)의 상태 변경이 식별되면, 실행 중인 어플리케이션(146)들 중 연속성이 설정된 어플리케이션에게 전자 장치(101)의 변경된 상태에 대응하는 표시 영역의 정보를 전달할 수 있다.
뷰 시스템(423)은 어플리케이션 사용자 인터페이스 생성에 사용되는 확장 가능한 뷰들의 집합을 포함할 수 있다. 일 실시예에 따라, 뷰 시스템(423)은 디스플레이 모듈(160)의 표시 영역의 해상도에 기반하여 적어도 하나의 레이어를 드로잉하기 위한 프로그램일 수 있다. 일 실시예에 따르면, 어플리케이션(146)은, 뷰(예: 드로잉 라이브러리)를 이용하여, 디스플레이 모듈(160)의 표시 영역의 해상도에 기반한 적어도 하나의 레이어를 드로잉 할 수 있다.
액티비티 매니저(425)는 액티비티(activity)의 라이프 사이클(life cycle)를 관리할 수 있다. 일 실시예에 따라, 액티비티 매니저(425)는 어플리케이션(146)의 실행과 종료를 관리할 수 있다.
센서 매니저(427)는 센서 모듈(176)의 사용성에 기반하여 센서 정보를 수집 및 제어할 수 있다.
일 실시예에 따라, 하드웨어 추상화 계층(430)은 하드웨어 계층(450)에 포함된 복수의 하드웨어 모듈(예: 도 1의 디스플레이 모듈(160), 센서 모듈(176), 카메라 모듈(180), 및/또는 통신 모듈(190))과 전자 장치(101)의 소프트웨어 사이의 추상화된 계층으로서, 이벤트 허브(event hub)(431)와 서피스 플링거(surface flinger)(433)를 포함할 수 있다. 이벤트 허브(431)는 터치 회로(예: 디스플레이 모듈(160)) 및 센서 회로(예: 센서 모듈(176))에서 발생하는 이벤트를 표준화한 인터페이스일 수 있다. 서피스 플링거(433)는 복수의 레이어들을 합성할 수 있으며, 합성된 복수의 레이어들을 나타내는 데이터를 디스플레이 컨트롤러(443)에게 제공할 수 있다. 디스플레이 컨트롤러(443)는 그래픽 디스플레이 컨트롤러(graphic display controller)를 의미할 수 있다.
일 실시예에 따라, 커널 계층(440)은 전자 장치(101)에 포함된 다양한 하드웨어 모듈(예: 도 1의 디스플레이 모듈(160), 센서 모듈(176), 카메라 모듈(180), 및/또는 통신 모듈(190))을 제어하기 위한 다양한 드라이버(driver)를 포함할 수 있다. 예를 들어, 커널 계층(440)은 센서 모듈(176)과 연결된 센서 컨트롤러(sensor controller)(451)를 제어하는 인터페이스 모듈을 포함하는 센서 드라이버(sensor driver)(441)와, 디스플레이 모듈(160)과 연결된 디스플레이 패널(display panel)(453)을 제어하는 디스플레이 컨트롤러(DDI, display driver IC)(443)를 포함할 수 있다.
일 실시예에 따라, 하드웨어 계층(450)은 전자 장치(101)에 포함된 하드웨어 모듈 또는 구성(예: 센서 컨트롤러(451), 디스플레이 패널(453))을 포함할 수 있으며, 이에 한정하는 것은 아니며, 도 1에 도시된 구성들을 포함할 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)는, 디스플레이 모듈, 상기 디스플레이 모듈과 작동적으로 연결된 프로세서, 및 상기 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하고, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하고, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 키패드 정보는, 키패드 종류, 입력 패턴, 키패드 오탈자, 자주 사용하는 패턴을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 키패드는 정보는, 사용자의 상기 제1 키패드의 사용에 대한 이력 정보 및/또는 상기 사용자 인터페이스를 통해 제공된 키패드를 이용한 사용자 입력에 대한 입력 정보에 적어도 기반하여 획득될 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 사용자 입력 정보는 상기 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 이력 정보 및/또는 입력 정보에 기반하여 커스터마이즈된 레이아웃의 키패드를 생성하고, 상기 생성된 키패드에 관련된 사용자 입력 정보에 기반하여 상기 제2 키패드를 구성하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 특징 정보는 키패드의 커스터마이즈에 관련된 테마, 스킨, 속성, 및/또는 레이아웃에 관련된 정보를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 키패드 별 키 맵(keymap)을 매핑하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 제1 키패드의 제1 레이아웃이 상기 특징 정보에 기반하여 제2 레이아웃으로 커스터마이즈된 상기 제2 키패드를 상기 사용자 인터페이스를 통해 제공하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 제2 키패드를 상기 전자 장치의 기본 키패드로 설정하도록 하고, 상기 제2 키패드의 공유 요청하는 사용자 입력에 기반하여 상기 제2 키패드를 다른 외부 전자 장치와 공유하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서가, 상기 제2 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 상기 외부 전자 장치와 공유하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 제1 키패드는 상기 전자 장치에서 사용자가 사용하도록 제1 레이아웃 기반으로 설정된 기존 키패드를 포함하고, 상기 제2 키패드는 상기 사용자 인터페이스를 통해 상기 제1 키패드의 제1 레이아웃이 제2 레이아웃으로 커스터마이즈되어 사용자 키패드로 추가되는 키패드를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 디스플레이 모듈을 포함하는 전자 장치의 프로세서에 의해 실행 시, 상기 프로세서가 동작들을 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체는, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하는 동작, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 프로세서에서 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체를 포함할 수 있다.
이하에서는 다양한 실시예들의 전자 장치(101)의 동작 방법에 대해서 상세하게 설명한다. 다양한 실시예들에 따라, 이하에서 설명하는 전자 장치(101)에서 수행하는 동작들은, 전자 장치(101)의 적어도 하나의 프로세싱 회로(processing circuitry)를 포함하는 프로세서(120)에 의해 실행될 수 있다. 일 실시예에 따라, 전자 장치(101)에서 수행하는 동작들은, 메모리(130)에 저장되고, 실행 시에, 프로세서(120)가 동작하도록 하는 인스트럭션들(instructions)에 의해 실행될 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다. 도 6a 및 도 6b는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 지원하는 어플리케이션(예: 커스터마이즈 어플리케이션)의 사용자 인터페이스의 예를 도시하는 도면들이다.
도 5를 참조하면, 동작 501에서, 전자 장치(101)의 프로세서(120)는 어플리케이션(예: 도 4의 커스터마이즈 어플리케이션(400))의 실행에 기반하여, 어플리케이션의 사용자 인터페이스(또는 실행 화면)를 표시할 수 있다. 일 실시예에 따르면, 사용자는 키패드(예: 도 4의 키패드(415))를 커스터마이즈 하기 위한 커스터마이즈 어플리케이션(400)을 실행하도록 사용자 입력(예: 어플리케이션 아이콘 선택(예: 터치))을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여, 커스터마이즈 어플리케이션(400)을 실행하고, 커스터마이즈 어플리케이션(400)에서 제공되는 사용자 인터페이스(또는 실행 화면)를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다.
일 실시예에 따르면, 프로세서(120)는, 도 6a 및 도 6b에 예시한 바와 같은, 커스터마이즈 어플리케이션(400)의 실행 화면을 디스플레이 모듈(160)을 통해 표시할 수 있다. 일 실시예에 따라, 도 6a의 예시 화면은 커스터마이즈 어플리케이션(400)이 실행 중인 상태(예: 로딩 상태)의 실행 화면(예: 로딩 화면)의 예를 나타낼 수 있다. 일 실시예에 따라, 도 6b의 예시 화면은 커스터마이즈 어플리케이션(400)이 실행된 상태(예: 실행 상태)의 초기 실행 화면(예: 초기 화면)의 예를 나타낼 수 있다.
일 실시예에 따라, 커스터마이즈 어플리케이션(400)의 초기 화면(또는 사용자 인터페이스)은, 예를 들면, 키패드(415)의 레이아웃(layout)을 변경할 수 있는 사용자 인터페이스로 전환(예: 커스텀 레이아웃 모드 진입)하기 위한 객체(611) 및 커스터마이즈 기능의 활성화/비활성화를 선택할 수 있는 객체(613)를 포함하는 제1 아이템(610), 키패드(415)의 테마(theme)를 변경할 수 있는 사용자 인터페이스로 전환(예: 테마 변경 모드 진입)하기 위한 제2 아이템(620), 및 사용자의 키패드(415)를 이용한 다양한 게임(game)(예: 타자 게임, 산성비 게임)을 통해 사용자의 입력 패턴을 수집할 수 있는 사용자 인터페이스로 전환하기 위한 제3 아이템(630)을 포함할 수 있다.
동작 503에서, 프로세서(120)는 제1 키패드에 관련된 사용자 입력으로부터 적어도 하나의 정보를 획득할 수 있다. 일 실시예에 따라, 적어도 하나의 정보는 키패드 정보 및/또는 사용자 입력 정보(예: 사용자 커스터마이즈 정보)를 포함할 수 있다. 일 실시예에서, 키패드 정보는, 키패드 종류, 입력 패턴(예: 타이핑 속도), 키패드 오탈자, 자주 사용하는 패턴(예: 키패드 터치 영역, 왼손 사용, 및/또는 오른손 사용 패턴)을 포함할 수 있다. 일 실시예에서, 사용자 입력 정보는 커스터마이즈 어플리케이션(400)의 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 인터페이스를 통해 제공되는 제1 키패드를 이용한 제1 사용자 입력으로부터 키패드 정보를 획득할 수 있고, 사용자 인터페이스를 통해 제공되는 커스터마이즈 설정과 관련된 제2 사용자 입력으로부터 커스터마이즈 정보를 획득할 수 있다. 일 실시예에 따라, 사용자 입력으로부터 적어도 하나의 정보를 획득하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
동작 505에서, 프로세서(120)는 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력으로부터 획득된 키패드 정보 및/또는 사용자 입력 정보(예: 사용자 커스터마이즈 정보)에 적어도 기반하여 특징 정보를 결정 및 키패드에 특징 정보를 매핑하는 동작을 수행할 수 있다. 일 실시예에서, 특징 정보는, 예를 들면, 테마, 스킨, 속성, 및/또는 레이아웃(예: 버튼 크기 및/또는 버튼 간 간격)과 같이 제1 키패드의 커스터마이즈를 통해 제2 키패드를 구성할 수 있는 정보를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는, 예를 들어, 키패드(415)의 테마, 스킨, 속성, 및/또는 레이아웃(예: 버튼 크기 및/또는 버튼 간격)의 특징 정보를 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 키패드(415)의 하나 또는 그 이상의 버튼(또는 키)들에 대해 키 맵(keymap)을 생성하여 매핑할 수 있다. 예를 들면, 프로세서(120)는 키패드가 쿼티 키패드 및 단모음 키패드인 경우를 가정하면, 한국어 문자 ‘ㅃ’ 의 경우, 쿼티 키패드에서는 ‘쉬프트(shit)+ㅂ’으로 입력이 가능하고, 단모음 키패드에서는 ‘ㅂ+ㅂ’ 으로 입력이 가능하므로, 각각에 대응되는 키 맵을 생성하여 매핑할 수 있다. 다른 예를 들면, 프로세서(120)는 한국어(예: 제1 언어)를 제외한 다른 언어(예: 제N 언어)는 키패드의 기본 정보를 처리할 때 키 맵을 실시간으로 생성하여 매핑할 수도 있다.
어떤 실시예에 따르면, 프로세서(120)는 새로 매핑되는 키패드(예: 커스터마이즈 키패드 또는 다이나믹(dynamic) 키패드)가 실제로 효과가 있는지 판단하기 위해 오타율 학습을 통해 예측 및 시뮬레이션 할 수도 있다. 일 실시예에서, 학습은, 예를 들면, 강화 학습 및/또는 딥러닝을 의미할 수 있다. 다른 예를 들면, 프로세서(120)는 다양한 학습 패턴을 모델링하고 새로 생성된 키패드를 모델링에 대입하여 오타율을 예측할 수도 있다. 일 실시예에 따르면, 프로세서(120)는 새로 생성되는 키패드가 어느 정도의 데이터가 있어야 효과가 있는지를 판단하기 위해 모든 버튼(또는 키)들을 누를 수 있는(또는 터치할 수 있는) 예문 또는 예문의 양을 분석 및 예측하여 생성할 수도 있다. 일 실시예에서, 분석은, 예를 들면, 강화 학습 및/또는 딥러닝 기반 학습 모델을 의미할 수 있다. 일 실시예에 따라, 특징 정보 결정 및 이를 키패드에 매핑하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
동작 507에서, 프로세서(120)는 특징 정보에 기반하여 제2 키패드를 구성할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제1 키패드를 특징 정보에 기반하여 커스터마이즈된 제2 키패드로 구성할 수 있다. 예를 들면, 프로세서(120)는 제1 키패드의 제1 레이아웃을 특징 정보가 적용된 제2 키패드의 제2 레이아웃으로 커스터마이즈 할 수 있다. 일 실시예에서, 제1 키패드는, 예를 들면, 전자 장치(101)에서 사용자가 사용하도록 설정된 기존 키패드(예: 도 4의 키패드(415)(예: HoneyBoard))를 포함할 수 있고, 기존 키패드에서 설정된 제1 레이아웃 기반으로 구성될 수 있다. 일 실시예에서, 제2 키패드는, 예를 들면, 사용자 인터페이스를 통해 제1 키패드의 제1 레이아웃이 커스터마이즈되어 사용자 키패드로 추가되는 키패드(예: 사용자 맞춤 키패드)를 포함할 수 있고, 특징 정보에 따라 커스터마이즈된 제2 레이아웃 기반으로 구성될 수 있다. 일 실시예에 따라, 제2 키패드를 구성하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
동작 509에서, 프로세서(120)는 제2 키패드를 사용자 인터페이스를 통해 제공(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 인터페이스를 통해 제2 키패드를 표시하여 사용자에게 추천할 수 있다. 예를 들면, 프로세서(120)는 사용자 입력으로부터 획득된 정보 기반의 추천 키패드를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 특징 정보 기반 및/또는 사용자 입력 정보(예: 커스터마이즈 정보) 기반의 키패드를 추천하여 표시할 수 있다.
일 실시예에 따르면, 프로세서(120)는 추천된 제2 키패드가 디스플레이 모듈(160)을 통해 표시된 상태에서, 제2 키패드에 관련된 사용자 입력 정보(예: 사용자의 추가적인 커스터마이즈 정보)에 기반하여 제2 키패드의 제2 레이아웃을 커스터마이즈 하여 제2 키패드를 제공할 수도 있다. 일 실시예에 따르면, 프로세서(120)는 제2 키패드를 사용하는 사용자 입력(예: 설정 완료 입력)에 기반하여, 사용 설정된 키패드를, 제1 키패드에서 제2 키패드로 변경 및/또는 설정할 수 있다.
어떤 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여 제2 키패드를 다른 외부 전자 장치와 공유하는 동작을 수행할 수 있다. 예를 들면, 프로세서(120)는 제2 키패드를 구성하는 특징 정보를 지정된 통신 방식을 통해 외부 전자 장치로 제공(또는 전송)할 수 있다. 일 실시예에 따라, 제2 키패드를 공유하는 동작과 관련하여 후술하는 도면을 참조하여 설명된다.
도 7은 다양한 실시예들에 따른 전자 장치에서 키패드 간의 상호작용 예를 설명하기 위한 도면이다.
일 실시예에 따르면, 도 7은 키패드의 커스터마이즈를 제공하는 어플리케이션(예: 도 4의 커스터마이즈 어플리케이션(400))에서 키패드 커스터마이즈를 위한 모듈과 기존 키패드(예: 도 4의 키패드(415)(예: HoneyBoard)) 모듈 간에 키패드 커스터마이즈를 위한 상호작용 예를 나타낼 수 있다.
도 7을 참조하면, 일 실시예에 따른 커스터마이즈 어플리케이션(400)은 커스텀 레이아웃 모듈(710)(예: CLM, custom layout module), 자동 레이아웃 모듈(720)(예: ALM, automatic layout module) 및/또는 커스텀 스킨 모듈(730)(예: CSM, custom skin module)과 같은 키패드 커스터마이즈 모듈을 포함할 수 있다. 도시하지는 않았으나, 어떤 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 커스텀 테마 모듈(예: CTM, custom theme module)과 커스텀 설정 모듈(예: CSET, custom setting module)을 포함할 수도 있다.
일 실시예에 따른 키패드(415)는 키패드(415)의 입력을 담당하는 키패드 입력 모듈(740)(예: KIM, keyboard input module), 키패드(415)의 커스텀을 담당하는 커스텀 키패드 모듈(750)(예: CKM, custom keyboard module) 및/또는 사용자 사용 패턴을 학습하여 키패드 정보(또는 1차 정보)의 저장을 담당하는 패턴 학습 모듈(760)(예: PLM, pattern learning module)과 같은 모듈을 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 어플리케이션(146)은 키패드(415)의 커스터마이즈(예: 테마 변경)를 위한 테마 어플리케이션(700)(예: themepark)을 더 포함할 수 있다. 일 실시예에 따른 테마 어플리케이션(700)은 테마 어플리케이션(700)을 통해 키패드 리소스 관리(또는 적용)를 위한 키패드 리소스 관리 모듈(770)(예: TKRM, themepark keyboard resource manager)과 같은 모듈을 포함할 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 사용자 인터페이스에 기반하여 키패드(415)의 커스터마이즈에 관련된 정보를 획득하는 동작에서, 키패드(415)로부터 키패드 정보(또는 1차 정보)를 수신할 수 있고, 커스터마이즈 어플리케이션(400)에 의해 제공되는 사용자 인터페이스에 기반한 사용자 입력 정보(예: 2차 정보)를 수신할 수 있다. 예를 들면, 사용자 입력 정보는 커스터마이즈 어플리케이션(400)의 커스텀 레이아웃 모듈(710)에서 사용자가 직접 입력하거나, 자동 레이아웃 모듈(720)에서 타이핑(typing)을 이용하여 수집될 수 있다.
일 실시예에 따르면, 키패드(415)는, 패턴 학습 모듈(760)을 통해, 키패드 종류, 키패드 타이핑 속도, 키패드 터치 영역, 사용자가 자주 사용하는 입력 패턴, 오탈자, 사용자가 자주 사용하는 패턴, 사용자가 자주 사용하는 사용 모드(예: 왼손 모드, 오른손 모드, 및 양손 모드)와 같은 키패드 정보(또는 1차 정보)를 수신할 수 있다. 일 실시예에서, 키패드(415)는 커스터마이즈 어플리케이션(400)을 통해 커스터마이즈된 키패드가 적용되기 이전의 기존 키패드(예: honeyboard)를 나타낼 수 있으며, 예를 들면, 쿼티 키패드, 단모음 키패드, 나랏글 키패드, 천지인 키패드, 및/또는 모아키 키패드와 같이 전자 장치(101)에 설정 및 제공되는 키패드를 나타낼 수 있다.
일 실시예에 따르면 커스터마이즈 어플리케이션(400)은 키패드(415)로부터 키패드(415)에 의해 획득된 키패드 정보(또는 1차 정보)를 수신할 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)의 커스텀 레이아웃 모듈(710)은 키패드(또는 키보드) 레이아웃 프리셋(keyboard layout preset)을 제공할 수 있다. 예를 들면, 커스텀 레이아웃 모듈(710)은, 언어 별 및/또는 입력 타입(input type) 별 프리셋을 제공할 수 있다. 일 실시예에서, 커스텀 레이아웃 모듈(710)은 프리셋과 사용자 설정(user-set)을 관리할 수 있다. 예를 들면, 커스텀 레이아웃 모듈(710)은 버튼(또는 키) 이동, 행/열 크기 조절, 버튼 크기 조절, 및/또는 버튼 속성 수정과 같이 사용자가 임의로 키패드(415)의 레이아웃을 변경할 수 있도록 지원할 수 있다. 예를 들면, 커스텀 레이아웃 모듈(710)은 키패드 정보(또는 1차 정보)와 함께 사용자의 추가 입력에 따른 사용자 입력 정보(또는 2차 정보)를 수집할 수 있다. 이의 예가 도 8a, 도 8b, 도 8c, 도 9a 및 도 9b에 도시된다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)의 자동 레이아웃 모듈(720)은 지정된 예문을 제공할 수 있고, 사용자가 키패드(415)를 이용하여 지정된 예문에 대응하여 입력(예: 타이핑)하는 정보에 기반하여 입력(예: 터치) 패턴을 분석하고, 분석하는 결과에 기반하여 커스텀 레이아웃을 추천할 수 있다. 일 실시예에 따르면, 자동 레이아웃 모듈(720)은 주어진 예문에 따라 타이핑 되는 사용자 입력 정보(또는 2차 정보)(예: 터치 패턴)를 수집하여 저장할 수 있고, 사용자 입력 정보에 기반한 커스텀 레이아웃(예: 제2 레이아웃)의 키패드를 추천할 수 있다. 일 실시예에 따르면, 자동 레이아웃 모듈(720)은 키패드(415)의 키패드 정보를 키패드(415)로부터 수신하고, 사용자의 입력 정보(예: 타이핑)에 대응하여 사용자 입력 정보(예: 키패드(예: 타이핑되는 버튼)의 크기 및 터치 정보))를 수신할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 수신된 사용자 입력 정보를 분석하고, 키패드 정보 및/또는 사용자 입력 정보를 매핑하여 버튼의 크기가 조정된 새로운 모델(또는 레이아웃)을 생성하여 사용자에게 추천할 수 있다. 어떤 실시예에 따르면, 자동 레이아웃 모듈(720)은 키패드 정보(또는 1차 정보)가 없는 경우에는, 사용자 입력 정보(또는 2차 정보)만 이용하여 새로운 모델을 생성할 수도 있다. 이의 예가 도 10에 도시된다.
일 실시예에 따르면, 자동 레이아웃 모듈(720)은 사용자 입력 정보(또는 2차 정보)를 수집 및 운영할 수 있다. 일 실시예에서, 자동 레이아웃 모듈(720)이 수집하는 사용자 입력 정보(또는 2차 정보)는, 예를 들면, 사용자가 자주 틀리는 단어, 자주 클릭(또는 터치)하는 단어, 왼손 사용, 및/또는 오른손 사용과 같은 다양한 특징 정보를 포함할 수 있고, 자동 레이아웃 모듈(720)은 이의 특징 정보를 판단할 수 있다. 예를 들면, “화초 화초장” 예문에서 ‘화초’의 “초”의 오탈 확률이 높은 경우, “초”에 관련된 추가 예문을 연속적으로 제공할 수 있다. 예를 들면, 자동 레이아웃 모듈(720)은 ‘화초’ -> ‘초록’ -> ‘초장’의 연속성 단어 및/또는 문장을 출력하여 사용자의 오탈 패턴을 판단할 수 있다. 이의 예가 도 11에 도시된다.
일 실시예에 따르면, 자동 레이아웃 모듈(720)은 데이터 수집(data collection)과 관련된 동작(예: 키패드의 기본 정보 처리, 정상적인 터치 데이터 처리 및/또는 오타 처리 동작) 및/또는 터치 보정(touch correction) 동작을 수행할 수 있다. 일 실시예에 따라, 데이터 수집 동작(예: 기본 정보 처리, 정상적인 터치 데이터 처리 및/또는 오타 처리 동작)과 터치 보정 동작과 관련하여 후술하는 도면 도 12 내지 도 15를 참조하여 설명된다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)의 커스텀 스킨 모듈(730)은 사용자에게 다양한 형태의 사용자 인터페이스 및 이펙트를 제공할 수 있다. 일 실시예에 다라, 커스텀 스킨 모듈(730)은 키패드 정보(또는 1차 정보) 및/또는 사용자 입력 정보(예: 2차 정보)에 기반하여 분석된 데이터에 대응하여 사용자의 패턴에 맞는 최적의 스킨(또는 테마) 정보를 제공할 수 있다. 일 실시예에서, 사용자의 패턴에 관련된 정보는, 예를 들면, 오탈자, 키패드 타입, 및/또는 전자 장치(101)의 폼 팩터(예: 폴더블, 슬라이더블)의 정보를 포함할 수 있다.
일 실시예에 따르면, 도시하지는 않았으나, 커스터마이즈 어플리케이션(400)은 키패드(415)에서 제공하는 여러 추가 기능(예: emotion, sticker, 및/또는 gif)의 비주얼적인 조화를 이루기 위해 테마 어플리케이션(700)을 통해서 테마 리소스(theme resource)를 적용할 수 있는 모듈(예: 커스텀 테마 모듈)을 포함할 수 있다. 어떤 실시예에 따르면, 테마 어플리케이션(700) 또는 그의 동작은 커스터마이즈 어플리케이션(400)에 포함되어 구현될 수도 있다.
일 실시예에 따르면, 도시하지는 않았으나, 커스터마이즈 어플리케이션(400)은 사용자의 다양한 설정 정보 및/또는 패턴 정보를 저장 및 관리할 수 있는 모듈(예: 커스텀 설정 모듈)을 포함할 수 있다.
도 8a, 도 8b 및 도 8c는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면들이다. 도 9a 및 도 9b는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면들이다.
일 실시예에 따라, 도 8a, 도 8b, 도 8c, 도 9a 및 도 9b는 커스터마이즈 어플리케이션(400)의 사용자 인터페이스(또는 실행 화면)의 예를 나타낼 수 있다. 예를 들면, 도 8a, 도 8b, 도 8c, 도 9a 및 도 9b에서는 커스터마이즈 어플리케이션(400)의 커스텀 레이아웃 모듈(710)의 실행 화면의 예를 나타낼 수 있다.
도 8a, 도 8b 및 도 8c를 참조하면, 일 실시예에서, 도 8a의 예시 화면은 언어 별 및/또는 입력 타입 별 프리셋을 제공하는 프리셋 인터페이스의 예를 나타낼 수 있다. 도시된 바와 같이, 언어(예: 한국어, 영어) 및 입력 타입(예: 심볼) 별로 미리 정의된 프리셋(810)과 사용자 정의(또는 추가)를 위한 추가 객체(820)를 포함할 수 있다. 예를 들면, 언어 별로 적어도 하나의 키패드 프리셋이 제공될 수 있고, 입력 타입 별로 적어도 하나의 키패드 프리셋이 제공될 수 있다.
일 실시예에서, 도 8b의 예시 화면은, 도 8a의 예시 화면에서 사용자 정의를 위한 추가 객체(820)가 선택된 경우 전환되는 화면일 수 있다. 예를 들면, 도 8b의 예시 화면은 전자 장치(101)에 설정된 하나 또는 그 이상의 기존 키패드(415)에 대응하는 키패드 객체(830) 및 선택된 키패드 객체(830)에 대응하는 키패드의 커스터마이즈 실행을 위한 실행 객체(또는 편집 객체)(840)를 포함하는 키패드 사용자 인터페이스의 예를 나타낼 수 있다. 일 실시예에 따라, 키패드 객체(830)는, 예를 들면, 도 8a의 예시 화면의 한국어 항목(또는 탭)에서 추가 객체(820) 선택 시 전자 장치(101)에 설정된 기존 키패드 중 한국어를 지원하는 키패드에 대응하는 키패드 객체(830)를 포함할 수 있다. 예를 들면, 한국어를 지원하는 키패드가 복수인 경우, 대응하는 복수의 키패드 객체(830)를 제공하거나, 도시된 바와 같이 하나의 키패드 객체(830)가 표시되고, 숨겨진 다른 키패드 객체(830)를 전환하여 표시하는 스크롤(또는 슬라이드)(예: 좌우 스크롤) 방식으로 선택 가능하도록 제공할 수 있다.
일 실시예에서, 도 8c의 예시 화면은, 도 8b의 예시 화면에서 키패드(415)의 커스터마이즈 실행을 위한 실행 객체(840)가 선택된 경우 전환되는 화면일 수 있다. 예를 들면, 도 8c의 예시 화면은 선택된 키패드 객체(830)에 대응하는 키패드(415)의 커스터마이즈를 위한 커스터마이즈 인터페이스의 예를 나타낼 수 있다. 도시된 바와 같이, 커스터마이즈 인터페이스는, 예를 들면, 선택된 키패드 객체(830)에 대응하는 키패드(415)를 위한 키패드 영역(850), 키패드(415)의 커스터마이즈 및 관련 정보를 위한 커스터마이즈 영역(860) 및/또는 키패드(415)의 버튼 속성 변경을 위한 다양한 템플릿을 위한 템플릿 영역(870)을 포함할 수 있다. 일 실시예에서, 키패드 영역(850), 커스터마이즈 영역(860) 및 템플릿 영역(870)을 이용하여 키패드를 커스터마이즈 하는 예가 도 9a 및 도 9b에 도시된다.
도 9a 및 도 9b를 참조하면, 일 실시예에서, 키패드 영역(850)은 선택된 키패드 객체(830)에 대응하는 키패드(415)가 제공될 수 있다. 일 실시예에서, 키패드(415)는 초기 기본 레이아웃(예: 제1 레이아웃)으로 제공될 수 있고, 사용자의 커스터마이즈 진행에 따라 커스터마이즈된 레이아웃(예: 제2 레이아웃)으로 변경될 수 있다. 일 실시예에서, 도시된 예시에서는 키패드(415)의 레이아웃이 적어도 일부 변경(예: 키패드의 적어도 일부 버튼이 아이콘(또는 이모티콘) 입력을 위한 버튼으로 변경)된 상태에서 커스터마이즈가 진행되는 화면 예시일 수 있다.
일 실시예에서, 커스터마이즈 영역(860)은 키패드 영역(850)에 표시된 키패드의 버튼(또는 키) 이동, 열 크기 조절, 및/또는 버튼 크기 조절을 위한 관련된 정보 및 편집 메뉴(또는 옵션)를 제공할 수 있다. 일 실시예에 따르면, 커스터마이즈 영역(860)은 키패드 영역(850)에서 선택된 버튼(예: 도 9a의 예시 화면의 버튼(940))에 대응하는 정보 객체(920)와 선택된 버튼(940)의 버튼 크기를 조절하기 위한 크기 조절 객체(930)를 포함할 수 있다. 일 실시예에 따라, 크기 조절 객체(930)는 버튼의 가로 크기(예: 폭(width)) 및/또는 버튼의 세로 크기(예: 높이(height))를 조절 가능하도록 구성될 수 있다. 예를 들면, 크기 조절 객체(930)를 이용한 사용자 입력에 따라, 도 9b의 예시 화면의 버튼(950)에 나타낸 바와 같이 선택된 버튼(940)의 크기(예: 폭)를 조절할 수 있다. 일 실시예에 따르면, 도시된 예시에서는 단일 버튼(또는 단일 키)의 크기를 조절하는 예를 나타내었으나, 이에 제한되지 않는다. 예를 들면, 사용자는 키패드 영역(850)에서 크기 조절을 위한 복수의 버튼(예: 2개 이상 또는 전체 버튼)을 복수 개 선택할 수 있고, 선택된 복수의 버튼의 크기를 실질적으로 동시에 동일한 크기로 조절할 수 있다.
도시하지는 않았으나, 커스터마이즈 영역(860)은 버튼의 이동, 버튼 간의 간격, 버튼의 열 크기 및/또는 버튼의 행 크기를 조절하는 것에 관련된 정보 객체 및 그의 조절을 위한 조절 객체 및/또는 선택된 하나 또는 그 이상의 객체를 삭제(또는 제거)할 수 있는 삭제 객체를 제공할 수도 있다.
일 실시예에서, 템플릿 영역(870)은 키패드 영역(850)의 각 버튼 별 버튼 속성을 변경할 수 있는 다양한 템플릿을 제공할 수 있다. 도시된 예시에서는, 템플릿 영역(870)에 버튼의 속성을 아이콘(또는 이모티콘)으로 변경하기 위한 아이콘 템플릿이 제공된 예를 나타낼 수 있다. 일 실시예에 따르면, 템플릿 영역(870)은 아이콘(또는 이모티콘) 외에도, 도 9a의 엘리먼트 910에 나타낸 바와 같이, 기능 별 다양한 템플릿이 제공될 수 있다. 예를 들면, 템플릿 영역(870)을 통해 버튼 속성으로 적용 가능한 기능(또는 용도) 별로 구분된 다양한 템플릿이 제공될 수 있다. 예를 들면, 버튼 속성으로 적용 가능한 기능(또는 용도) 별로 구분된 다양한 템플릿은 기본 템플릿(911), 이메일 템플릿(913), URL 템플릿(915), 및/또는 심볼 템플릿(917)을 포함할 수 있다.
일 실시예에 따르면, 사용자는 템플릿 영역(870)에서 객체를 선택하고, 선택된 객체를 키패드 영역(850)의 원하는 버튼으로 이동하여 드롭하는 입력(예: 드래그 앤 드롭)으로, 해당 버튼의 속성을 선택된 객체의 속성을 가지도록 변경할 수 있다. 일 실시예에 따르면, 사용자는 템플릿 영역(870)에서 객체를 선택하고, 선택된 객체를 키패드 영역(850)에서 버튼이 아닌 빈 영역 또는 버튼들 사이로 이동하여 드롭하는 입력으로 키패드 영역(870)에 선택된 객체의 새로운 버튼을 추가할 수 있다. 일 실시예에 따르면, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 커스텀 레이아웃 모듈(710))는 사용자 입력에 대응하여 키패드 영역(850)에서 해당 버튼의 속성을 변경하거나, 새로운 버튼을 추가하여 제공할 수 있다.
일 실시예에 따르면, 도 9a 및 도 9b에 예시한 바와 같이, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 커스텀 레이아웃 모듈(710))는 다양한 언어 별 및/또는 입력 타입(input type) 별 프리셋을 제공할 수 있으며, 이를 이용한 사용자 입력(예: 버튼 이동, 열 크기 조절, 버튼 크기 조절, 및/또는 버튼 속성 변경)에 따라 키패드(415)의 레이아웃을 변경할 수 있고, 레이아웃 변경에 따라 사용자 입력 정보(또는 2차 정보)를 수집할 수 있다.
도 10은 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스 및 그 동작 구조의 예를 설명하기 위해 도시하는 도면이다.
일 실시예에 따라, 도 10은 커스터마이즈 어플리케이션(400)의 사용자 인터페이스(또는 실행 화면)의 예를 나타낼 수 있다. 예를 들면, 도 10에서는 커스터마이즈 어플리케이션(400)의 자동 레이아웃 모듈(720)에 의한 사용자 입력 정보를 획득할 수 있는 사용자 인터페이스의 예시 및 그의 동작을 나타낼 수 있다.
도 10을 참조하면, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 자동 레이아웃 모듈(720))는 지정된 예문(1010)을 제공할 수 있고, 사용자가 키패드(415)를 이용하여 지정된 예문(1010)에 대응하여 입력(예: 타이핑)하는 터치 정보(B)(예: 터치 패턴)를 분석(1020)하고, 분석하는 결과에 기반하여 커스텀 레이아웃을 추천(1030)할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 지정된 예문(1010)에 따라 타이핑 되는 사용자 입력 정보(또는 2차 정보)(예: 터치 패턴)를 수집하여 저장할 수 있고, 사용자 입력 정보에 기반한 커스텀 레이아웃(예: 제2 레이아웃)의 키패드를 추천할 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 키패드(415)의 키패드 정보(예: config(A))를 키패드(415)로부터 수신하고, 사용자의 입력 정보(예: 타이핑)에 대응하여 사용자 입력 정보(예: 키패드(예: 타이핑되는 버튼)의 크기 및 터치 정보(B))를 수신할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 수신된 사용자 입력 정보를 분석하고, 키패드 정보 및/또는 사용자 입력 정보를 매핑하여 버튼의 크기가 조정된 새로운 모델(또는 레이아웃)을 생성하여 사용자에게 추천할 수 있다. 어떤 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 키패드 정보(또는 1차 정보)가 없는 경우에는, 사용자 입력 정보(또는 2차 정보)만 이용하여 새로운 모델을 생성할 수도 있다.
도 11은 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면이다.
일 실시예에 따라, 도 11은 도 10에서 예시한 바와 같은 커스터마이즈 어플리케이션(400)의 사용자 인터페이스(또는 실행 화면)의 예를 나타낼 수 있다. 예를 들면, 도 11에서는 커스터마이즈 어플리케이션(400)의 자동 레이아웃 모듈(720)에 의한 사용자 입력 정보를 획득할 수 있는 자동 레이아웃 모듈(720)의 실행 화면의 예를 나타낼 수 있다.
도 11을 참조하면, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 자동 레이아웃 모듈(720))는, 예시한 바와 같은 사용자 인터페이스에 기반하여 사용자 입력 정보(또는 2차 정보)를 수집할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 사용자가 주어진 예문(1110)에 따라 타이핑 하는 정보에 기반하여 오탈자, 패턴 정보 및/또는 타이핑 속도를 수집할 수 있다.
일 실시예에 따르면, 사용자 입력 정보는 사용자가 자주 틀리는 단어, 자주 클릭(또는 터치)하는 단어, 왼손 사용, 및/또는 오른손 사용과 같은 다양한 특징 정보를 포함할 수 있고, 커스터마이즈 어플리케이션(400)은 이의 특징 정보를 판단할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 “화초” 예문에서 “초”의 오탈 확률이 높은 경우, “초”에 관련된 추가 예문의 연속적 제공(예: “화초” -> “초록” -> “초장”의 연속성 단어 및/또는 문장 출력)을 통해 오탈 패턴을 판단할 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 사용자 인터페이스를 통해 사용자 입력 정보에 대응하는 피드백 정보(예: 정확도(accuracy), 타이핑 속도(speed))를 사용자에게 제공할 수도 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)(예: 자동 레이아웃 모듈(720))은 사용자 입력 정보에 기반하여 키패드의 기본 정보 처리, 정상적인 터치 데이터 처리 및/또는 오타 정보 처리를 통해 데이터 수집(data collection)을 수행할 수 있다. 이의 예가 도 12 및 도 13에 도시된다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)(예: 자동 레이아웃 모듈(720))은 사용자 입력 정보에 기반하여 터치 보정(touch correction)을 수행할 수 있다. 이의 예가 도 14 및 도 15에 도시된다. 이하에서, 도 12 내지 도 15를 참조하여, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400))의 데이터 수집 동작(예: 기본 정보 처리, 정상적인 터치 데이터 처리 및 오타 처리 동작)과 터치 보정 동작에 대한 예를 설명한다.
도 12는 다양한 실시예들에 따른 전자 장치에서 데이터 수집을 위한 정보 처리 동작을 설명하기 위한 도면이다.
일 실시예에 따라, 도 12에서는, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 자동 레이아웃 모듈(720))의 데이터 수집 동작에서 키패드의 기본 정보 및 정상적인 터치 데이터를 처리하는 예를 나타낼 수 있다.
도 12를 참조하면, 예시 화면 <1201>은 키패드의 기본 정보 처리의 예를 설명하기 위한 예시도이다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 실행 시에 전자 장치(101)에 현재 설정된 키패드(415)의 각 버튼의 높이(height)(1210) 및 각 버튼의 폭(width)(1220)에 관련된 값을 저장 할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 키패드(415)의 각 버튼 별 중심 좌표(예: 중심 X, Y 좌표)를 구해서 저장할 수 있다. 어떤 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 각 버튼의 높이 및 폭에 더하여, 키패드(415)의 각 버튼의 실제 터치 가능한 높이(1230)(예: 마진(margin)을 포함하는 행(row)의 높이) 및/또는 키패드(415)의 각 버튼의 실제 터치 가능한 폭(1240)(예: 마진을 포함하는 열(column)의 폭(또는 너비))에 관련된 값을 저장 할 수도 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 실제 키패드의 터치 좌표를 비교할 때, 마진이 포함된 높이 및/또는 폭의 값으로 비교할 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 제공된 예문(1260)의 단어 및/또는 문장에 대응하여 사용자로부터 수신된 입력 데이터를 지정 단위(예: 문자 단위)로 분해(split)(또는 분리)하여 수집할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 예문(1260)의 “동” 글자가 입력될 시 “동” 글자를 “ㄷ”, “ㅗ”, “ㅇ”와 같이, 자음/모음으로 모두 분할한 후 저장할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 자음/모음을 각 버튼과 매칭 시키기 위하여 단어를 지정 단위로 분할하여 저장할 수 있다.
도 12를 참조하면, 예시 화면 <1203>은 키패드의 정상적인 터치 데이터 처리의 예를 설명하기 위한 예시도이다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 예문(1260)에 대응하여 사용자로부터 입력된 단어가 예문(1260)과 매칭될 때 마다 수집된 데이터와 비교한 후 해당 키 맵(keymap)에 저장할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 예문(1260)에 따라 문자 “동”이 입력될 시, 예문(1260)의 “동”에서 자음/모음으로 분해된 ”ㄷ”, “ㅗ”, “ㅇ”과 수집된 데이터(예: 키패드 정보(예: 터치 정보)에 기반한 버튼(예: 사용자가 터치한 버튼)의 값(예: key code))을 비교할 수 있다. 키패드에 포함된 각각의 버튼은 각각의 키 값(예: key code)을 가지고 있으며, 각각의 버튼에 대응되는 각각의 키 값은 메모리(예: 도 1의 메모리(130))에 테이블 형태로 매핑되어 저장될 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 “ㄷ”과 사용자가 터치한 버튼의 키코드가 일치(예: ‘ㄷ’ = 사용자가 터치한 키코드)하는 경우, KeyMap['ㄷ']에 사용자가 터치한 터치 좌표(예: x, y 좌표)를 저장할 수 있다.
일 실시예에 따르면, 예시 화면 <1203> 에서 커스터마이즈 어플리케이션(400)은 사용자 인터페이스를 통해 주어진 예문(1260)에 대응하여 입력되는 사용자 입력 정보에 대응하는 피드백 정보(예: 정확도(accuracy): 100%, 타이핑 속도(speed) : 179)를 사용자에게 제공할 수도 있다.도 13은 다양한 실시예들에 따른 전자 장치에서 데이터 수집을 위한 정보 처리 동작을 설명하기 위한 도면이다.
일 실시예에 따라, 도 13에서는, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 자동 레이아웃 모듈(720)))의 데이터 수집 동작에서 키패드의 오타 정보를 처리하는 예를 나타낼 수 있다.
도 13을 참조하면, 커스터마이즈 어플리케이션(400)은 제공된 예문에 기초한 사용자 입력을 분석하여 오타 발생 여부를 판단할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 주어진 예문에 대응하여 사용자로부터 입력된 단어가 예문과 매칭될 때 마다 수집된 데이터와 비교한 후 해당 키 맵에 저장 여부를 결정할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 예문의 문자 “백”(1310)에 대해 문자 “박”(1320)이 입력될 시 오타로 판단하고 도 12에 예시한 바와 같은 키코드 비교를 수행하지 않고 수집된 데이터만 저장할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 오타가 발생한 후에는 버튼 값(예: key code)을 비교하지 않고 데이터 수집만 수행할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 도시된 바와 같이, 예문의 엘리먼트 1310의 ‘백’에 대해 키패드(415)로부터 엘리먼트 1320의 ‘박’이 수신되는 경우, 불일치로 인한 오타로 판단할 수 있다. 일 실시예에 따라, 커스터마이즈 어플리케이션(400)은 예문의 “백”(1310)과 다른 “박”(1320)이 입력될 시, 예문의 “백”에서 자음/모음으로 분해된 “ㅂ”, “ㅏ”, “ㄱ”의 데이터만 저장할 수 있고, 사용자 터치에 대한 터치 좌표는 저장하지 않을 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 사용자로부터 오타에 대한 재입력이 있는 경우, 오타(예: ‘박’)와 실제 입력되어야 할 버튼(예: ‘ㅐ’ 버튼)의 거리(예: ‘ㅐ’ 버튼과 ‘ㅏ’ 버튼 간 거리)를 비교한 후 오타도 실제 입력되어야 할 값으로 인식할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 사용자에 의해 입력된 단어(예: ‘박’) 삭제 후 다시 예문의 ‘백’이 입력되는 경우, 기존에 저장된 데이터(예: “ㅂ”, “ㅏ”, “ㄱ”)와 새로운 데이터(예: “ㅂ”, “ㅐ”, “ㄱ”)를 비교할 수 있다. 일 실시예에 따라, 커스터마이즈 어플리케이션(400)는 비교 결과에 기반하여, 실제 'ㅐ' 버튼이 입력되어야 하는 반면 'ㅏ' 버튼이 잘못 입력된 상황(예: 오타)으로 판단하고, 실제 'ㅐ' 버튼의 중심 좌표와 사용자가 터치한 버튼(예: 'ㅏ' 버튼)의 중심 좌표 간의 거리를 계산 후 ‘ㅏ’의 터치 좌표를 저장할 지 또는 삭제할 지 여부를 판단(또는 결정)할 수 있다. 예를 들면, 버튼(예: ‘ㅐ’ 버튼)이 최대 증가할 수 있는 크기(예: 폭 및/또는 높이)가 120%인 것을 가정할 때, 커스터마이즈 어플리케이션(400)은, 입력된 ‘ㅏ’ 버튼이 ‘ㅐ’ 버튼의 중심 좌표로부터 120% 이상 떨어져 있는 경우, ‘ㅏ’의 터치 좌표를 삭제하고, 120% 내에 있는 경우, ‘ㅏ’의 터치 좌표를 KeyMap[‘ㅐ’]에 저장할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 ‘ㅐ’ 버튼을 저장된 터치 좌표에 기반하여 크기를 변경(예: 터치 보정)하도록 관련 데이터를 저장할 수 있다. 일 실시예에서, 버튼이 최대 증가할 수 있는 크기는 버튼이 실제 터치 가능한 폭 및/또는 높이(예: 도 12의 1230, 1240)(예: 마진(margin)을 포함하는 행/열의 폭/높이)를 포함할 수 있다.
도 14는 다양한 실시예들에 따른 전자 장치에서 터치 보정 동작을 설명하기 위한 도면이다.
일 실시예에 따라, 도 14에서는, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 자동 레이아웃 모듈(720))의 터치 보정에서 터치에 대한 평균 값을 계산하는 예를 나타낼 수 있다.
도 14를 참조하면, 커스터마이즈 어플리케이션(400)은 각 버튼(예: ‘ㅂ’ 버튼(1400)) 별 키 맵에 저장된 터치 좌표들의 평균을 계산할 수 있다. 예를 들면, 도시된 바와 같이, 커스터마이즈 어플리케이션(400)은 사용자에 의해 터치된 버튼(1400)의 키 맵에 수집된 터치 좌표들(1410)에 대한 X, Y 좌표의 평균을 계산할 수 있다. 예를 들면, 도시된 바와 같이, 사용자가 버튼(1400)을 입력할 때 버튼(1400)의 중심 좌표(1430)에 비해서 X 좌표는 오른쪽으로, Y 좌표는 밑으로 치우친 터치 좌표(1420)(예: 계산된 평균 값)에 터치될 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 버튼(1400)의 중심 좌표(1430)와 터치 좌표(1420)에 기반하여, 버튼(1400)의 크기를 조절할 수 있다. 예를 들면, 도시된 예시에서는, 커스터마이즈 어플리케이션(400)은 버튼(1400)을 오른쪽 방향과 아래쪽 방향(예: 우하 방향)으로 크기를 증가하거나, 및/또는 위치를 이동하여 사용자의 오타율을 줄이도록 할 수 있다.
도 15는 다양한 실시예들에 따른 전자 장치에서 터치 보정 동작을 설명하기 위한 도면이다.
일 실시예에 따라, 도 15에서는, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400) 또는 자동 레이아웃 모듈(720))의 터치 보정에서 터치에 대한 폭(width) 및 높이(height)를 계산하는 예를 나타낼 수 있다.
도 15를 참조하면, 일 실시예에서, 엘리먼트 1510은 크기 변경 전 동일 열(row)에 있는 버튼들의 중심축을 나타낼 수 있고, 엘리먼트 1520은 크기 변경 후 동일 열에 있는 버튼들의 중심축을 나타낼 수 있고, 엘리먼트 1530은 각 버튼들의 중심점(또는 중심 x, y 좌표)를 나타낼 수 있다. 일 실시예에 따르면, 엘리먼트 1520의 버튼들은 엘리먼트 1510의 버튼들의 크기가 변경된 예를 나타낼 수 있다.
일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 각 버튼 별로 구해진 평균 값에 기반하여 각 버튼들의 폭 및/또는 높이를 계산할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 각 버튼들의 중심점(1530) 간의 거리(예: 좌우 거리 또는 상하 거리)에 기반하여 버튼의 폭 및/또는 높이를 계산할 수 있다. 일 실시예에 따르면, 커스터마이즈 어플리케이션(400)은 도 14의 예시와 같이 사용자가 터치한 버튼의 중심 좌표와 터치 좌표를 고려하여 해당 버튼의 폭 및/또는 높이를 계산할 수도 있다.
도 16은 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면이다.
일 실시예에 따라, 도 16은 커스터마이즈 어플리케이션(400)의 사용자 인터페이스(또는 실행 화면)의 예를 나타낼 수 있다. 예를 들면, 도 16에서는 커스터마이즈 어플리케이션(400)의 커스텀 스킨 모듈(730)의 실행 화면의 예를 나타낼 수 있다.
도 16에 예시한 바와 같이, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400))는 키패드(415)의 색상 및/또는 이펙트를 변경할 수 있는 사용자 인터페이스를 제공할 수 있다. 일 실시예에 따라, 사용자 인터페이스는, 도 16에 예시한 바와 같이, 키패드(415)의 색상 변경과 관련된 제1 아이템(1611)(예: color preset)과 키패드(415)의 이펙트(예: 키패드 버튼 누름 이펙트)를 변경할 수 있는 제2 아이템(1613)을 포함할 수 있다. 일 실시예에 따르면, 사용자 인터페이스는 키패드(415)의 색상 변경 및/또는 이펙트 적용의 활성화/비활성화를 선택할 수 있는 객체(1610)(예: 온/오프 객체)를 포함할 수 있다.
일 실시예에 따라, 예시 화면 <1601>은 색상 변경과 관련된 제1 아이템(1611)이 선택되고, 색상 변경을 적용하지 않는 비활성화(또는 오프(off)) 상태를 예시할 수 있다. 예를 들면, 객체(1610)에 의해 비활성화 설정된 상태일 수 있다. 일 실시예에 따라, 색상 변경이 비활성화 상태인 경우, 커스터마이즈 어플리케이션(400)은, 도시된 예시와 같이, 키패드(415)에 색상을 적용하지 않고 기본 색상 및/또는 그레이 색상 적용에 의해 키패드(415)의 테마(또는 스킨)를 제공할 수 있다.
일 실시예에 따라, 예시 화면 <1603>은 예시 화면 <1601>에서 색상 변경을 적용하는 활성화(또는 온(on)) 상태를 예시하고 있다. 예를 들면, 객체(1610)에 의해 활성화 설정된 상태일 수 있다. 일 실시예에 따라, 색상 변경이 활성화 상태인 경우, 커스터마이즈 어플리케이션(400)은, 도시된 예시와 같이, 키패드(415)에 색상을 적용하여 제공할 수 있다. 예를 들면, 사용자는 주어진 색상 프리셋 중 사용자가 원하는 색상 조합의 테마(또는 스킨)(1620)(예: 배경 색상-빨강, 버튼 색상-검정 조합의 테마)를 선택할 수 있다. 커스터마이즈 어플리케이션(400)은 사용자 선택의 테마(또는 스킨)에 대응하는 색상 조합으로 키패드(415)의 테마(또는 스킨)를 적용할 수 있다. 이의 예가 예시 화면 <1605>의 키패드 객체(1640)로 도시된다. 일 실시예에 따라, 커스터마이즈 어플리케이션(400)은 사용자에 의해 지정된 테마(예: 테마(1620))가 선택되는 경우, 테마(1620)가 선택됨을 사용자에게 통지하기 위한 선택 객체(1630)를 제공할 수 있다. 일 실시예에 따라, 선택 객체(1630)는 도시된 예시(예: ‘V’ 체크 아이콘)에 한정하지 않으며, 사용자 선택에 대해 통지할 수 있는 다양한 방식의 다른 객체(예: 하이라이트 및/또는 외부 테두리) 또는 이들 조합에 의해 제공할 수도 있다.
일 실시예에 따라, 예시 화면 <1605>는 예시 화면 <1603>에서 색상 변경이 적용되고, 사용자에 의해 테마(1620)가 선택되고, 이펙트(예: 키패드 버튼 누름 이펙트) 변경과 관련된 제2 아이템(1613)이 선택된 상태를 예시하고 있다. 도시된 바와 같이, 사용자 인터페이스는 키패드의 색상 변경 및/또는 이펙트 적용의 활성화/비활성화를 선택할 수 있는 객체(1650)를 포함할 수 있다. 일 실시예에서 객체(1650)는 객체(1610)에 대응할 수 있다. 일 실시예에 따라, 이펙트가 활성화 상태인 경우, 커스터마이즈 어플리케이션(400)은, 도시된 예시와 같이, 키패드 객체(1640)에 적어도 하나의 버튼(1660)에 이펙트를 적용하여 제공할 수 있다. 예를 들면, 사용자는 주어신 키패드 버튼 누름 이펙트 중 사용자가 원하는 이펙트(예: 녹색 이펙트)를 선택할 수 있다. 커스터마이즈 어플리케이션(400)은 사용자 선택의 이펙트에 대응하는 색상을 버튼 누름 이펙트로 적용할 수 있다. 예를 들면, 키패드 객체(1640)의 버튼(1660)은 버튼 누름 이펙트가 적용된 예를 나타낼 수 있다. 예를 들면, 키패드 객체(1640)의 버튼(1660)으로 예시한 바와 같이, 사용자가 버튼 터치 시 해당 버튼의 색상이 사용자에 의해 지정된 색상(예: 녹색)으로 출력될 수 있고, 사용자가 해당 버튼(1660) 터치 시 마다 버튼 누름 이펙트가 사용자에게 제공될 수 있다
도 17a 및 도 17b는 다양한 실시예들에 따른 전자 장치에서 키패드 커스터마이즈를 위한 사용자 인터페이스의 예를 도시하는 도면들이다.
일 실시예에 따라, 도 17a 및 도 17b는 도 16에 대응하는 사용자 인터페이스의 예를 나타낼 수 있다. 예를 들면, 도 17a 및 도 17b에 예시된 바와 같이, 도 17a 및 도 17b는 도 16의 전자 장치(101)와 다른 폼 팩터의 전자 장치(101)에서 사용자 인터페이스를 제공하는 예를 나타낼 수 있다. 예를 들면, 도 17a 및 도 17b는, 전자 장치(101)는 하나의 폴딩 축에 기반하여 2개의 디스플레이 면(예: 제1 디스플레이 면 및 제2 디스플레이 면)을 포함하는 폼 팩터(예: 320)의 폴더블 전자 장치에서 사용자 인터페이스를 제공하는 예를 나타낼 수 있다. 예를 들면, 사용자 인터페이스는, 도 16에 대응하는, 키패드(415)의 색상 변경과 관련된 제1 아이템(1711)과 키패드(415)의 이펙트(예: 키패드 버튼 누름 이펙트)를 변경할 수 있는 제2 아이템(1713)을 포함할 수 있다. 일 실시예에 따르면, 사용자 인터페이스는 키패드(415)의 색상 변경 및/또는 이펙트 적용의 활성화/비활성화를 선택할 수 있는 객체를 포함할 수 있다. 일 실시예에 따라, 도 16과 도 17a 및 도 17b에 예시된 사용자 인터페이스는 실질적으로 동일한 구성 요소를 포함할 수 있고, 폼 팩터에 따른 디스플레이 모듈(160)의 크기에 따라 확장되거나 축소되어 제공될 수 있다.
도 18은 다양한 실시예들에 따른 전자 장치에서 커스터마이즈된 키패드의 예를 도시하는 도면이다.
도 18을 참조하면, 예시 화면 <1801>은 전자 장치(101)에 기본 설정되는 기존 키패드(415)(이하, ‘제1 키패드’라 한다)의 예를 나타낼 수 있고, 예시 화면 <1803>은 제1 키패드(415)에 대해, 커스터마이즈 어플리케이션(400)에 기반하여 커스터마이즈된 키패드(이하, ‘제2 키패드’라 한다)의 예를 나타낼 수 있다.
도 18에 예시한 바와 같이, 예시 화면 <1801>의 제1 키패드의 레이아웃에 비하여, 예시 화면 <1803>의 제2 키패드의 레이아웃에서, 일정 버튼(예: 1810, 1820, 1830, 1840)이 커스터마이즈된 예를 나타낼 수 있다. 예를 들면, 제2 키패드의 레이아웃은, 일부 버튼(1810)은 버튼 크기가 변경되고, 일부 버튼(1820, 1830)은 버튼의 속성이 변경되고, 일부 버튼(1840)은 버튼에 각인되는 문자가 변경된 예를 나타낼 수 있다.
도 19 및 도 20은 다양한 실시예들에 따른 전자 장치의 사용 환경에 따라 키패드가 제공되는 예를 도시하는 도면들이다.
일 실시예에 따라, 도 19 및 도 20은 전자 장치(101)의 다양한 폼 팩터에 기반하여 키패드가 제공되는 예를 나타낼 수 있다. 일 실시예에 따라, 도 19의 예시의 경우, 전자 장치(101)가 폴더블 폼 팩터(예: 도 3의 320)를 가지며, 제1 사용 환경(1901)(예: 언폴딩 상태), 제2 사용 환경(1903)(예: 플렉스(flex) 모드 상태) 및 제3 사용 환경(1905)(예: 폴딩 상태)으로 동작하는 예를 나타낼 수 있다. 예를 들어, 제1 사용 환경(1901)(예: 언폴딩 상태)은 하나의 폴딩 축에 기반하여 2개의 디스플레이 면(예: 제1 디스플레이 면 및 제2 디스플레이 면)이 실질적으로 동일한 면을 형성한 상태를 의미할 수 있다. 예를 들어, 제2 사용 환경(1903)(예: 플렉스(flex) 모드 상태)은 하나의 폴딩 축에 대해 2개의 디스플레이 면(예: 제1 디스플레이 면 및 제2 디스플레이 면)이 소정의 각도를 이루는 상태를 의미할 수 있다. 예를 들어, 제3 사용 환경(1905)(예: 폴딩 상태)은 하나의 폴딩 축에 기반하여 2개의 디스플레이 면(예: 제1 디스플레이 면 및 제2 디스플레이 면)이 서로 마주보게 배치되고, 2개의 디스플레이면의 적어도 하나에 대향하는 면에 배치된 제3 디스플레이 면이 시각적으로 노출되는 상태를 의미할 수 있다. 일 실시예에 따라, 도 20의 예시의 경우, 전자 장치(101)가 슬라이더블(또는 롤러블) 폼 팩터를 가지며, 제4 사용 환경(2001)(예: 디스플레이 클로즈 상태(close state)) 및 제 5 사용 환경(2003)(예: 디스플레이 오픈 상태(open state))으로 동작하는 예를 나타낼 수 있다.
일 실시예에 따라, 도 19에 예시한 바와 같이, 전자 장치(101)는 각 사용 환경(또는 폼 팩터)에 대응하여, 대응하는 키패드를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 언폴딩 동작 상태(1901), 플렉스 동작 상태(1903) 및 폴딩 동작 상태(1905)로 동작(또는 변경)에 기반하여 대응하는 키패드(예: 커스터마이즈된 키패드)를 제공하는 예를 나타낼 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 제1 사용 환경(1901)(예: 언폴딩에 기반한 디스플레이 확장 형태)에 대응하여 제1 키패드(1910)(예: 양손 사용에 대응하도록 커스터마이즈된 키패드)를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 제2 사용 환경(1903)(예: 플렉스 모드)에 대응하여 제2 키패드(1920)(예: 플렉스 모드 사용에 대응하도록 커스터마이즈된 키패드)를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 제3 사용 환경(1905)(예: 폴딩에 기반한 세로 모드 사용 형태)에 대응하여 제3 키패드(1930)(예: 한 손 사용에 대응하도록 커스터마이즈된 키패드)를 제공할 수 있다.
일 실시예에 따라, 도 20에 예시한 바와 같이, 전자 장치(101)는 각 사용 환경(또는 폼 팩터)에 대응하여, 대응하는 키패드를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 클로즈 상태(2001) 및 오픈 상태(2003)로 동작(또는 변경)에 기반하여 대응하는 키패드(예: 커스터마이즈된 키패드)를 제공하는 예를 나타낼 수 있다. 일 실시예에 따라, 오픈 상태(또는 개방 상태 또는 펼쳐진 상태)는, 디스플레이 모듈(160)이 롤링(또는 슬라이드 아웃)에 의해 더 이상 확장되지 않는 상태일 수 있다. 일 실시예에 따라, 클로즈 상태(또는 닫힌 상태)는 디스플레이 모듈(160)이 롤링(또는 슬라이드 아웃)되지 않은(또는 확장되지 않은) 상태일 수 있다.
일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 제4 사용 환경(2001)(예: 클로즈 상태(또는 일반 사용 환경)에 기반한 디스플레이 비확장 상태)에 대응하여 제4 키패드(2010)(예: 기본 키패드)를 제공할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 제4 사용 환경(2001)에서 제5 사용 환경(2003)(예: 오픈 상태에 기반한 디스플레이 확장 상태)로 상태 변경 시, 상태 변경에 대응하여 제5 키패드(2020)(예: 오픈 상태 사용에 대응하도록 커스터마이즈된 키패드)를 제공할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 전자 장치(101)의 해당 폼 팩터(예: 폴더블 폼 팩터 또는 슬라이더블 폼 팩터)와 같은 다양한 사용 환경 별 커스터마이즈된 키패드를 각각 제공할 수 있다. 예를 들면, 전자 장치(101)(예: 커스터마이즈 어플리케이션(400))는 전자 장치(101)의 사용 환경(또는 폼 팩터) 특징에 대응하여 키패드 정보 및/또는 사용자 입력 정보 기반의 레이아웃, 여백, 및/또는 버튼 배치를 커스터마이즈 하여, 사용자의 오탈자 감소 및 입력의 사용성을 높일 수 있도록 사용 환경 별 키패드를 제공할 수 있다.
도 21은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 흐름도이다.
다양한 실시예들에 따르면, 도 21에 도시되는 동작들은 도시되는 순서에 국한되지 않고 다양한 순서로 수행될 수 있다. 또한, 다양한 실시예들에 따르면, 도 21에 도시되는 동작들보다 더 많은 동작들이 수행되거나, 더 적은 적어도 하나의 동작이 수행될 수도 있다.
도 21을 참조하면, 동작 2101에서, 전자 장치(101)의 프로세서(120)는 어플리케이션(예: 도 4의 커스터마이즈 어플리케이션(400))의 실행에 기반하여, 어플리케이션의 사용자 인터페이스(또는 실행 화면)를 표시할 수 있다. 일 실시예에 따르면, 사용자는 키패드(예: 도 4의 키패드(415))를 커스터마이즈 하기 위한 커스터마이즈 어플리케이션(400)을 실행하도록 사용자 입력(예: 어플리케이션 아이콘 선택(예: 터치))을 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여, 커스터마이즈 어플리케이션(400)을 실행하고, 커스터마이즈 어플리케이션(400)에서 제공되는 사용자 인터페이스(또는 실행 화면)를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다.
동작 2103에서, 프로세서(120)는 설정된 키패드에 기반하여 키패드 정보를 획득할 수 있다. 일 실시예에서, 키패드 정보는, 키패드 종류, 입력 패턴(예: 타이핑 속도), 키패드 오탈자, 자주 사용하는 패턴(예: 키패드 터치 영역, 왼손 사용, 및/또는 오른손 사용 패턴)를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자가 전자 장치(101)에서 키패드를 사용하는 경우, 사용자의 키패드 사용 패턴(또는 사용 이력)을 모니터링 및 수집(예: 이력 정보)하고, 이를 제1 키패드 정보로 이용할 수 있다. 일 실시예에 따르면, 프로세서(120)는 커스터마이즈 어플리케이션(400)을 통해 키패드를 제공하고, 사용자가 커스터마이즈 어플리케이션(400)에서 제공된 키패드를 사용하는 경우, 사용자의 키패드를 이용한 사용자 입력에 대한 모니터링 및 수집(예: 입력 정보)하고, 이를 제2 키패드 정보로 이용할 수도 있다. 어떤 실시예에 따르면, 프로세서(120)는 사용자가 커스터마이즈 어플리케이션(400)에서 키패드를 사용하지 않는 경우 제1 키패드 정보에 기반하여 키패드 정보를 획득할 수 있다. 다른 실시예에 따르면, 프로세서(120)는 제1 키패드 정보가 없는 경우에는 제2 키패드 정보에 기반하여 키패드 정보를 획득할 수 있다. 다른 실시예에 따르면, 프로세서(120)는 제1 키패드 정보 및 제2 키패드 정보에 기반하여 키패드 정보를 획득할 수도 있다.
동작 2105에서, 프로세서(120)는 사용자 인터페이스에 기반하여 사용자 입력 정보를 획득할 수 있다. 일 실시예에서, 사용자 입력 정보는 커스터마이즈 어플리케이션(400)의 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 인터페이스를 통해 제공되는 커스터마이즈 설정과 관련된 사용자 입력으로부터 커스터마이즈 정보를 획득할 수 있다.
동작 2107에서, 프로세서(120)는 획득된 정보(예: 키패드 정보 및/또는 사용자 입력 정보)에 기반하여 추천 키패드를 위한 특징 정보를 결정할 수 있다. 일 실시예에 따르면, 프로세서(120)는 키패드 정보 및/또는 사용자 입력 정보(예: 사용자 커스터마이즈 정보)에 적어도 기반하여 특징 정보를 결정하는 동작을 포함할 수 있다. 일 실시예에서, 특징 정보는, 예를 들면, 테마, 스킨, 속성, 및/또는 레이아웃(예: 버튼 크기 및/또는 버튼 간 간격)과 같이 키패드의 커스터마이즈를 통해 추천 키패드를 구성할 수 있는 정보를 포함할 수 있다. 일 실시예에 따르면, 프로세서(120)는, 예를 들어, 키패드의 테마, 스킨, 속성, 및/또는 레이아웃(예: 버튼 크기 및/또는 버튼 간격)의 특징 정보를 결정할 수 있다.
동작 2109에서, 프로세서(120)는 특징 정보를 매핑할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추천 키패드를 위해 기존 키패드의 버튼(또는 키)을 특징 정보에 기반하여 커스터마이즈 할 수 있다. 일 실시예에 따르면, 프로세서(120)는 키패드의 하나 또는 그 이상의 버튼(또는 키)들에 대해 키 맵(keymap)을 생성하여 매핑할 수 있다. 예를 들면, 프로세서(120)는 한국어 문자 ‘ㅃ’ 의 경우 쿼티 키패드에서는 ‘쉬프트(shit)+ㅂ’으로 입력이 가능하고, 단모음 키패드에서는 ‘ㅂ+ㅂ’ 으로 입력이 가능하므로, 각각에 대응되는 키 맵을 생성하여 매핑할 수 있다. 다른 예를 들면, 프로세서(120)는 한국어(예: 제1 언어)를 제외한 다른 언어(예: 제N 언어)는 키패드의 기본 정보를 처리할 때 키 맵을 실시간으로 생성하여 매핑할 수도 있다.
어떤 실시예에 따르면, 프로세서(120)는 새로 매핑되는 추천 키패드(예: 커스터마이즈 키패드 또는 다이나믹(dynamic) 키패드)가 실제로 효과가 있는지 판단하기 위해 오타율 학습을 통해 예측 및 시뮬레이션 할 수도 있다. 일 실시예에서, 학습은, 예를 들면, 강화 학습 및/또는 딥러닝을 의미할 수 있다. 다른 예를 들면, 프로세서(120)는 다양한 학습 패턴을 모델링하고 추천 키패드를 모델링에 대입하여 오타율을 예측할 수도 있다. 일 실시예에 따르면, 프로세서(120)는 추천 키패드가 어느 정도의 데이터가 있어야 효과가 있는지를 판단하기 위해 모든 버튼(또는 키)들을 누를 수 있는(또는 터치할 수 있는) 예문 또는 예문의 양을 분석 및 예측하여 제공할 수도 있다. 일 실시예에서, 분석은, 예를 들면, 강화 학습 및/또는 딥러닝 기반 학습 모델을 의미할 수 있다.
동작 2111에서, 프로세서(120)는 커스터마이즈된 키패드 레이아웃(예: 추천 키패드)을 추천(예: 표시)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 기존 키패드의 제1 레이아웃을 특징 정보가 적용된 제2 레이아웃으로 커스터마이즈된 추천 키패드를 사용자 인터페이스를 통해 제공할 수 있다. 일 실시예에서, 기존 키패드는, 예를 들면, 전자 장치(101)에서 사용자가 사용하도록 설정된 키패드(예: 도 4의 키패드(415))를 포함할 수 있고, 기존 키패드에서 설정된 제1 레이아웃 기반으로 구성될 수 있다. 일 실시예에서, 추천 키패드는, 예를 들면, 사용자 인터페이스를 통해 기존 키패드의 제1 레이아웃이 커스터마이즈되어 사용자 키패드로 추가되는 키패드(예: 사용자 맞춤 키패드)를 포함할 수 있고, 특징 정보에 따라 커스터마이즈된 제2 레이아웃 기반으로 구성될 수 있다. 일 실시예에 따르면, 프로세서(120)는 키패드 정보 및/또는 사용자 입력 정보 기반의 추천 키패드를 표시하도록 디스플레이 모듈(160)을 제어할 수 있다.
동작 2113에서, 프로세서(120)는 사용자 선택에 기반하여 키패드 커스터마이즈를 수행할 수 있다. 일 실시예에 따르면, 프로세서(120)는 추천 키패드가 디스플레이 모듈(160)에 표시된 상태에서, 추천 키패드에 관련된 사용자 입력 정보(예: 사용자의 추가적인 커스터마이즈 정보)에 기반하여 추천 키패드의 제2 레이아웃을 추가적으로 커스터마이즈 하여 제공할 수 있다.
동작 2115에서, 프로세서(120)는 커스터마이즈된 키패드(예: 추천 키패드)를 전자 장치(101)의 기본 키패드로 설정할 수 있다. 예를 들면, 프로세서(120)는 추천 키패드를 사용하는 사용자 입력(예: 설정 완료 입력)에 기반하여, 현재 설정된 키패드를, 추천 키패드로 변경 및/또는 설정할 수 있다.
동작 2117에서, 프로세서(120)는 커스터마이즈된 키패드(예: 추천 키패드)의 공유 요청 여부를 판단할 수 있다. 일 실시예에 따르면, 프로세서(120)는 사용자 입력에 기반하여 추천 키패드를 다른 외부 전자 장치와 공유하도록 요청하는 사용자 입력을 수신할 수 있다.
동작 2117에서, 프로세서(120)는 공유 요청이 감지되지 않는 경우(예: 동작 2117의 '아니오'), 동작 2118에서, 해당 프로세스를 종료할 수 있다.
동작 2117에서, 프로세서(120)는 공유 요청이 감지되는 경우(예: 동작 2117의 '예'), 동작 2119에서, 프로세서(120)는 커스터마이즈된 키패드의 특징 정보 기반 키패드 공유 동작을 수행할 수 있다. 예를 들면, 프로세서(120)는 추천 키패드의 공유를 위한 사용자 입력에 기반하여, 추천 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 외부 전자 장치로 제공(또는 전송)할 수 있다. 일 실시예에 따라, 추천 키패드를 공유하는 예가 도 22a, 도 22b, 도 22c 및 도 22d에 도시된다.
도 22a, 도 22b, 도 22c 및 도 22d는 다양한 실시예들에 따른 전자 장치에서 키패드를 공유하는 동작 예를 도시하는 도면들이다.
일 실시예에 따라, 도 22a, 도 22b, 도 22c 및 도 22d는 매핑된 특징 정보 기반의 키패드 공유 동작 예시들을 나타낼 수 있다. 일 실시예에 따르면, 전자 장치(101)는 매핑된 특징 정보를 기반으로 적어도 하나의 외부 장치와 키패드 공유 동작을 수행할 수 있다. 예를 들면, 커스터마이즈 어플리케이션(400)은 도 22a, 도 22b, 도 22c 및 도 22d에 예시한 바와 같은 다양한 공유 방식으로 키패드를 외부 전자 장치와 공유할 수 있다.
도 22a 및 도 22b를 참조하면, 도 22a 및 도 22b는 다른 폼 팩터(예: 해상도 및/또는 화면 크기)의 전자 장치 간에 키패드를 공유하는 예를 나타낼 수 있다.
일 실시예에 따라, 도 22a는 전자 장치(101)의 큰 화면에 최적화된 추천 키패드를 작은 화면의 외부 전자 장치(2201)로 공유하는 예를 나타낼 수 있다. 예를 들면, 전자 장치(101)는 전자 장치(101)의 폼 팩터에 따른 키패드 정보에 대응하게 커스터마이즈된 키패드(예: 폴더블 폼 팩터에서 확장된 화면에 맞춰진 추천 키패드)의 특징 정보를 지정된 파일 형식으로 변환하고, 변환된 파일을 지정된 통신(예: OOB(out of band) 통신(예: Bluetooth, BLE, NFC, 및/또는 Wi-Fi와 같은 근거리 무선 통신)) 방식으로 외부 전자 장치(2201)와 공유할 수 있다.
일 실시예에 따르면, 전자 장치(101)는 외부 전자 장치(2201)로 추천 키패드를 공유할 시, 외부 전자 장치(2201)의 키패드(또는 폼 팩터 정보)에 기반하여 추천 키패드의 특징 정보를 보정하여 외부 전자 장치(2201)로 제공할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(2201)와 연결 수립 시, 외부 전자 장치(2201)의 키패드(또는 폼 팩터 정보)를 수신할 수 있다. 어떤 실시예에 따르면, 외부 전자 장치(2201)는 전자 장치(101)로부터 특징 정보 수신에 기반하여, 외부 전자 장치(2201)의 커스터마이즈 어플리케이션에서 외부 전자 장치(2201)의 키패드 정보에 기반하여 수신된 특징 정보를 보정할 수도 있다. 일 실시예에 따르면, 도 22a의 키패드 공유 동작은, 외부 전자 장치(2201)에서 전자 장치(101)로 공유할 수도 있다.
일 실시예에 따라, 도 22b는 전자 장치(101)의 작은 화면에 최적화된 추천 키패드를 큰 화면의 외부 전자 장치(2203)로 공유하는 예를 나타낼 수 있다. 예를 들면, 전자 장치(101)는 전자 장치(101)의 폼 팩터에 따른 키패드 정보에 대응하게 커스터마이즈된 키패드(예: 작은 화면에 맞춰진 추천 키패드)의 특징 정보를, 지정된 통신(예: OOB 통신) 방식으로 외부 전자 장치(2203)와 공유할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 외부 전자 장치(2203)로 추천 키패드를 공유할 시, 외부 전자 장치(2203)의 키패드(또는 폼 팩터 정보)에 기반하여 추천 키패드의 특징 정보를 보정하여 외부 전자 장치(2203)로 제공할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(2203)와 연결 수립 시, 외부 전자 장치(2203)의 키패드(또는 폼 팩터 정보)를 수신할 수 있다.
어떤 실시예에 따르면, 외부 전자 장치(2203)는 전자 장치(101)로부터 특징 정보 수신에 기반하여, 외부 전자 장치(2203)의 커스터마이즈 어플리케이션에서 외부 전자 장치(2203)의 키패드 정보에 기반하여 수신된 특징 정보를 보정할 수도 있다. 일 실시예에 따르면, 도 22b의 키패드 공유 동작은, 외부 전자 장치(2203)에서 전자 장치(101)로 공유할 수도 있다.
일 실시예에 따라, 도 22c는 이기종의 전자 장치 간에 키패드를 공유하는 예를 나타낼 수 있다. 예를 들면, 도 22c에서는 전자 장치(101)와 웨어러블 장치(2205)와 같은 이기종 전자 장치 간에 키패드를 공유하는 예를 나타낼 수 있다. 예를 들면, 전자 장치(101)는 전자 장치(101)의 폼 팩터에 따른 키패드 정보에 대응하게 커스터마이즈된 키패드의 특징 정보를, 지정된 통신(예: OOB 통신) 방식으로 웨어러블 장치(2205)와 공유할 수 있다. 일 실시예에 따라, 전자 장치(101)는 웨어러블 장치(2205)로 추천 키패드를 공유할 시, 웨어러블 장치(2205)의 키패드(또는 폼 팩터 정보)에 기반하여 추천 키패드의 특징 정보를 보정하여 웨어러블 장치(2205)로 제공할 수 있다. 예를 들어, 전자 장치(101)는 외부 전자 장치(2201)와 연결 수립 시, 웨어러블 장치(2205)의 키패드(또는 폼 팩터 정보)를 수신할 수 있다.
일 실시예에 따르면, 웨어러블 장치(2205)의 경우, 폼 팩터의 크기 및/또는 화면 크기의 제약으로, 키패드의 커스터마이즈에 용이하지 않을 수 있다. 이에, 사용자는 전자 장치(101)와 웨어러블 장치(2205)의 상호작용에 기반하여 웨어러블 장치(2205)에서 사용할 키패드를 전자 장치(101)를 이용하여 생성하고, 생성된 키패드를 웨어러블 장치(2205)로 공유하도록 할 수 있다. 일 실시예에 따르면, 웨어러블 장치(2205)는 전자 장치(101)로부터 특징 정보 수신에 기반하여, 웨어러블 장치(2205)의 키패드를 제공할 수 있다.
도 22d를 참조하면, 도 22d는 전자 장치(101)와 외부 전자 장치(2207)가 OOB 통신 외에 다른 통신 방식으로 추천 키패드를 공유하는 예를 나타낼 수 있다. 예를 들면, 전자 장치(101)는 추천 키패드에 대응하는 특징 정보를 QR 코드로 제공할 수 있다. 전자 장치(101)는 외부 전자 장치(2207)와 상호작용(예: QR 코드 송수신 동작)에 기반하여 QR 코드의 특징 정보를 외부 전자 장치(2207)와 공유할 수 있다. 일 실시예에 따르면, 외부 전자 장치(2207)는 전자 장치(101)로부터 특징 정보 수신에 기반하여, 외부 전자 장치(2207)의 커스터마이즈 어플리케이션에서 외부 전자 장치(2207)의 키패드 정보에 기반하여 수신된 특징 정보를 보정할 수 있다.
도 23a, 도 23b 및 도 24는 다양한 실시예들에 따른 전자 장치에서 키패드를 운영하는 예를 도시하는 도면들이다.
일 실시예에 따라, 도 23a 및 도 23b에서는 전자 장치(101)와 전자 펜(2340)(또는 디지털 펜)(예: 스타일러스 펜)의 상호작용에 따라 키패드를 제공하는 예를 나타낼 수 있다. 일 실시예에 따라, 도 24는 전자 장치(101)와 전자 펜(2340)의 상호작용에 따른 키패드의 운영 예를 나타낼 수 있다.
도 23a, 도 23b 및 도 24에 도시한 바와 같이, 전자 장치(101)는 전자 펜(2340)의 이벤트(예: 호버(hover))에 기반하여 키패드를 변경할 수 있다.
일 실시예에 따르면, 도 23a에 예시한 바와 같이, 전자 장치(101)는 언폴딩 상태에서 키패드(2310)(예: 언폴딩 상태에 따라 양손 모드에 대응하게 커스터마이즈된 키패드)를 디스플레이 모듈(160)을 통해 표시할 수 있다. 일 실시예에 따라, 전자 장치(101)는 추천 키패드(2310)를 표시하는 동안 전자 펜(2340)에 의한 이벤트를 감지하는 경우, 도 23b 및/또는 도 24에 예시한 바와 같이, 키패드(2310)를 한 손 모드(예: 왼쪽 한 손 모드)에 대응하게 커스터마이즈된 키패드(2320)로 변경하여, 디스플레이 모듈(160)의 일 측(예: 왼쪽)에 치우치게 제공할 수 있다.
일 실시예에 따라, 전자 장치(101)는 키패드(2320)가 배치된 영역(예: 일 측)에 대칭(또는 대향)되는 영역(예: 일 측에 대치되는 타측)에 전자 펜(2340)을 위한 패드 영역(2330)을 제공할 수 있다. 예를 들면, 전자 장치(101)는 키패드(2310)를 표시하는 동안, 전자 펜(2340)의 호버 이벤트(또는 근접 이벤트)를 감지하는 경우, 양손 모드에서, 한 손 모드 및 전자 펜(2340) 입력 모드로 변경하여 제공할 수 있다. 일 실시예에 따라, 전자 장치(101)는 한 손 모드의 키패드로 변경 시에, 키패드 정보 및/또는 사용자 입력 정보에 따라 한 손 모드에 대응하게 미리 커스터마이즈된 키패드(예: 한 손 모드 사용 시 사용자의 오탈 입력을 최소화하긴 위해 커스터마이즈된 레이아웃의 키패드)를 제공할 수 있다.
본 개시의 다양한 실시예들에 따른 전자 장치(101)에서 수행하는 동작 방법은, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하는 동작, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 키패드 정보는, 키패드 종류, 입력 패턴, 키패드 오탈자, 자주 사용하는 패턴을 포함하고, 상기 사용자 입력 정보는 상기 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 키패드는 정보는, 사용자의 상기 제1 키패드의 사용에 대한 이력 정보 및/또는 상기 사용자 인터페이스를 통해 제공된 키패드를 이용한 사용자 입력에 대한 입력 정보에 적어도 기반하여 획득될 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 특징 정보는 키패드의 커스터마이즈에 관련된 테마, 스킨, 속성, 및/또는 레이아웃에 관련된 정보를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 표시하는 동작은, 상기 제1 키패드의 제1 레이아웃이 상기 특징 정보에 기반하여 제2 레이아웃으로 커스터마이즈된 상기 제2 키패드를 상기 사용자 인터페이스를 통해 제공하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 제2 키패드를 상기 전자 장치의 기본 키패드로 설정하는 동작, 상기 제2 키패드의 공유 요청하는 사용자 입력에 기반하여 상기 제2 키패드를 다른 외부 전자 장치와 공유하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 공유하는 동작은, 상기 제2 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 상기 외부 전자 장치와 공유하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 제1 키패드는 상기 전자 장치에서 사용자가 사용하도록 제1 레이아웃 기반으로 설정된 기존 키패드를 포함하고, 상기 제2 키패드는 상기 사용자 인터페이스를 통해 상기 제1 키패드의 제1 레이아웃이 제2 레이아웃으로 커스터마이즈되어 사용자 키패드로 추가되는 키패드를 포함할 수 있다.
본 명세서와 도면에 개시된 본 개시의 다양한 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.
101: 전자 장치
120: 프로세서
130: 메모리
160: 디스플레이 모듈

Claims (20)

  1. 전자 장치에 있어서,
    디스플레이 모듈;
    상기 디스플레이 모듈과 작동적으로 연결된 프로세서; 및
    상기 프로세서와 작동적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하고,
    상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하고,
    상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고,
    상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및
    상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장하는 전자 장치.
  2. 제1항에 있어서,
    상기 키패드 정보는, 키패드 종류, 입력 패턴, 키패드 오탈자, 자주 사용하는 패턴을 포함하는 전자 장치.
  3. 제2항에 있어서,
    상기 키패드는 정보는, 사용자의 상기 제1 키패드의 사용에 대한 이력 정보 및/또는 상기 사용자 인터페이스를 통해 제공된 키패드를 이용한 사용자 입력에 대한 입력 정보에 적어도 기반하여 획득되는 전자 장치.
  4. 제3항에 있어서,
    상기 사용자 입력 정보는 상기 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함하는 전자 장치.
  5. 제4항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    상기 이력 정보 및/또는 입력 정보에 기반하여 커스터마이즈된 레이아웃의 키패드를 생성하고,
    상기 생성된 키패드에 관련된 사용자 입력 정보에 기반하여 상기 제2 키패드를 구성하도록 하는 전자 장치.
  6. 제1항에 있어서,
    상기 특징 정보는 키패드의 커스터마이즈에 관련된 테마, 스킨, 속성, 및/또는 레이아웃에 관련된 정보를 포함하는 전자 장치.
  7. 제6항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    키패드 별 키 맵(keymap)을 매핑하도록 하는 전자 장치.
  8. 제6항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    상기 제1 키패드의 제1 레이아웃이 상기 특징 정보에 기반하여 제2 레이아웃으로 커스터마이즈된 상기 제2 키패드를 상기 사용자 인터페이스를 통해 제공하도록 하는 전자 장치.
  9. 제1항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    상기 제2 키패드를 상기 전자 장치의 기본 키패드로 설정하도록 하고,
    상기 제2 키패드의 공유 요청하는 사용자 입력에 기반하여 상기 제2 키패드를 다른 외부 전자 장치와 공유하도록 하는 전자 장치.
  10. 제9항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    상기 제2 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 상기 외부 전자 장치와 공유하도록 하는 전자 장치.
  11. 제1항에 있어서,
    상기 제1 키패드는 상기 전자 장치에서 사용자가 사용하도록 제1 레이아웃 기반으로 설정된 기존 키패드를 포함하고,
    상기 제2 키패드는 상기 사용자 인터페이스를 통해 상기 제1 키패드의 제1 레이아웃이 제2 레이아웃으로 커스터마이즈되어 사용자 키패드로 추가되는 키패드를 포함하는 전자 장치.
  12. 전자 장치의 동작 방법에 있어서,
    어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작;
    상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하는 동작;
    상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작;
    상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작; 및
    상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 포함하는 방법.
  13. 제12항에 있어서,
    상기 키패드 정보는, 키패드 종류, 입력 패턴, 키패드 오탈자, 자주 사용하는 패턴을 포함하고,
    상기 사용자 입력 정보는 상기 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함하는 방법.
  14. 제13항에 있어서,
    상기 키패드는 정보는, 사용자의 상기 제1 키패드의 사용에 대한 이력 정보 및/또는 상기 사용자 인터페이스를 통해 제공된 키패드를 이용한 사용자 입력에 대한 입력 정보에 적어도 기반하여 획득되는 방법.
  15. 제12항에 있어서,
    상기 특징 정보는 키패드의 커스터마이즈에 관련된 테마, 스킨, 속성, 및/또는 레이아웃에 관련된 정보를 포함하는 전자 장치.
  16. 제12항에 있어서, 상기 표시하는 동작은,
    상기 제1 키패드의 제1 레이아웃이 상기 특징 정보에 기반하여 제2 레이아웃으로 커스터마이즈된 상기 제2 키패드를 상기 사용자 인터페이스를 통해 제공하는 동작을 포함하는 방법.
  17. 제12항에 있어서,
    상기 제2 키패드를 상기 전자 장치의 기본 키패드로 설정하는 동작,
    상기 제2 키패드의 공유 요청하는 사용자 입력에 기반하여 상기 제2 키패드를 다른 외부 전자 장치와 공유하는 동작을 포함하는 방법.
  18. 제17항에 있어서, 상기 공유하는 동작은,
    상기 제2 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 상기 외부 전자 장치와 공유하는 동작을 포함하는 방법.
  19. 제12항에 있어서,
    상기 제1 키패드는 상기 전자 장치에서 사용자가 사용하도록 제1 레이아웃 기반으로 설정된 기존 키패드를 포함하고,
    상기 제2 키패드는 상기 사용자 인터페이스를 통해 상기 제1 키패드의 제1 레이아웃이 제2 레이아웃으로 커스터마이즈되어 사용자 키패드로 추가되는 키패드를 포함하는 방법.
  20. 디스플레이 모듈을 포함하는 전자 장치의 프로세서에 의해 실행 시, 상기 프로세서가 동작들을 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작;
    상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하는 동작;
    상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작;
    상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작; 및
    상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 프로세서에서 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체.
KR1020200133094A 2020-10-15 2020-10-15 전자 장치 및 전자 장치의 키패드 운영 방법 KR20220049694A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200133094A KR20220049694A (ko) 2020-10-15 2020-10-15 전자 장치 및 전자 장치의 키패드 운영 방법
CN202180066254.1A CN116324684A (zh) 2020-10-15 2021-10-15 用于操作电子装置的数字键盘的电子装置和方法
EP21880586.9A EP4177728A4 (en) 2020-10-15 2021-10-15 ELECTRONIC DEVICE AND METHOD FOR OPERATING THE KEYBOARD OF AN ELECTRONIC DEVICE
PCT/KR2021/014345 WO2022080939A1 (ko) 2020-10-15 2021-10-15 전자 장치 및 전자 장치의 키패드 운영 방법
US17/517,183 US20220121357A1 (en) 2020-10-15 2021-11-02 Electronic device and method for operating keypad thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200133094A KR20220049694A (ko) 2020-10-15 2020-10-15 전자 장치 및 전자 장치의 키패드 운영 방법

Publications (1)

Publication Number Publication Date
KR20220049694A true KR20220049694A (ko) 2022-04-22

Family

ID=81207463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200133094A KR20220049694A (ko) 2020-10-15 2020-10-15 전자 장치 및 전자 장치의 키패드 운영 방법

Country Status (2)

Country Link
KR (1) KR20220049694A (ko)
WO (1) WO2022080939A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130065965A (ko) * 2011-12-12 2013-06-20 한국전자통신연구원 가상 키보드의 외관을 적응적으로 변경하는 방법 및 장치
KR20130071253A (ko) * 2011-12-20 2013-06-28 한국전자통신연구원 맞춤형 키보드 ui 제공 장치 및 방법
KR20140019172A (ko) * 2012-08-06 2014-02-14 삼성전자주식회사 터치 영역 설정 방법 및 그 전자 장치
CN104345944B (zh) * 2013-08-05 2019-01-18 中兴通讯股份有限公司 自适应调整触摸输入面板布局的装置、方法及移动终端
KR101700516B1 (ko) * 2015-07-06 2017-01-26 엘지전자 주식회사 숙련도에 따른 이동 단말기 제어 방법

Also Published As

Publication number Publication date
WO2022080939A1 (ko) 2022-04-21

Similar Documents

Publication Publication Date Title
EP4177832A1 (en) Method for providing capture function and electronic device therefor
KR102256292B1 (ko) 확장이 가능한 디스플레이를 이용하여 멀티 윈도우를 제공하는 전자 장치
US20220121357A1 (en) Electronic device and method for operating keypad thereof
KR20220014751A (ko) 슬라이딩 가능한 전자 장치 및 이의 제어 방법
US11928997B2 (en) Electronic device for providing execution screen of application, method for operating the same, and storage medium
KR20220067336A (ko) 전자 장치 및 전자 장치의 멀티윈도우 제어방법
KR20220017302A (ko) 전자 장치 및 그의 진동 출력 제어 방법
US20230229245A1 (en) Emoji recommendation method of electronic device and same electronic device
US20230188637A1 (en) Slidable electronic device and control method thereof
KR20220049694A (ko) 전자 장치 및 전자 장치의 키패드 운영 방법
KR20220128892A (ko) 전자 장치 및 오타 보정 방법
KR20230006240A (ko) 입력 필드를 기반으로 사용자 인터페이스를 구성하는 방법 및 전자 장치
KR20220061797A (ko) 전자 장치 및 그의 화면 제어 방법
KR20220016727A (ko) 다중 윈도우 이미지 캡쳐 방법 및 이를 위한 전자 장치
KR20220006237A (ko) 손글씨를 텍스트로 변환하기 위한 전자 장치 및 그에 관한 방법
US20230052203A1 (en) Electronic device for managing screen of display and operation method of the electronic device
EP4280043A1 (en) Electronic apparatus comprising foldable display and control method thereof
KR20230109471A (ko) 윈도우를 이용하여 화면을 제공하는 방법 및 이를 지원하는 전자 장치
KR20230054116A (ko) 사용자 인터페이스를 제공하는 방법 및 그 전자 장치
KR20220017063A (ko) 전자 장치에서 손 글씨 입력 제공 방법 및 장치
KR20210146740A (ko) 전자 장치, 전자 장치에서의 동작 방법 및 비일시적 저장 매체
KR20240050965A (ko) 플렉서블 디스플레이를 갖는 전자 장치 및 그 제어 방법
KR20230023165A (ko) 사용자 인터페이스를 제공하는 전자 장치 및 제공 방법
KR20220138221A (ko) 플렉서블 디스플레이를 포함하는 전자 장치 및 화면 제어 방법
KR20220017075A (ko) 홈 화면을 복원하는 방법 및 이를 적용한 전자 장치