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

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

Info

Publication number
WO2022080939A1
WO2022080939A1 PCT/KR2021/014345 KR2021014345W WO2022080939A1 WO 2022080939 A1 WO2022080939 A1 WO 2022080939A1 KR 2021014345 W KR2021014345 W KR 2021014345W WO 2022080939 A1 WO2022080939 A1 WO 2022080939A1
Authority
WO
WIPO (PCT)
Prior art keywords
keypad
electronic device
information
user
user interface
Prior art date
Application number
PCT/KR2021/014345
Other languages
English (en)
French (fr)
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 CN202180066254.1A priority Critical patent/CN116324684A/zh
Priority to EP21880586.9A priority patent/EP4177728A4/en
Priority to US17/517,183 priority patent/US12008233B2/en
Publication of WO2022080939A1 publication Critical patent/WO2022080939A1/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

Definitions

  • Various embodiments of the present disclosure disclose an electronic device capable of customizing an input device (eg, a keypad or a keyboard) of the electronic device, and an operating method thereof.
  • an input device eg, a keypad or a keyboard
  • Electronic devices are implemented to provide various types of input devices (eg, keypads or keyboards) to support user input.
  • a keypad set in the electronic device may generate various input signals required for the operation of the electronic device.
  • the keypad may be displayed through the display of the electronic device, and may provide a touch input and/or a hovering input (or proximity input) for a designated location of the keypad based on a touch circuit of the display.
  • the keypad may be provided in the form of an input module including at least one of various key maps, such as a 3*4 key map, a 5*4 key map, a QWERTY key map, and/or a Dvorak key map. .
  • each keypad may have a specific layout, and the user may not support layout changes (eg, layout changes such as button position, button properties, button size, button function, and/or button arrangement). Also, it does not support the user-customized keypad configuration more suitable for the user's keypad usage characteristics.
  • a method and apparatus for customizing a keypad of an electronic device according to a user's usage environment are disclosed.
  • Various embodiments are disclosed with respect to a method and an apparatus capable of customizing a layout, color, and/or effect of a keypad (or keyboard) that is preset in an electronic device.
  • Various embodiments are disclosed with respect to a method and apparatus capable of providing a keypad of a new layout according to user definition in an electronic device.
  • a method and an apparatus for learning a user pattern in response to a user's use of a keypad in an electronic device and providing a keypad having a user-customized layout based on at least one of a user pattern and a user setting are disclosed. do.
  • An electronic device includes a display, a processor, and a memory, wherein, when the memory is executed, the processor displays a user interface (UI) based on application execution, acquiring at least one of keypad information or user input information from a user input related to the first keypad of the user interface, determining characteristic information for a second keypad based on the acquired information, and determining the characteristic information for the second keypad based on the characteristic information It is possible to store instructions for configuring the second keypad and displaying the second keypad through the user interface.
  • UI user interface
  • An operation method of an electronic device includes an operation of displaying a user interface (UI) based on execution of an application, and keypad information or user input information from a user input related to a first keypad of the user interface. obtaining at least one of: determining characteristic information for a second keypad based on the obtained information; configuring the second keypad based on the characteristic information; and setting the second keypad to the user. It may include an operation of displaying through an interface.
  • UI user interface
  • non-transitory computer-readable recording medium storing instructions that, when executed by a processor of an electronic device including a display module according to an embodiment of the present disclosure, cause the processor to execute operations, Displaying a user interface (UI) based on application execution, obtaining at least one of keypad information or user input information from a user input related to the first keypad of the user interface, based on the obtained information to determine the characteristic information for the second keypad, to configure the second keypad based on the characteristic information, and to display the second keypad through the user interface.
  • UI user interface
  • the keypad of the electronic device may be customized according to a user's use environment.
  • a keypad or keyboard preset in the electronic device according to the user's usage environment
  • the user in the electronic device You can provide a keypad with a new layout according to your definition.
  • the electronic device may learn a user pattern in response to the user's use of the keypad, and may provide a keypad having a user-customized layout based on at least one of a user pattern and a user setting. According to various embodiments, the electronic device may provide a keypad optimized according to the user's usage environment, thereby solving the inconvenience of using the existing keypad, and improving the user's keypad usability, convenience, and/or accuracy.
  • FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure
  • FIG. 2 is a block diagram of a display module according to various embodiments.
  • FIG. 3 is a diagram illustrating an example of an electronic device according to various embodiments of the present disclosure.
  • FIG. 4 is a diagram illustrating a structural example of a platform architecture of an electronic device according to various embodiments of the present disclosure
  • FIG. 5 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 6A and 6B are diagrams illustrating an example of a user interface of an application supporting keypad customization in an electronic device according to various embodiments of the present disclosure
  • FIG. 7 is a view for explaining an example of interaction between keypads in an electronic device according to various embodiments of the present disclosure.
  • FIGS. 8A, 8B, and 8C are diagrams illustrating an example of a user interface for customizing a keypad in an electronic device according to various embodiments of the present disclosure
  • FIGS. 9A and 9B are diagrams illustrating an example of a user interface for keypad customization in an electronic device according to various embodiments of the present disclosure
  • FIG. 10 is a diagram illustrating an example of a user interface for keypad customization and an operation structure thereof in an electronic device according to various embodiments of the present disclosure
  • FIG. 11 is a diagram illustrating an example of a user interface for customizing a keypad in an electronic device according to various embodiments of the present disclosure
  • FIG. 12 is a diagram for describing an information processing operation for data collection in an electronic device according to various embodiments of the present disclosure
  • FIG. 13 is a diagram for describing an information processing operation for data collection in an electronic device according to various embodiments of the present disclosure
  • FIG. 14 is a diagram for describing a touch correction operation in an electronic device according to various embodiments of the present disclosure.
  • FIG. 15 is a diagram for describing a touch correction operation in an electronic device according to various embodiments of the present disclosure.
  • 16 is a diagram illustrating an example of a user interface for customizing a keypad in an electronic device according to various embodiments of the present disclosure
  • 17A and 17B are diagrams illustrating an example of a user interface for keypad customization in an electronic device according to various embodiments of the present disclosure
  • FIG. 18 is a diagram illustrating an example of a customized keypad in an electronic device according to various embodiments of the present disclosure
  • 19 and 20 are diagrams illustrating examples of providing a keypad according to a usage environment of an electronic device according to various embodiments of the present disclosure.
  • 21 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 22A, 22B, 22C, and 22D are diagrams illustrating an operation example of sharing a keypad in an electronic device according to various embodiments.
  • 23A and 23B are diagrams illustrating an example of operating a keypad in an electronic device according to various embodiments of the present disclosure
  • 24 is a diagram illustrating an example of operating a keypad in an electronic device according to various embodiments of the present disclosure
  • FIG. 1 is a block diagram of an electronic device 101 in a network environment 100 according to various embodiments of the present disclosure.
  • an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • a first network 198 eg, a short-range wireless communication network
  • a second network 199 e.g., a second network 199 . It may communicate with the electronic device 104 or the server 108 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108 .
  • the electronic device 101 includes a processor 120 , a memory 130 , an input module 150 , a sound output module 155 , a display module 160 , an audio module 170 , and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or an antenna module 197 may be included.
  • at least one of these components eg, the connection terminal 178
  • may be omitted or one or more other components may be added to the electronic device 101 .
  • some of these components are integrated into one component (eg, display module 160 ). can be
  • the processor 120 for example, executes software (eg, a program 140) to execute at least one other component (eg, a hardware or software component) of the electronic device 101 connected to the processor 120 . It can control and perform various data processing or operations. According to one embodiment, as at least part of data processing or operation, the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 . may be stored in the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • software eg, a program 140
  • the processor 120 converts commands or data received from other components (eg, the sensor module 176 or the communication module 190 ) to the volatile memory 132 .
  • the volatile memory 132 may be stored in the volatile memory 132 , and may process commands or data stored in the volatile memory 132 , and store the result data in the non-volatile memory 134 .
  • the processor 120 is a main processor 121 (eg, a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor capable of operating independently or together with it ( 123) (eg, graphic processing unit (GPU), neural network processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)) may be included.
  • main processor 121 eg, a central processing unit (CPU) or an application processor (AP)
  • auxiliary processor capable of operating independently or together with it eg, graphic processing unit (GPU), neural network processing unit (NPU), image signal processor (ISP), sensor hub processor, or communication processor (CP, communication processor)
  • the main processor 121 may use less power than the main processor 121 or may be set to be specialized for a specified function.
  • the auxiliary processor 123 may be implemented separately from or as a part of the main processor 121 .
  • the auxiliary processor 123 is, for example, on behalf of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is At least one of the components of the electronic device 101 (eg, the display module 160 , the sensor module 176 , or At least some of functions or states related to the communication module 190 may be controlled.
  • the coprocessor 123 eg, an image signal processor or a communication processor
  • the auxiliary processor 123 may include a hardware structure specialized for processing an artificial intelligence model.
  • Artificial intelligence models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself on which artificial intelligence is performed, or may be performed through a separate server (eg, the server 108).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but in the above example not limited
  • the artificial intelligence model may include a plurality of artificial neural network layers.
  • Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the above example.
  • the artificial intelligence model may include, in addition to, or alternatively, a software structure in addition to the hardware structure.
  • the memory 130 may store various data used by at least one component of the electronic device 101 (eg, the processor 120 or the sensor module 176 ).
  • the data may include, for example, input data or output data for software (eg, the program 140 ) and instructions related thereto.
  • the memory 130 may include a volatile memory 132 or a non-volatile memory 134 .
  • the program 140 may be stored as software in the memory 130 , and may include, for example, an operating system (OS) 142 , middleware 144 , or an application 146 . there is.
  • OS operating system
  • middleware middleware
  • application application
  • the input module 150 may receive a command or data to be used in a component (eg, the processor 120 ) of the electronic device 101 from the outside (eg, a user) of the electronic device 101 .
  • the input module 150 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 155 may output a sound signal to the outside of the electronic device 101 .
  • the sound output module 155 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • the receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from or as part of the speaker.
  • the display module 160 may visually provide information to the outside (eg, a user) of the electronic device 101 .
  • the display module 160 may include, for example, a control circuit for controlling a display, a hologram device, or a projector and a corresponding device.
  • the display module 160 may include a touch sensor configured to sense a touch or a pressure sensor configured to measure the intensity of a force generated by the touch.
  • the audio module 170 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 170 acquires a sound through the input module 150 or an external electronic device (eg, a sound output module 155 ) directly or wirelessly connected to the electronic device 101 . A sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • an external electronic device eg, a sound output module 155
  • a sound may be output through the electronic device 102 (eg, a speaker or headphones).
  • the sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 177 may support one or more designated protocols that may be used by the electronic device 101 to directly or wirelessly connect with an external electronic device (eg, the electronic device 102 ).
  • the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD secure digital
  • the connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102 ).
  • the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 179 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 180 may capture still images and moving images. According to an embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 188 may manage power supplied to the electronic device 101 .
  • the power management module 188 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 189 may supply power to at least one component of the electronic device 101 .
  • battery 189 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 190 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (eg, the electronic device 102, the electronic device 104, or the server 108). It can support establishment and communication performance through the established communication channel.
  • the communication module 190 may include one or more communication processors that operate independently of the processor 120 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : It may include a LAN (local area network) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • a corresponding communication module among these communication modules is a first network 198 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a wide area network (WAN)).
  • a first network 198 eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network 199 eg, legacy It may communicate with the external electronic device 104 through a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (eg, a telecommunication network such as a LAN or a wide area network (WAN)).
  • the wireless communication module 192 uses the subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199 .
  • the electronic device 101 may be identified or authenticated.
  • the wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, a new radio access technology (NR).
  • NR access technology is a high-speed transmission of high-capacity data (eMBB, enhanced mobile broadband), minimization of terminal power and access to multiple terminals (mMTC, massive machine type communications), or high reliability and low latency (URLLC, ultra-reliable and low-latency). communications) can be supported.
  • the wireless communication module 192 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • a high frequency band eg, mmWave band
  • the wireless communication module 192 includes various technologies for securing performance in a high-frequency band, for example, beamforming, massive multiple-input and multiple-output (MIMO), all-dimensional multiplexing. It may support technologies such as input/output (FD-MIMO, full dimensional MIMO), an array antenna, analog beam-forming, or a large scale antenna.
  • the wireless communication module 192 may support various requirements specified in the electronic device 101 , an external electronic device (eg, the electronic device 104 ), or a network system (eg, the second network 199 ).
  • the wireless communication module 192 may include a peak data rate (eg, 20 Gbps or more) for realizing eMBB, loss coverage (eg, 164 dB or less) for realizing mMTC, or U-plane latency for realizing URLLC ( Example: downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 1 ms or less).
  • a peak data rate eg, 20 Gbps or more
  • loss coverage eg, 164 dB or less
  • U-plane latency for realizing URLLC
  • the antenna module 197 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module 197 may include an antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected from the plurality of antennas by, for example, the communication module 190 . can be selected. A signal or power may be transmitted or received between the communication module 190 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC)
  • RFIC radio frequency integrated circuit
  • the antenna module 197 may form a mmWave antenna module.
  • the mmWave antenna module comprises a printed circuit board, an RFIC disposed on or adjacent to a first side (eg, underside) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second side (eg, top or side) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. can do.
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • the command or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199 .
  • Each of the external electronic devices 102 or 104 may be the same as or different from the electronic device 101 .
  • all or a part of operations executed in the electronic device 101 may be executed in one or more external electronic devices 102 , 104 , or 108 .
  • the electronic device 101 may perform the function or service itself instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • One or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 101 .
  • the electronic device 101 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 104 may include an Internet of things (IoT) device.
  • Server 108 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 104 or the server 108 may be included in the second network 199 .
  • the electronic device 101 may be applied to an intelligent service (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • FIG. 2 is a block diagram 200 of a display module 160 according to various embodiments.
  • the display module 160 may include a display 210 and a display driver IC (DDI, display driver IC) 230 for controlling the display 210 .
  • the DDI 230 may include an interface module 231 , a memory 233 (eg, a buffer memory), an image processing module 235 , or a mapping module 237 .
  • the DDI 230 transmits, for example, image data or image information including an image control signal corresponding to a command for controlling the image data to another component of the electronic device 101 through the interface module 231 .
  • the image information includes the processor 120 (eg, the main processor 121 (eg, an application processor) or the auxiliary processor 123 (eg, a graphic processing unit) operated independently of the function of the main processor 121 ).
  • the DDI 230 may communicate with the touch circuit 250 or the sensor module 176 through the interface module 231 .
  • the DDI 230 may store at least a portion of the received image information in the memory 233, for example, in units of frames.
  • the image processing module 235 may, for example, pre-process or post-process at least a portion of the image data based on at least a characteristic of the image data or a characteristic of the display 210 (e.g. resolution, brightness, or resizing).
  • the mapping module 237 may generate a voltage value or a current value corresponding to the image data pre-processed or post-processed by the image processing module 235 .
  • the generation of the voltage value or the current value may be, for example, a property of the pixels of the display 210 (eg, an arrangement of pixels (RGB stripe or pentile structure), or each of the sub-pixels). size) at least in part.
  • At least some pixels of the display 210 are driven based at least in part on the voltage value or the current value, so that visual information (eg, text, image, or icon) corresponding to the image data is displayed on the display 210 . can be displayed through
  • the display module 160 may further include a touch circuit 250 .
  • the touch circuit 250 may include a touch sensor 251 and a touch sensor IC 253 for controlling the touch sensor 251 .
  • the touch sensor IC 253 may control the touch sensor 251 to sense, for example, a touch input or a hovering input for a specific location of the display 210 .
  • the touch sensor IC 253 may detect a touch input or a hovering input by measuring a change in a signal (eg, voltage, light amount, resistance, or electric charge amount) for a specific position of the display 210 .
  • the touch sensor IC 253 may provide information (eg, location, area, pressure, or time) regarding the sensed touch input or hovering input to the processor 120 .
  • At least a portion of the touch circuit 250 is a part of the DDI 230 , or the display 210 , or another disposed outside of the display module 160 . It may be included as part of a component (eg, the coprocessor 123 ).
  • the display module 160 may further include at least one sensor (eg, a fingerprint sensor, an iris sensor, a pressure sensor, or an illuminance sensor) of the sensor module 176 , or a control circuit therefor.
  • the at least one sensor or a control circuit therefor may be embedded in a part of the display module 160 (eg, the display 210 or the DDI 230 ) or a part of the touch circuit 250 .
  • the sensor module 176 embedded in the display module 160 includes a biometric sensor (eg, a fingerprint sensor)
  • the biometric sensor provides biometric information related to a touch input through a partial area of the display 210 . (eg fingerprint image) can be acquired.
  • the pressure sensor may acquire pressure information related to a touch input through a part or the entire area of the display 210 .
  • the touch sensor 251 or the sensor module 176 may be disposed between pixels of a pixel layer of the display 210 , or above or below the pixel layer.
  • the electronic device may have various types of devices.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a wearable device e.g., a smart bracelet
  • a home appliance device e.g., a home appliance
  • first, second, or first or second may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. It is said that one (eg, first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively”. When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • one or more instructions stored in a storage medium may be implemented as software (eg, the program 140) including
  • a processor eg, processor 120
  • a device eg, electronic device 101
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not include a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be included in a computer program product (computer program product) and provided.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or via an application store (eg Play Store TM ) or on two user devices ( It can be distributed online (eg download or upload), directly between smartphones (eg smartphones).
  • a part of the computer program product may be temporarily stored or temporarily generated in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component (eg, module or program) of the above-described components may include a singular or a plurality of entities, and some of the plurality of entities may be separately disposed in other components. there is.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repetitively, or heuristically, or one or more of the operations are executed in a different order. , may be omitted, or one or more other operations may be added.
  • FIG. 3 is a diagram illustrating an example of an electronic device according to various embodiments of the present disclosure.
  • FIG. 3 may show examples of various form factors of the electronic device 101 according to various display types.
  • the electronic device 101 may include a bar type or a plate type 310 , a foldable 320 , 330 or 340 , a rollable 350 , and/or various form factors such as a slideable 360 .
  • the electronic device 101 may be implemented in various forms, and according to the implementation form of the electronic device 101 , a display (eg, the display module 160 of FIG. 1 ) may be used. ) can be provided in a variety of ways.
  • the electronic device 101 is described as an example of the electronic device 101 having a foldable form factor (eg, the foldable electronic device 320 , 330 or 340 ), various The electronic device 101 and its operation according to the embodiments are not limited thereto.
  • the electronic device 101 may operate with various form factors, such as a bar type or a flat plate type 310 , a rollable 350 and/or a slideable 360 , and thereby.
  • the illustrated electronic device 101 is a bar-shaped or flat electronic device 310 , a foldable electronic device 320 , 330 or 340 , a rollable electronic device 350 , or a slideable electronic device 360 . may be some
  • the electronic device 101 may substantially face two different regions of the display (eg, the display module 160 of FIG. 1 ).
  • the display eg, the display module 160 of FIG. 1 or 2
  • the display eg, the display module 160 of FIG. 1 or 2
  • the user can unfold the display in an actual use state so that the two different areas form a substantially flat plate shape.
  • the electronic device 101 (eg, the foldable device 320 , 330 or 340 ) has two display surfaces (eg, a first display surface and a second display surface) based on one folding axis.
  • a form comprising at least three display faces (e.g., a first display face, a second display face and a third display face) based on a form factor (e.g., 320 or 330) and/or at least two folding axes comprising: It may include a factor (eg, 340).
  • a factor eg, 340
  • Various embodiments are not limited thereto, and this is merely exemplary, and the number of folding axes that the electronic device 101 may have is not limited thereto.
  • the electronic device 101 can display (eg, the display module 160 of FIG. 1 ) in various ways (eg, in-folding and out-folding) according to the implementation form. folding), or in/out folding) can be folded or unfolded.
  • the electronic device 101 may include various foldable methods such as vertical foldable, horizontal foldable, G foldable, or Z foldable.
  • a keypad use pattern is learned in response to a user's use of the keypad, and the user is customized based on at least one of the user pattern and user setting. It is possible to provide a keypad having a layout.
  • a user may use a basic keypad and/or an application (eg, a keypad customization application) provided through the electronic device 101 to set the layout of the keypad (or keyboard) in the electronic device 101, You can customize colors and/or effects.
  • the user may support sharing a customized keypad (eg, a keypad with a changed layout) according to user settings in the electronic device 101 with an external electronic device.
  • a customized keypad eg, a keypad with a changed layout
  • FIG. 4 is a diagram illustrating a structural example of a platform architecture of an electronic device according to various embodiments of the present disclosure
  • the electronic device 101 may process and manage a keypad customization function based on the structure of the platform architecture as illustrated in FIG. 4 .
  • the platform architecture of the electronic device 101 shown in FIG. 4 may be implemented in software by being executed by the processor 120 and loaded into the memory 130 .
  • the configuration of the electronic device 101 implemented in software may include an application layer 410 (eg, the application 146 of FIG. 1 ) and a framework layer 420 (eg, FIG. 1 ). 1 of middleware (middleware) 144 ), a hardware abstraction layer (HAL) 430 , a kernel layer 440 , and a hardware (HW) layer 450 may be divided.
  • at least some of the configurations shown in FIG. 4 may be changed according to a platform included in the electronic device 101 .
  • at least a portion of the platform architecture may be pre-loaded into the electronic device 101 at the time of manufacture, or an external electronic device (eg, the electronic device 102 or 104 of FIG. 1 ) when used by a user. ) or the server 108) may be downloaded or updated.
  • the application layer 410 may include an application (eg, application 146 of FIG. 1 ) and an existing keypad 415 (eg, HoneyBoard).
  • an application eg, application 146 of FIG. 1
  • an existing keypad 415 eg, HoneyBoard
  • the application 146 may draw at least one layer based on the resolution of the display area of the display module 160 .
  • the application 146 may draw at least one layer based on the resolution of the display area of the display module 160 using a drawing library (eg, a view).
  • the application 146 is an application stored on the memory 130 of the electronic device 101 or executable or installed by the processor 120 , for example, a custom application 400 , App 1 , App 2 , and/or App 3 may include, but is not limited to.
  • the application 146 may include various applications executable in the electronic device 101 .
  • the application 146 may include a home, a dialer, a short message service (SMS)/multimedia messaging service (MMS), an instant message (IM), a browser, a camera, and an alarm. (alarm), contact, voice recognition, email, calendar, media player, album, watch, health (e.g.: Measuring biometric information such as exercise amount or blood sugar), or environmental information (eg measuring air pressure, humidity, or temperature information) applications, , the type may not be limited.
  • the application 146 may further include an information exchange application capable of supporting information exchange between the electronic device 101 and an external electronic device.
  • the information exchange application includes, for example, a notification relay application configured to transmit specified information (eg, data, call, message, or alarm) to an external electronic device, or a device management application configured to manage an external electronic device can do.
  • the application 146 may include an air actions application.
  • the air action application may be an application that provides interaction with a user for setting an air action using an electronic pen (eg, a stylus pen).
  • the customization application 400 may be an application capable of customizing (or changing) and applying visual colors and effects, including the layout of the keypad 415 . It will be described with reference to the drawings to be described later in relation to the customization application 400 and its operation operation, according to an embodiment.
  • the keypad 415 may be an application that supports a user's input to the electronic device 101 .
  • the keypad 415 may generate various input signals necessary for the operation of the electronic device 101 .
  • the keypad 415 may be displayed through the display module 160 , and based on a touch circuit of the display module 160 , a touch input and/or a hovering input for a designated position of the keypad 415 . (or proximity input).
  • the display module 160 may further include a touch circuit (not shown).
  • the touch circuit (not shown) may include a touch sensor and a touch sensor IC for controlling the touch sensor.
  • the touch sensor IC may control the touch sensor to sense a touch input or a hovering input for a designated location of the display, for example.
  • the touch sensor IC processes a signal (eg, voltage, light quantity, resistance, or electric charge) for a designated position of the keypad 415 displayed through the display module 160 to a processor (eg, the processor 120 of FIG. 1 ) ) can be provided.
  • the keypad 415 may be implemented in various forms according to support of various input modules (or input means).
  • the keypad 415 may be an input module including at least one of a variety of key maps, such as a 3*4 key map, a 5*4 key map, a qwerty key map, and/or a dvorak key map. may be provided in the form of According to one embodiment, the key map of the keypad 415 changes at least in part (eg, at least one designated key button and/or the key map structure itself) according to the user's use of the keypad 415 and/or the specified input. can be displayed.
  • a variety of key maps such as a 3*4 key map, a 5*4 key map, a qwerty key map, and/or a dvorak key map.
  • the key map of the keypad 415 changes at least in part (eg, at least one designated key button and/or the key map structure itself) according to the user's use of the keypad 415 and/or the specified input. can be displayed.
  • the keypad 415 may be operatively coupled to the application 146 (eg, the customization application 400).
  • the keypad 415 may receive an input from the user and provide information based on the input to the customization application 400 .
  • the keypad 416 may receive information set from the customization application 400 and change the existing keypad layout to a layout corresponding to the received information.
  • the keypad 415 may be changed based on the received information of at least a part of the key map of the keypad 415 .
  • the keypad 415 has a size and key map structure of a shape for supporting the use of one hand (eg, a left hand mode or a right hand mode) in a specified direction, and a size and key map structure of a shape for supporting the use of both hands. , and/or a size and key map structure of a shape for general use support.
  • the framework layer 420 (eg, the middleware 144 of FIG. 1 ) provides functions or information provided from one or more resources of the electronic device 101 by the application 146 .
  • Various functions may be provided to the application 146 to be used.
  • the framework layer 420 may include, for example, a window manager 421 , a view system 423 , an activity manager 425 , and/or a sensor manager ) (427), but is not limited thereto.
  • the framework layer 420 includes, not shown, an application manager, a multimedia manager, a resource manager, a power manager, and a database manager. , package manager, connectivity manager, notification manager, location manager, graphic manager, security manager, telephony manager ), and/or various managers such as a voice recognition manager.
  • the window manager 421 may manage, for example, one or more graphical user interface (GUI) resources used in a screen.
  • GUI graphical user interface
  • the window manager 421 may transmit information on the display area of the electronic device 101 to the application 146 .
  • the window manager 421 responds to the changed state of the electronic device 101 .
  • information on the display area to be used may be transmitted to the application 146 .
  • the window manager 421 provides information on the display area corresponding to the changed state of the electronic device 101 to an application for which continuity is set among the running applications 146 . can transmit
  • the view system 423 may include a set of extensible views used to create an application user interface. According to an embodiment, the view system 423 may be a program for drawing at least one layer based on the resolution of the display area of the display module 160 . According to an embodiment, the application 146 may use a view (eg, a drawing library) to draw at least one layer based on the resolution of the display area of the display module 160 .
  • a view eg, a drawing library
  • the activity manager 425 may manage a life cycle of an activity. According to an embodiment, the activity manager 425 may manage execution and termination of the application 146 .
  • the sensor manager 427 may collect and control sensor information based on the usability of the sensor module 176 .
  • the hardware abstraction layer 430 includes a plurality of hardware modules included in the hardware layer 450 (eg, the display module 160 of FIG. 1 , the sensor module 176 , the camera module 180 , and / or an abstracted layer between the communication module 190) and software of the electronic device 101 , and may include an event hub 431 and a surface flinger 433 .
  • the event hub 431 may be an interface that standardizes events occurring in a touch circuit (eg, the display module 160 ) and a sensor circuit (eg, the sensor module 176 ).
  • the surface flinger 433 may synthesize a plurality of layers, and may provide data representing the plurality of synthesized layers to the display controller 443 .
  • the display controller 443 may refer to a graphic display controller.
  • the kernel layer 440 includes various hardware modules included in the electronic device 101 (eg, the display module 160 of FIG. 1 , the sensor module 176 , the camera module 180 , and/or Various drivers for controlling the communication module 190 may be included.
  • the kernel layer 440 includes a sensor driver 441 including an interface module for controlling a sensor controller 451 connected to the sensor module 176 and a display module 160 . It may include a display controller (eg, DDI, display driver IC) 443 for controlling the display panel 453 connected to the display panel.
  • the hardware layer 450 may include a hardware module or configuration (eg, the sensor controller 451 and the display panel 453 ) included in the electronic device 101 , but is not limited thereto. , may include the configurations shown in FIG. 1 .
  • the electronic device 101 includes a display module 160 , a processor 120 operatively connected to the display module 160 , and a memory operatively connected to the processor 120 .
  • the memory 130 includes, when executed, the processor 120 displays a user interface based on application execution, and keypad information from a user input related to a first keypad of the user interface. and/or acquire user input information, determine characteristic information for a second keypad based on the acquired information, configure the second keypad based on the characteristic information, and configure the second keypad for the user You can store instructions to display through the interface.
  • the keypad information may include a keypad type, an input pattern, a keypad typo, and a frequently used pattern.
  • the information on the keypad is based at least on the history information on the use of the first keypad by the user and/or input information on the user input using the keypad provided through the user interface. can be obtained.
  • the user input information may include user customization information input based on the user interface.
  • the instructions, the processor 120 generates a keypad of a customized layout based on the history information and/or input information, and user input information related to the generated keypad based on the second keypad can be configured.
  • the characteristic information may include information related to a theme, skin, attribute, and/or layout related to customization of the keypad.
  • the instructions may cause the processor 120 to map a keymap for each keypad.
  • the instructions may cause the processor 120 to display the second keypad, in which the first layout of the first keypad is customized to a second layout based on the characteristic information, as the user interface.
  • the instructions cause the processor 120 to set the second keypad as the default keypad of the electronic device 101, and a user input requesting sharing of the second keypad based on the second keypad may be shared with another external electronic device.
  • the instructions may cause the processor 120 to share characteristic information constituting the second keypad with the external electronic device through a specified file format and a specified communication method. .
  • the first keypad includes an existing keypad set based on a first layout to be used by a user in the electronic device 101, and the second keypad includes the first keypad through the user interface.
  • the first layout of the first keypad may include a keypad that is customized to the second layout and added as a user keypad.
  • a non-transitory) computer-readable recording medium includes an operation of displaying a user interface based on the execution of an application, an operation of obtaining keypad information and/or user input information from a user input related to a first keypad of the user interface; an operation of determining characteristic information for a second keypad based on the obtained information, an operation of configuring the second keypad based on the characteristic information, and an operation of displaying the second keypad through the user interface; It may include a non-transitory computer-readable recording medium storing instructions to be executed in the .
  • operations performed by the electronic device 101 to be described below may be executed by the processor 120 including at least one processing circuitry of the electronic device 101 .
  • the operations performed by the electronic device 101 may be stored in the memory 130 and, when executed, may be executed by instructions that cause the processor 120 to operate.
  • FIG. 5 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • 6A and 6B are diagrams illustrating an example of a user interface of an application (eg, a customization application) supporting keypad customization in an electronic device according to various embodiments of the present disclosure
  • the processor 120 of the electronic device 101 displays a user interface (or execution screen) of the application based on the execution of the application (eg, the custom application 400 of FIG. 4 ).
  • the user may perform a user input (eg, selecting an application icon (eg, touch)) to execute the customization application 400 for customizing the keypad (eg, the keypad 415 of FIG. 4 ).
  • the processor 120 executes the customization application 400 based on a user input and displays the display module 160 to display a user interface (or execution screen) provided by the customization application 400 . can be controlled
  • the processor 120 may display an execution screen of the custom application 400 through the display module 160 as illustrated in FIGS. 6A and 6B .
  • the example screen of FIG. 6A may represent an example of an execution screen (eg, a loading screen) in a state (eg, a loading state) in which the customization application 400 is being executed.
  • the example screen of FIG. 6B may represent an example of an initial execution screen (eg, initial screen) in a state (eg, execution state) in which the custom application 400 is executed.
  • the initial screen (or user interface) of the customization application 400 is switched to a user interface that can change the layout of the keypad 415 (eg, entering a custom layout mode)
  • the first item 610 including an object 611 to select an object 611 and an object 613 to select activation/deactivation of a custom function
  • the keypad 415 switches to a user interface that can change the theme (eg : A user who can collect the user's input pattern through various games (eg, typing game, acid rain game) using the second item 620 for entering the theme change mode), and the user's keypad 415
  • a third item 630 for switching to the interface may be included.
  • the processor 120 may obtain at least one piece of information from a user input related to the first keypad.
  • the at least one piece of information may include keypad information and/or user input information (eg, user customization information).
  • the keypad information may include a keypad type, an input pattern (eg, typing speed), a keypad typo, and a frequently used pattern (eg, a keypad touch area, left-handed use, and/or right-handed use pattern).
  • the user input information may include user customization information input based on a user interface of the customization application 400 .
  • the processor 120 may obtain keypad information from a first user input using a first keypad provided through the user interface, and from a second user input related to a customization setting provided through the user interface. You can obtain customization information. According to an embodiment, an operation of obtaining at least one piece of information from a user input will be described with reference to the accompanying drawings.
  • the processor 120 may determine characteristic information for the second keypad based on the obtained information. According to an embodiment, the processor 120 determines the characteristic information based at least on the keypad information obtained from the user input and/or the user input information (eg, user customization information) and maps the characteristic information to the keypad. can do. In one embodiment, the characteristic information may configure the second keypad through customization of the first keypad, such as, for example, the theme, skin, properties, and/or layout (eg, button size and/or spacing between buttons). It may contain possible information. According to an embodiment, the processor 120 may determine, for example, characteristic information of the theme, skin, properties, and/or layout (eg, button size and/or button spacing) of the keypad 415 .
  • the processor 120 may determine, for example, characteristic information of the theme, skin, properties, and/or layout (eg, button size and/or button spacing) of the keypad 415 .
  • the processor 120 may generate and map a keymap for one or more buttons (or keys) of the keypad 415 .
  • the processor 120 assumes that the keypad is a QWERTY keypad and a short vowel keypad, in the case of the Korean character ' ⁇ ', it is possible to input as 'shift (shit) + ' on the QWERTY keypad, and on the short vowel keypad, Since it is possible to input as 'f+f', a key map corresponding to each can be created and mapped.
  • the processor 120 may generate and map a key map in real time when processing basic information of the keypad in a language other than Korean (eg, the first language) (eg, the N-th language).
  • the processor 120 may predict and simulate through learning the error rate in order to determine whether a newly mapped keypad (eg, a customized keypad or a dynamic keypad) is actually effective.
  • learning may refer to, for example, reinforcement learning and/or deep learning.
  • the processor 120 may predict a typo rate by modeling various learning patterns and substituting a newly created keypad for modeling.
  • the processor 120 may press (or touch) all the buttons (or keys) to determine how much data the newly created keypad has to be effective. It can also be generated by analyzing and predicting quantities.
  • analytics may refer to, for example, reinforcement learning and/or deep learning based learning models. According to an embodiment, an operation of determining characteristic information and mapping it to a keypad will be described with reference to the drawings to be described later.
  • the processor 120 may configure the second keypad based on the feature information.
  • the processor 120 may configure the first keypad as a second keypad customized based on the characteristic information.
  • the processor 120 may customize the first layout of the first keypad as the second layout of the second keypad to which the characteristic information is applied.
  • the first keypad may include, for example, an existing keypad set for use by a user in the electronic device 101 (eg, the keypad 415 (eg, HoneyBoard) of FIG. 4 ), and It may be configured based on the first layout set in the keypad.
  • the second keypad may include, for example, a keypad (eg, a custom keypad) in which the first layout of the first keypad is customized through a user interface and added to the user keypad, and the characteristic information Accordingly, it may be configured based on a customized second layout. According to an embodiment, an operation of configuring the second keypad will be described with reference to the drawings to be described later.
  • a keypad eg, a custom keypad
  • the processor 120 may provide (eg, display) the second keypad through the user interface.
  • the processor 120 may display the second keypad through the user interface and recommend it to the user.
  • the processor 120 may control the display module 160 to display a recommendation keypad based on information obtained from a user input.
  • the processor 120 may recommend and display a keypad based on feature information and/or user input information (eg, customization information).
  • the processor 120 is configured to display the second keypad based on user input information related to the second keypad (eg, additional customization information of the user) while the recommended second keypad is displayed through the display module 160 .
  • a second keypad may be provided by customizing the second layout of the keypad.
  • the processor 120 may change and/or set the used keypad from the first keypad to the second keypad based on a user input (eg, a setting completion input) using the second keypad. .
  • the processor 120 may perform an operation of sharing the second keypad with another external electronic device based on a user input. For example, the processor 120 may provide (or transmit) characteristic information constituting the second keypad to an external electronic device through a designated communication method. According to an embodiment, an operation of sharing the second keypad will be described with reference to the drawings to be described later.
  • FIG. 7 is a view for explaining an example of interaction between keypads in an electronic device according to various embodiments of the present disclosure.
  • FIG. 7 shows a module for keypad customization in an application that provides customization of the keypad (eg, the customization application 400 of FIG. 4 ) and an existing keypad (eg, the keypad 415 of FIG. 4 ) (eg: HoneyBoard)))) modules can represent an example of interaction for keypad customization.
  • the customization application 400 includes a custom layout module 710 (eg, CLM, custom layout module), an automatic layout module 720 (eg, ALM, automatic layout module) and / Alternatively, a keypad customization module such as a custom skin module 730 (eg, CSM, custom skin module) may be included.
  • the customization application 400 may include a custom theme module (eg, CTM, custom theme module) and a custom setting module (eg, CSET, custom setting module).
  • the keypad 415 includes a keypad input module 740 (eg, KIM, keyboard input module) responsible for input of the keypad 415 , and a custom keypad module 750 for customizing the keypad 415 .
  • a keypad input module 740 eg, KIM, keyboard input module
  • a custom keypad module 750 for customizing the keypad 415 .
  • CKM custom keyboard module
  • a module such as a pattern learning module 760 eg, PLM, pattern learning module responsible for storing keypad information (or primary information) by learning user usage patterns
  • PLM pattern learning module
  • the application 146 of the electronic device 101 may further include a theme application 700 (eg, theme park) for customizing (eg, changing a theme) of the keypad 415 .
  • the theme application 700 includes a module such as a keypad resource management module 770 (eg, TKRM, theme park keyboard resource manager) for keypad resource management (or application) through the theme application 700 . can do.
  • the customization application 400 may receive keypad information (or primary information) from the keypad 415 in an operation of acquiring information related to customization of the keypad 415 based on the user interface, and , user input information (eg, secondary information) based on a user interface provided by the customization application 400 may be received.
  • user input information may be directly input by the user in the custom layout module 710 of the customization application 400 or may be collected using typing in the automatic layout module 720 .
  • the keypad 415 through the pattern learning module 760, the keypad type, the keypad typing speed, the keypad touch area, the input pattern frequently used by the user, typo, the pattern frequently used by the user, the user may receive keypad information (or primary information) such as a mode of use (eg, left-hand mode, right-hand mode, and both-hand mode) frequently used by the .
  • keypad information or primary information
  • a mode of use eg, left-hand mode, right-hand mode, and both-hand mode
  • the keypad 415 may represent an existing keypad (eg, honeyboard) before the customized keypad is applied through the customization application 400, for example, a QWERTY keypad, a short vowel keypad, a Naratgeul keypad, It may represent a keypad set and provided to the electronic device 101, such as a keypad of Cheonjiin and/or a keypad of moa key.
  • the customization application 400 may receive keypad information (or primary information) obtained by the keypad 415 from the keypad 415 .
  • the custom layout module 710 of the customization application 400 may provide a keypad (or keyboard) layout preset.
  • the custom layout module 710 may provide presets for each language and/or for each input type.
  • the custom layout module 710 may manage presets and user-sets.
  • the custom layout module 710 may support allowing the user to arbitrarily change the layout of the keypad 415, such as moving buttons (or keys), adjusting row/column sizes, adjusting button sizes, and/or modifying button properties.
  • the custom layout module 710 may collect user input information (or secondary information) according to a user's additional input together with keypad information (or primary information). Examples of this are shown in FIGS. 8A, 8B, 8C, 9A and 9B.
  • the automatic layout module 720 of the customization application 400 may provide a specified example sentence, and the user inputs (eg, types) the information using the keypad 415 in response to the specified example sentence. Based on the input (eg touch) pattern, it is possible to recommend a custom layout based on the analysis result.
  • the automatic layout module 720 may collect and store user input information (or secondary information) (eg, a touch pattern) typed according to a given example sentence, and a custom layout (eg, a custom layout based on the user input information) : A keypad of the second layout) can be recommended.
  • the automatic layout module 720 receives the keypad information of the keypad 415 from the keypad 415, and in response to the user's input information (eg, typing), the user input information (eg, the keypad (eg) : size and touch information) of a typed button) can be received.
  • the customization application 400 analyzes the received user input information, maps the keypad information and/or the user input information, and creates a new model (or layout) in which the size of the button is adjusted, and recommends it to the user. can do.
  • the automatic layout module 720 may generate a new model using only user input information (or secondary information). An example of this is shown in FIG. 10 .
  • the automatic layout module 720 may collect and operate user input information (or secondary information).
  • the user input information (or secondary information) that the auto-layout module 720 collects may include, for example, words that the user frequently misses, words that the user frequently clicks (or touches on), left-handed use, and/or It may include various characteristic information such as use of the right hand, and the automatic layout module 720 may determine characteristic information thereof. For example, if there is a high probability of a misspelling of “chord” in “flowers” in the example sentence of “flowers and flowers,” additional example sentences related to “candles” may be continuously provided. For example, the automatic layout module 720 may determine the user's typographical pattern by outputting continuity words and/or sentences of 'flowers' -> 'green' -> 'plants'. An example of this is shown in FIG. 11 .
  • the automatic layout module 720 performs an operation related to data collection (eg, basic information processing of a keypad, normal touch data processing and/or typo processing operation) and/or touch correction. ) can be performed.
  • a data collection operation eg, basic information processing, normal touch data processing, and/or typo processing operation
  • a touch correction operation will be described with reference to FIGS. 12 to 15 , which will be described later.
  • the custom skin module 730 of the customization application 400 may provide a user with various types of user interfaces and effects.
  • the custom skin module 730 may be configured to provide an optimal fit for a user's pattern in response to data analyzed based on keypad information (or primary information) and/or user input information (eg, secondary information). Skin (or theme) information can be provided.
  • the information related to the user's pattern may include, for example, information about a typo, a keypad type, and/or a form factor (eg, foldable or slideable) of the electronic device 101 .
  • the customization application 400 is a theme application 700 to achieve visual harmony of various additional functions (eg, emotion, sticker, and/or gif) provided by the keypad 415 .
  • a module eg, a custom theme module
  • the theme application 700 or its operation may be implemented by being included in the customization application 400 .
  • the customization application 400 may include a module (eg, a custom setting module) capable of storing and managing various setting information and/or pattern information of the user.
  • a module eg, a custom setting module
  • 8A, 8B, and 8C are diagrams illustrating an example of a user interface for customizing a keypad in an electronic device according to various embodiments of the present disclosure
  • 9A and 9B are diagrams illustrating an example of a user interface for keypad customization in an electronic device according to various embodiments of the present disclosure
  • FIGS. 8A, 8B, 8C, 9A, and 9B may show examples of a user interface (or execution screen) of the custom application 400 .
  • examples of the execution screen of the custom layout module 710 of the customization application 400 may be shown in FIGS. 8A, 8B, 8C, 9A, and 9B.
  • the example screen of FIG. 8A may represent an example of a preset interface that provides presets for each language and/or input type.
  • a preset 810 predefined for each language eg, Korean, English
  • input type eg, symbol
  • an additional object 820 for user definition e.g., at least one keypad preset may be provided for each language, and at least one keypad preset may be provided for each input type.
  • the example screen of FIG. 8B may be a screen that is switched when an additional object 820 for user definition is selected on the example screen of FIG. 8A .
  • the example screen of FIG. 8B shows a keypad object 830 corresponding to one or more existing keypads 415 set in the electronic device 101 and a keypad corresponding to the selected keypad object 830 for customization execution.
  • An example of a keypad user interface including an execution object (or edit object) 840 may be shown.
  • the keypad object 830 supports, for example, Korean among the existing keypads set in the electronic device 101 when the additional object 820 is selected in the Korean item (or tab) of the example screen of FIG. 8A .
  • It may include a keypad object 830 corresponding to the keypad. For example, if there are a plurality of keypads supporting Korean, a plurality of corresponding keypad objects 830 are provided, or as shown, one keypad object 830 is displayed, and it is displayed by switching to another hidden keypad object. It can be provided so that it can be selected in a scrolling (or slide) (eg, left-right scrolling) method.
  • the electronic device 101 may provide a guide object 835 (or a scroll object) indicating that the plurality of keypad objects 830 can be scrolled.
  • each guide object 835 may be mapped to correspond to a plurality of keypad objects 830 and may be provided in a one-to-one format.
  • the electronic device 101 slides out the currently displayed keypad object 835 and slides in another hidden keypad object based on the user's specified input (eg, swipe in the left or right direction). so that it can be displayed.
  • the example screen of FIG. 8C may be a screen switched when the execution object 840 for customizing the keypad 415 is selected on the example screen of FIG. 8B .
  • the example screen of FIG. 8C may represent an example of a customization interface for customizing the keypad 415 corresponding to the selected keypad object 830 .
  • the customization interface includes, for example, a keypad area 850 for the keypad 415 corresponding to the selected keypad object 830 , and a customization area 860 for customization of the keypad 415 and related information. and/or a template area 870 for various templates for changing button properties of the keypad 415 .
  • an example of customizing the keypad using the keypad area 850 , the customization area 860 , and the template area 870 is shown in FIGS. 9A and 9B .
  • the keypad area 850 may be provided with a keypad 415 corresponding to the selected keypad object 830 .
  • the keypad 415 may be provided in an initial basic layout (eg, a first layout), and may be changed to a customized layout (eg, a second layout) according to a user's customization progress.
  • a part of the layout of the keypad 415 is changed (eg, at least some buttons of the keypad are changed to a button for inputting an icon (or emoticon)) can
  • the customization area 860 provides related information and edit menus (or options) for moving buttons (or keys), column size, and/or button size adjustment of the keypad displayed in the keypad area 850 . can do.
  • the customization area 860 includes an information object 920 corresponding to a button selected in the keypad area 850 (eg, a button 940 in the example screen of FIG. 9A ) and a button of the selected button 940 . It may include a size adjustment object 930 for adjusting the size.
  • the size adjustment object 930 may be configured to be able to adjust a horizontal size (eg, width) of a button and/or a vertical size (eg, height) of a button.
  • the size (eg, width) of the selected button 940 may be adjusted.
  • the user may select a plurality of buttons (eg, two or more or all buttons) for size adjustment in the keypad area 850, and adjust the sizes of the plurality of buttons to be substantially the same size at the same time.
  • the customization area 860 includes an information object related to adjusting movement of buttons, spacing between buttons, column size of buttons and/or row sizes of buttons, and an adjustment object for adjusting the button and/or a selected one or its A deletion object capable of deleting (or removing) more than one object may be provided.
  • the template area 870 may provide various templates for changing button properties for each button of the keypad area 850 .
  • an icon template 900 for changing the attribute of a button to an icon (or emoticon) is provided in the template area 870 may be shown.
  • various templates for each function may be provided in the template area 870 .
  • various templates divided by functions (or uses) applicable as button properties may be provided through the template area 870 .
  • various templates classified by function (or use) applicable as a button property may include a basic template 911, an email template 913, a URL template 915, and/or a symbol template 917. there is.
  • the user selects an object in the template area 870, moves the selected object to a desired button in the keypad area 850 and drops the input (eg, drag and drop), and sets the properties of the button It can be changed to have the properties of the selected object.
  • the user selects an object in the template area 870 , and moves the selected object between buttons or an empty area other than a button in the keypad area 850 and drops the selected object in the keypad area 870 as an input. You can add a new button to the object.
  • the electronic device 101 eg, the customization application 400 or the custom layout module 710 ) changes a property of a corresponding button in the keypad area 850 in response to a user input or selects a new button can be provided in addition.
  • the electronic device 101 eg, the customization application 400 or the custom layout module 710
  • the layout of the keypad 415 can be changed according to a user input (eg, moving a button, adjusting a column size, adjusting a button size, and/or changing a button property) using the preset, and changing the layout
  • user input information (or secondary information) may be collected.
  • FIG. 10 is a diagram illustrating an example of a user interface for keypad customization and an operation structure thereof in an electronic device according to various embodiments of the present disclosure
  • FIG. 10 may show an example of a user interface (or execution screen) of the custom application 400 .
  • FIG. 10 may show an example of a user interface capable of acquiring user input information by the automatic layout module 720 of the customization application 400 and an operation thereof.
  • the electronic device 101 may provide a designated example sentence 1010 , and the user uses the keypad 415 to provide the designated example sentence.
  • the input (eg, typing) touch information B eg, a touch pattern
  • the customization application 400 may collect and store user input information (or secondary information) (eg, touch pattern) typed according to the specified example sentence 1010, and a custom layout based on the user input information
  • a keypad of eg, the second layout
  • the customization application 400 receives keypad information (eg, config(A)) of the keypad 415 from the keypad 415, and a user input in response to user input information (eg, typing) Information (eg, size of a keypad (eg, a typed button) and touch information (B)) may be received.
  • the customization application 400 analyzes the received user input information, maps the keypad information and/or the user input information, and creates a new model (or layout) in which the size of the button is adjusted, and recommends it to the user. can do.
  • the customization application 400 may generate a new model using only user input information (or secondary information).
  • FIG. 11 is a diagram illustrating an example of a user interface for customizing a keypad in an electronic device according to various embodiments of the present disclosure
  • FIG. 11 may show an example of a user interface (or execution screen) of the custom application 400 as illustrated in FIG. 10 .
  • FIG. 11 may show an example of an execution screen of the automatic layout module 720 capable of acquiring user input information by the automatic layout module 720 of the customization application 400 .
  • the electronic device 101 collects user input information (or secondary information) based on the illustrated user interface.
  • the customization application 400 may collect typographical characters, pattern information, and/or typing speed based on information that the user types according to the given example sentence 1110 .
  • the user input information may include various characteristic information such as a word frequently misspelled by the user, a word frequently clicked (or touched), left-handed use, and/or right-hand use
  • the customization application 400 is Its characteristic information can be determined. For example, if the custom application 400 has a high probability of a typo in the example sentence of “flowers”, additional example sentences related to “flowers” are continuously provided (eg, “flowers” -> “green” -> “plants”). ” (continuity of words and/or sentence output), it is possible to determine the typographical pattern.
  • the customization application 400 may provide feedback information (eg, accuracy, typing speed) corresponding to user input information to the user through a user interface.
  • feedback information eg, accuracy, typing speed
  • the customization application 400 collects data through basic information processing of the keypad, normal touch data processing, and/or typo information processing based on user input information. collection) can be performed. Examples of this are shown in FIGS. 12 and 13 .
  • the customization application 400 eg, the automatic layout module 720
  • FIG. 12 is a diagram for describing an information processing operation for data collection in an electronic device according to various embodiments of the present disclosure
  • FIG. 12 an example of processing basic information and normal touch data of the keypad in a data collection operation of the electronic device 101 (eg, the customization application 400 or the automatic layout module 720 ) will be shown.
  • an example screen ⁇ 1201> is an exemplary diagram for explaining an example of basic information processing of the keypad.
  • the customization application 400 when executed, the height 1210 of each button and the width 1220 of each button of the keypad 415 currently set in the electronic device 101 are displayed. Relevant values can be stored.
  • the customization application 400 may obtain and store the center coordinates 1250 (eg, center X, Y coordinates) for each button of the keypad 415 .
  • the customization application 400 may include, in addition to the height and width of each button, the actual touchable height 1230 of each button of the keypad 415 (eg, a row including a margin).
  • the customization application 400 may compare the touch coordinates of the actual keypad with values of height and/or width including a margin.
  • the customization application 400 splits (or separates) the input data received from the user in response to the words and/or sentences of the provided example sentence 1260 into specified units (eg, character units). can be collected. For example, the customization application 400 divides all consonants/vowels into consonants/vowels, such as “c”, “ ⁇ ”, and “ ⁇ ”, when the letter “dong” of the example sentence 1260 is input. can be saved For example, the customization application 400 may divide and store words into designated units in order to match consonants/vowels with each button.
  • specified units eg, character units.
  • the customization application 400 divides all consonants/vowels into consonants/vowels, such as “c”, “ ⁇ ”, and “ ⁇ ”, when the letter “dong” of the example sentence 1260 is input.
  • the customization application 400 may divide and store words into designated units in order to match consonants/vowels with each button.
  • an exemplary screen ⁇ 1203> is an exemplary diagram for explaining an example of normal touch data processing of the keypad.
  • the customization application 400 compares the data collected whenever a word input by the user in response to the example sentence 1260 matches the example sentence 1260 and then stores it in the corresponding keymap. there is. For example, when the character “dong” is input according to the example sentence 1260, the customization application 400 decomposes the consonants/vowels in “dong” of the example sentence 1260 into “c”, “ ⁇ ”, “ ⁇ ” and the value (eg key code) of a button (eg, a button touched by the user) based on the collected data (eg, keypad information (eg, touch information)).
  • keypad information eg, touch information
  • Each button included in the keypad has a respective key value (eg, key code), and each key value corresponding to each button is mapped to a memory (eg, the memory 130 of FIG. 1 ) in a table form. and can be stored.
  • a key value eg, key code
  • each key value corresponding to each button is mapped to a memory (eg, the memory 130 of FIG. 1 ) in a table form. and can be stored.
  • a memory eg, the memory 130 of FIG. 1
  • the touched touch coordinates eg x, y coordinates
  • the customization application 400 provides feedback information corresponding to user input information input in response to the example sentence 1260 given through the user interface (eg, accuracy: 100%). , typing speed: 179) may be provided to the user.
  • FIG. 13 is a diagram for describing an information processing operation for data collection in an electronic device according to various embodiments of the present disclosure.
  • FIG. 13 an example of processing typographical information on the keypad in a data collection operation of the electronic device 101 (eg, the customization application 400 or the automatic layout module 720 ) may be illustrated.
  • the customization application 400 may determine whether a typo has occurred by analyzing a user input based on a provided example sentence. According to an embodiment, the customization application 400 may determine whether to store in the corresponding key map after comparing the data collected whenever a word input by the user in response to a given example sentence matches the example sentence. For example, the customization application 400 is a typo when the character “Park” 1320 is input for the character “Baek” 1310 in the example sentence 1300 (eg, ‘East Seafood and Mt. Baekdu are dry and worn out’). , and only the collected data can be stored without performing key code comparison as illustrated in FIG. 12 .
  • the customization application 400 is a typo when the character “Park” 1320 is input for the character “Baek” 1310 in the example sentence 1300 (eg, ‘East Seafood and Mt. Baekdu are dry and worn out’).
  • the customization application 400 may only collect data without comparing button values (eg, key code) after an error occurs. For example, the customization application 400 may determine that, as shown, when 'bak' of element 1320 is received from the keypad 415 with respect to 'back' of element 1310 in the example sentence, it is a typo due to inconsistency. . According to an exemplary embodiment, the customization application 400 is configured to include “b”, “ Only data of “a” and “a” may be saved, and touch coordinates for user touch may not be saved.
  • the customization application 400 when there is a re-input for a typo from the user, the customization application 400 is a distance between the typo (eg, 'Park') and a button to be actually input (eg, ' ⁇ ' button) (eg: After comparing the distance between the ' ⁇ ' button and the 'a' button), even a typo can be recognized as a value to be actually entered.
  • the customization application 400 deletes the word input by the user (eg, 'Park') and when 'back' is input again in the example sentence, the previously stored data (eg, “b”, “a”) , “a”) and new data (eg, “b”, “ ⁇ ”, “a”) can be compared.
  • the customization application 400 determines, based on the comparison result, that the actual ' ⁇ ' button should be input while the 'a' button is incorrectly input (eg, a typo), and the actual ' ⁇ ' After calculating the distance between the center coordinates of the button and the center coordinates of the button touched by the user (eg, 'A' button), it is possible to determine (or decide) whether to store or delete the touch coordinates of 'A'.
  • the customization application 400 may If the button is more than 120% away from the center coordinate of the ' ⁇ ' button, the touch coordinate of 'a' is deleted, and if it is within 120%, the touch coordinate of 'a' can be stored in KeyMap[' ⁇ '] .
  • the customization application 400 may store related data to change the size (eg, touch correction) of the ' ⁇ ' button based on the stored touch coordinates.
  • the maximum increaseable size of the button is the actual touchable width and/or height of the button (eg, 1230, 1240 in FIG. 12 ) (eg, the width/height of rows/columns including margins). ) may be included.
  • FIG. 14 is a diagram for describing a touch correction operation in an electronic device according to various embodiments of the present disclosure.
  • FIG. 14 an example of calculating an average value for touch in touch compensation of the electronic device 101 (eg, the customization application 400 or the automatic layout module 720 ) may be illustrated.
  • the customization application 400 may calculate an average of touch coordinates stored in a key map for each button (eg, the ‘b’ button 1400). For example, as illustrated, the customization application 400 may calculate an average of X and Y coordinates for the touch coordinates 1410 collected in the key map of the button 1400 touched by the user. For example, as shown, when the user inputs the button 1400, compared to the center coordinate 1430 of the button 1400, the X coordinate is to the right, and the Y coordinate is the touch coordinate 1420 that is skewed downward (eg : The calculated average value) can be touched.
  • the customization application 400 may adjust the size of the button 1400 based on the center coordinates 1430 and the touch coordinates 1420 of the button 1400 .
  • the customization application 400 increases the size and/or moves the button 1400 in the right and downward directions (eg, in the lower right direction) to reduce the user's error rate. can do.
  • FIG. 15 is a diagram for describing a touch correction operation in an electronic device according to various embodiments of the present disclosure.
  • calculating the width and height for a touch can give an example.
  • element 1510 may indicate the central axis of buttons in the same row before size change
  • element 1520 may indicate central axis of buttons in the same column after size change
  • the element 1530 may indicate a center point (or center x, y coordinates) of each button.
  • the buttons of the element 1520 may represent an example in which the sizes of the buttons of the element 1510 are changed.
  • the customization application 400 may calculate the width and/or height of each button based on an average value obtained for each button. According to an embodiment, the customization application 400 may calculate the width and/or height of a button based on a distance (eg, a left-right distance or an up-down distance) between the center points 1530 of each button. According to an embodiment, the customization application 400 may calculate the width and/or height of the button in consideration of the center coordinates and the touch coordinates of the button touched by the user as in the example of FIG. 14 .
  • a distance eg, a left-right distance or an up-down distance
  • 16 is a diagram illustrating an example of a user interface for customizing a keypad in an electronic device according to various embodiments of the present disclosure
  • FIG. 16 may show an example of a user interface (or execution screen) of the custom application 400 .
  • a user interface or execution screen
  • FIG. 16 an example of an execution screen of the custom skin module 730 of the customization application 400 may be shown.
  • the electronic device 101 may provide a user interface for changing the color and/or effect of the keypad 415 .
  • the user interface as illustrated in FIG. 16 , the first item 1611 (eg, color preset) related to the color change of the keypad 415 and the effect of the keypad 415 (eg, the keypad) a second item 1613 capable of changing the button press effect).
  • the user interface may include an object 1610 (eg, an on/off object) for selecting a color change of the keypad 415 and/or activation/deactivation of effect application.
  • the example screen 1601 may illustrate an inactive (or off) state in which a first item 1611 related to a color change is selected and a color change is not applied. For example, it may be in a state set to be deactivated by the object 1610 .
  • the customization application 400 when the color change is in an inactive state, does not apply a color to the keypad 415 but applies a basic color and/or a gray color to the keypad 415 as shown in the illustrated example. ) of the theme (or skin) can be provided.
  • the example screen ⁇ 1603> illustrates an active (or on) state in which a color change is applied on the example screen ⁇ 1601>.
  • it may be in a state set to be activated by the object 1610 .
  • the customization application 400 may apply a color to the keypad 415 and provide it, as shown in the illustrated example.
  • the user may select a theme (or skin) 1620 of a color combination desired by the user from among the given color presets (eg, a theme of a background color-red, button color-black combination).
  • the customization application 400 may apply the theme (or skin) of the keypad 415 with a color combination corresponding to the theme (or skin) selected by the user.
  • An example of this is illustrated by keypad object 1640 of example screen ⁇ 1605>.
  • the customization application 400 provides a selection object 1630 for notifying the user that the theme 1620 is selected when a theme specified by the user (eg, the theme 1620) is selected.
  • the selection object 1630 is not limited to the illustrated example (eg, a 'V' check icon), but other objects (eg, highlight and/or external) in various ways that may notify about user selection. border) or a combination thereof.
  • a color change is applied in the example screen ⁇ 1603>, a theme 1620 is selected by the user, and an effect (eg, a keypad button press effect) is changed.
  • the user interface may include an object 1650 that can select activation/deactivation of changing the color of the keypad and/or applying an effect.
  • the object 1650 may correspond to the object 1610 .
  • the customization application 400 may apply the effect to the at least one button 1660 to the keypad object 1640 and provide it, as shown in the illustrated example.
  • the user may select a desired effect (eg, a green effect) from among the given keypad button press effects.
  • the customization application 400 may apply a color corresponding to the user's selection effect as a button press effect.
  • the button 1660 of the keypad object 1640 may represent an example to which a button press effect is applied.
  • the color of the corresponding button may be output as a color (eg, green) specified by the user, and the user selects the button (1660)
  • a button press effect may be provided to the user for every touch
  • 17A and 17B are diagrams illustrating an example of a user interface for keypad customization in an electronic device according to various embodiments of the present disclosure
  • FIGS. 17A and 17B may show an example of a user interface corresponding to FIG. 16 .
  • FIGS. 17A and 17B may show an example of providing a user interface in the electronic device 101 of a form factor different from that of the electronic device 101 of FIG. 16 .
  • the electronic device 101 has a form factor (eg, 320) including two display surfaces (eg, a first display surface and a second display surface) based on one folding axis. ) of the foldable electronic device may represent an example of providing a user interface.
  • the user interface may include a first item 1711 related to a color change of the keypad 415 and a second item that can change an effect (eg, a keypad button press effect) of the keypad 415 corresponding to FIG. 16 .
  • Item 1713 may be included.
  • the user interface may include an object 1750 for selecting a color change of the keypad 415 and/or activation/deactivation of application of an effect.
  • the user interface illustrated in FIGS. 16 and 17A and 17B may include substantially the same components, and may be expanded or reduced according to the size of the display module 160 according to the form factor. can
  • FIG. 18 is a diagram illustrating an example of a customized keypad in an electronic device according to various embodiments of the present disclosure
  • an example screen ⁇ 1801> may represent an example of an existing keypad 415 (hereinafter, referred to as a 'first keypad') that is set by default in the electronic device 101, and an example screen ⁇ 1803> is For the first keypad 415 , an example of a customized keypad (hereinafter, referred to as a 'second keypad') based on the customization application 400 may be shown.
  • a 'first keypad' an example of a customized keypad
  • buttons eg. 1810, 1820, 1830, 1840
  • the button size is changed
  • buttons 1820 and 1830 the properties of the buttons are changed
  • buttons 1840 the characters imprinted on the button are A modified example can be shown.
  • 19 and 20 are diagrams illustrating an example in which a keypad is provided according to a usage environment of an electronic device according to various embodiments of the present disclosure.
  • FIGS. 19 and 20 may show examples in which a keypad is provided based on various form factors of the electronic device 101 .
  • the electronic device 101 has a foldable form factor (eg, 320 of FIG. 3 ), a first use environment 1901 (eg, an unfolded state), and a second Examples of operating in the second use environment 1903 (eg, a flex mode state) and the third use environment 1905 (eg, a folded state) may be shown.
  • the first use environment 1901 eg, an unfolded state
  • forms two display surfaces eg, a first display surface and a second display surface
  • It can mean a state.
  • the second use environment 1903 may be configured such that two display surfaces (eg, a first display surface and a second display surface) are angled at a predetermined angle with respect to one folding axis. It may mean a state of being achieved.
  • the third use environment 1905 eg, a folded state
  • two display surfaces eg, a first display surface and a second display surface
  • 2 It may mean a state in which a third display surface disposed on a surface opposite to at least one of the display surfaces is visually exposed.
  • the electronic device 101 has a slideable (or rollable) form factor, and a fourth use environment 2001 (eg, a display close state) and An example of operating in the fifth use environment 2003 (eg, a display open state) may be shown.
  • the electronic device 101 may provide a corresponding keypad in response to each use environment (or form factor). According to an embodiment, the electronic device 101 performs an operation (or change) to the unfolding operation state 1901 , the flex operation state 1903 , and the folding operation state 1905 , based on the corresponding keypad (eg, customized An example of providing a keypad) can be shown. According to an embodiment, the electronic device 101 responds to the first use environment 1901 of the electronic device 101 (eg, a display expansion form based on unfolding), and the first keypad 1910 (eg, using both hands) A keypad customized to correspond to ) may be provided.
  • the first use environment 1901 of the electronic device 101 eg, a display expansion form based on unfolding
  • the first keypad 1910 eg, using both hands
  • a keypad customized to correspond to may be provided.
  • the electronic device 101 is customized to correspond to the second keypad 1920 (eg, flex mode) in response to the second use environment 1903 (eg, flex mode) of the electronic device 101 .
  • keypad can be provided.
  • the electronic device 101 responds to the third use environment 1905 (eg, a folding-based portrait mode use form) of the electronic device 101 and the third keypad 1930 (eg, one hand).
  • a customized keypad to correspond to use may be provided.
  • the electronic device 101 may provide a corresponding keypad in response to each use environment (or form factor).
  • the electronic device 101 may indicate an example of providing a corresponding keypad (eg, a customized keypad) based on an operation (or change) to the closed state 2001 and the open state 2003.
  • the open state (or the open state or the unfolded state) may be a state in which the display module 160 is no longer expanded by rolling (or sliding out).
  • the closed state (or closed state) may be a state in which the display module 160 is not rolled (or slid out) (or not expanded).
  • the electronic device 101 responds to the fourth use environment 2001 of the electronic device 101 (eg, a display non-expanded state based on a closed state (or a normal use environment)) of the fourth keypad ( 2010) (eg basic keypad).
  • the fourth keypad eg basic keypad
  • the state of the electronic device 101 is changed from the fourth use environment 2001 to the fifth use environment 2003 (eg, the display extended state based on the open state) of the electronic device 101
  • the state A fifth keypad 2020 eg, a keypad customized to correspond to use of an open state
  • the electronic device 101 may provide each customized keypad according to various usage environments, such as a corresponding form factor (eg, a foldable form factor or a slideable form factor) of the electronic device 101 .
  • a corresponding form factor eg, a foldable form factor or a slideable form factor
  • the electronic device 101 eg, the customization application 400
  • 21 is a flowchart illustrating a method of operating an electronic device according to various embodiments of the present disclosure
  • the operations illustrated in FIG. 21 are not limited to the illustrated order and may be performed in various orders. Also, according to various embodiments, more operations than those illustrated in FIG. 21 or at least one fewer operations may be performed.
  • the processor 120 of the electronic device 101 displays a user interface (or execution screen) of the application based on the execution of the application (eg, the custom application 400 of FIG. 4 ).
  • the user may perform a user input (eg, selecting an application icon (eg, touch)) to execute the customization application 400 for customizing the keypad (eg, the keypad 415 of FIG. 4 ).
  • the processor 120 executes the customization application 400 based on a user input and displays the display module 160 to display a user interface (or execution screen) provided by the customization application 400 . can be controlled
  • the processor 120 may acquire keypad information based on the set keypad.
  • the keypad information may include a keypad type, an input pattern (eg, typing speed), a keypad typo, and a frequently used pattern (eg, a keypad touch area, left-handed use, and/or right-handed use pattern).
  • the processor 120 monitors and collects the user's keypad usage pattern (or usage history) (eg, history information), and uses the first It can be used as keypad information.
  • the processor 120 provides a keypad through the customization application 400 , and when the user uses the keypad provided in the customization application 400 , monitoring and collection of user input using the user's keypad (eg, input information) and may be used as the second keypad information.
  • the processor 120 may acquire keypad information based on the first keypad information.
  • the processor 120 may acquire keypad information based on the second keypad information.
  • the processor 120 may acquire keypad information based on the first keypad information and the second keypad information.
  • the processor 120 may obtain user input information based on the user interface.
  • the user input information may include user customization information input based on a user interface of the customization application 400 .
  • the processor 120 may obtain customization information from a user input related to a customization setting provided through a user interface.
  • the processor 120 may determine characteristic information for the recommended keypad based on the obtained information (eg, keypad information and/or user input information).
  • the processor 120 may include an operation of determining the characteristic information based at least on keypad information and/or user input information (eg, user customization information).
  • the characteristic information is information that can configure the recommended keypad through customization of the keypad, such as, for example, the theme, skin, properties, and/or layout (eg, button size and/or spacing between buttons).
  • the processor 120 may determine, for example, characteristic information of a theme, skin, attribute, and/or layout (eg, button size and/or button spacing) of the keypad.
  • the processor 120 may map feature information.
  • the processor 120 may customize a button (or key) of an existing keypad for a recommended keypad based on characteristic information.
  • the processor 120 may generate and map a keymap for one or more buttons (or keys) of the keypad. For example, in the case of the Korean character ' ⁇ ', the processor 120 can input it with 'shift + ' on the QWERTY keypad and ' ' + ' on the short vowel keypad, so it corresponds to each You can create a key map to be mapped.
  • the processor 120 may generate and map a key map in real time when processing basic information of the keypad in a language other than Korean (eg, the first language) (eg, the N-th language).
  • the processor 120 may predict and simulate through learning the error rate in order to determine whether a newly mapped recommended keypad (eg, a customized keypad or a dynamic keypad) is actually effective.
  • learning may refer to, for example, reinforcement learning and/or deep learning.
  • the processor 120 may predict a typo rate by modeling various learning patterns and substituting a recommended keypad for modeling.
  • the processor 120 determines the amount of example sentences or example sentences that can be pressed (or touched) all buttons (or keys) in order to determine how much data the recommendation keypad has to be effective. Analysis and prediction can also be provided.
  • analytics may refer to, for example, reinforcement learning and/or deep learning based learning models.
  • the processor 120 may recommend (eg, display) a customized keypad layout (eg, a recommended keypad).
  • the processor 120 may provide a customized recommended keypad from the first layout of the existing keypad to the second layout to which the characteristic information is applied through the user interface.
  • the existing keypad may include, for example, a keypad set for use by a user in the electronic device 101 (eg, the keypad 415 of FIG.
  • the recommended keypad may include, for example, a keypad (eg, a user-customized keypad) in which a first layout of an existing keypad is customized through a user interface and added as a user keypad, and is customized according to characteristic information It can be configured based on the second layout.
  • the processor 120 may control the display module 160 to display a recommended keypad based on keypad information and/or user input information.
  • the processor 120 may customize the keypad based on the user selection. According to an embodiment, the processor 120 determines the second layout of the recommendation keypad based on user input information related to the recommendation keypad (eg, additional customization information of the user) while the recommendation keypad is displayed on the display module 160 . Additional customization can be provided.
  • the processor 120 may set the customized keypad (eg, a recommended keypad) as the default keypad of the electronic device 101 .
  • the processor 120 may change and/or set a currently set keypad to a recommended keypad based on a user input (eg, a setting completion input) using the recommendation keypad.
  • the processor 120 may determine whether to request sharing of the customized keypad (eg, recommended keypad). According to an embodiment, the processor 120 may receive a user input requesting to share the recommendation keypad with another external electronic device based on the user input.
  • the customized keypad eg, recommended keypad
  • the processor 120 may terminate the corresponding process.
  • the processor 120 may perform a keypad sharing operation based on characteristic information of the customized keypad. For example, the processor 120 may provide (or transmit) characteristic information constituting the recommendation keypad to an external electronic device through a specified file format and a specified communication method, based on a user input for sharing the recommendation keypad. .
  • FIGS. 22A, 22B, 22C, and 22D an example of sharing a recommendation keypad is shown in FIGS. 22A, 22B, 22C, and 22D.
  • 22A, 22B, 22C, and 22D are diagrams illustrating an operation example of sharing a keypad in an electronic device according to various embodiments of the present disclosure
  • FIGS. 22A, 22B, 22C, and 22D may illustrate examples of a keypad sharing operation based on mapped feature information.
  • the electronic device 101 may perform a keypad sharing operation with at least one external device based on the mapped characteristic information.
  • the customization application 400 may share the keypad with an external electronic device in various sharing methods as illustrated in FIGS. 22A, 22B, 22C, and 22D .
  • FIGS. 22A and 22B may illustrate an example of sharing a keypad between electronic devices of different form factors (eg, resolution and/or screen size).
  • FIG. 22A may show an example of sharing a recommendation keypad optimized for a large screen of the electronic device 101 to the external electronic device 2201 having a small screen.
  • OOB out of band
  • the electronic device 101 when the electronic device 101 shares the recommended keypad with the external electronic device 2201 , the electronic device 101 corrects characteristic information of the recommended keypad based on the keypad (or form factor information) of the external electronic device 2201 . Thus, it can be provided to the external electronic device 2201 .
  • the electronic device 101 may receive a keypad (or form factor information) of the external electronic device 2201 .
  • the external electronic device 2201 receives the received feature information from the electronic device 101 based on the keypad information of the external electronic device 2201 in a custom application of the external electronic device 2201 . Characteristic information may be corrected.
  • the keypad sharing operation of FIG. 22A may be shared from the external electronic device 2201 to the electronic device 101 .
  • FIG. 22B may show an example of sharing a recommendation keypad optimized for a small screen of the electronic device 101 to the external electronic device 2203 with a large screen.
  • the electronic device 101 transmits characteristic information of a keypad customized to correspond to keypad information according to the form factor of the electronic device 101 (eg, a recommended keypad tailored to a small screen) for specified communication (eg, OOB communication). ) to share with the external electronic device 2203 .
  • the electronic device 101 when the electronic device 101 shares the recommended keypad with the external electronic device 2203 , the electronic device 101 corrects characteristic information of the recommended keypad based on the keypad (or form factor information) of the external electronic device 2203 .
  • the electronic device 101 may receive a keypad (or form factor information) of the external electronic device 2203 .
  • the external electronic device 2203 receives the received feature information from the electronic device 101 based on the keypad information of the external electronic device 2203 in the customization application of the external electronic device 2203 . Characteristic information may be corrected. According to an embodiment, the keypad sharing operation of FIG. 22B may be shared from the external electronic device 2203 to the electronic device 101 .
  • FIG. 22C may show an example of sharing a keypad between different types of electronic devices.
  • FIG. 22C may show an example of sharing a keypad between the electronic device 101 and a heterogeneous electronic device such as the wearable device 2205 .
  • the electronic device 101 shares characteristic information of a keypad customized to correspond to keypad information according to the form factor of the electronic device 101 with the wearable device 2205 in a designated communication (eg, OOB communication) method. can do.
  • the electronic device 101 when sharing the recommendation keypad with the wearable device 2205 , the electronic device 101 corrects feature information of the recommendation keypad based on the keypad (or form factor information) of the wearable device 2205 to make the wearable device 101 .
  • the electronic device 101 may receive a keypad (or form factor information) of the wearable device 2205 .
  • the wearable device 2205 in the case of the wearable device 2205, it may not be easy to customize the keypad due to restrictions on the size of the form factor and/or the size of the screen. Accordingly, the user creates a keypad to be used in the wearable device 2205 using the electronic device 101 based on the interaction between the electronic device 101 and the wearable device 2205 , and uses the generated keypad with the wearable device 2205 . can be shared with According to an embodiment, the wearable device 2205 may provide a keypad of the wearable device 2205 based on the reception of the feature information from the electronic device 101 .
  • FIG. 22D may show an example in which the electronic device 101 and the external electronic device 2207 share a recommendation keypad in a communication method other than OOB communication.
  • the electronic device 101 may provide feature information corresponding to the recommendation keypad as a QR code.
  • the electronic device 101 may share characteristic information of the QR code with the external electronic device 2207 based on interaction with the external electronic device 2207 (eg, a QR code transmission/reception operation).
  • the external electronic device 2207 receives the received feature information from the electronic device 101 based on the keypad information of the external electronic device 2207 in the customization application of the external electronic device 2207 . Characteristic information can be corrected.
  • 23A, 23B, and 24 are diagrams illustrating an example of operating a keypad in an electronic device according to various embodiments of the present disclosure
  • FIGS. 23A and 23B an example of providing a keypad according to an interaction between the electronic device 101 and the electronic pen 2340 (or a digital pen) (eg, a stylus pen) may be illustrated in FIGS. 23A and 23B .
  • FIG. 24 may show an example of operation of the keypad according to the interaction between the electronic device 101 and the electronic pen 2340 .
  • the electronic device 101 may change the keypad based on an event (eg, hover) of the electronic pen 2340 .
  • the electronic device 101 displays the keypad 2310 (eg, a keypad customized to correspond to both hands mode according to the unfolded state) in the unfolded state to the display module 160 .
  • the keypad 2310 may be changed to the keypad 2320 customized to correspond to the one-handed mode (eg, the left one-handed mode), and provided to be biased toward one side (eg, the left side) of the display module 160 .
  • the electronic device 101 has the electronic pen 2340 in a region (eg, the other side opposite to one side) that is symmetrical (or opposite) to the region (eg, one side) where the keypad 2320 is disposed.
  • a pad area 2330 for example, when the electronic device 101 detects a hover event (or proximity event) of the electronic pen 2340 while displaying the keypad 2310 , in the two-handed mode, the one-handed mode and the electronic pen 2340 . It can be provided by changing to the input mode.
  • a keypad customized in advance to correspond to the one-handed mode according to keypad information and/or user input information can be provided to minimize the user's erroneous input.
  • the operation method performed by the electronic device 101 includes an operation of displaying a user interface based on execution of an application, keypad information from a user input related to a first keypad of the user interface, and/or an operation of acquiring user input information, an operation of determining characteristic information for a second keypad based on the acquired information, an operation of configuring the second keypad based on the characteristic information, and an operation of setting the second keypad to the user It may include an operation of displaying through an interface.
  • the keypad information includes a keypad type, an input pattern, a keypad typo, and a frequently used pattern
  • the user input information includes user customization information input based on the user interface.
  • the information on the keypad is based at least on the history information on the use of the first keypad by the user and/or input information on the user input using the keypad provided through the user interface. can be obtained.
  • the characteristic information may include information related to a theme, skin, attribute, and/or layout related to customization of the keypad.
  • the displaying may include providing the second keypad in which the first layout of the first keypad is customized to a second layout based on the characteristic information through the user interface.
  • the second keypad is set to another external electronic device. It may include an action shared with the device.
  • the sharing may include sharing characteristic information constituting the second keypad with the external electronic device through a specified file format and a specified communication method.
  • the first keypad includes an existing keypad set based on a first layout to be used by a user in the electronic device 101, and the second keypad includes the first keypad through the user interface.
  • the first layout of the first keypad may include a keypad that is customized to the second layout and added as a user keypad.

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

전자 장치 및 전자 장치의 키패드 운영 방법
본 개시의 다양한 실시예들은 전자 장치의 입력 장치(예: 키패드(keypad) 또는 키보드(keyboard))를 커스터마이즈(customize)할 수 있는 전자 장치 및 이의 운영 방법에 관하여 개시한다.
디지털 기술의 발달과 함께 이동통신 단말기, PDA(personal digital assistant), 전자수첩, 스마트 폰(smart phone), 태블릿 PC(personal computer), 및/또는 웨어러블 장치(wearable device)와 같은 다양한 유형의 전자 장치가 널리 사용되고 있다. 이러한, 전자 장치는 기능 지지 및 증대를 위해, 전자 장치의 하드웨어적인 부분 및/또는 소프트웨어적인 부분이 지속적으로 개량되고 있다.
전자 장치는 사용자의 입력을 지원하기 위한 다양한 종류의 입력 장치(예: 키패드(keypad) 또는 키보드(keyboard))를 제공하도록 구현하고 있다. 예를 들면, 전자 장치에 설정되는 키패드는 전자 장치의 동작에 필요한 다양한 입력 신호를 생성할 수 있다. 일 실시예에 따라, 키패드는 전자 장치의 디스플레이를 통해 표시될 수 있고, 디스플레이의 터치 회로에 기반하여 키패드의 지정된 위치에 대한 터치 입력 및/또는 호버링 입력(또는 근접 입력)을 제공할 수 있다. 일 실시예에 따르면, 키패드는 3*4 키 맵, 5*4 키 맵, 쿼티 키 맵, 및/또는 드보락 키 맵과 같은 다양한 키 맵 중 적어도 하나를 포함하는 입력 모듈의 형태로 제공될 수 있다.
전자 장치에 설정되는 키패드의 경우, 키패드의 개별적 특성이 없이 모두 엇비슷하게(예: 천편일률적)으로 제공되고 있으며, 사용자 별 키패드의 사용 특성을 반영하지 못하고 있다. 예를 들면, 기존 키패드의 경우, 키패드 마다 정해진 레이아웃을 가질 수 있으며, 사용자의 레이아웃 변경(예: 버튼 위치, 버튼 속성, 버튼 크기, 버튼 기능, 및/또는 버튼 배열과 같은 레이아웃 변경)을 지원하지 않으며, 사용자의 키패드 사용 특성에 보다 적합한 사용자 맞춤형 키패드 구성을 지원하지 않고 있다.
다양한 실시예들에서는, 전자 장치의 키패드를 사용자의 사용 환경에 따라 커스터마이즈(customize) 할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에 기본 설정된 키패드(또는 키보드)의 레이아웃, 색상 및/또는 이펙트를 커스터마이즈 할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 사용자 정의에 따른 새로운 레이아웃의 키패드를 제공할 수 있는 방법 및 장치에 관하여 개시한다.
다양한 실시예들에서는, 전자 장치에서 사용자의 키패드 사용에 대응하여 사용자 패턴을 학습하고, 사용자 패턴과 사용자 설정의 적어도 하나에 기반하여 사용자 맞춤형 레이아웃을 갖는 키패드를 제공할 수 있는 방법 및 장치에 관하여 개시한다.
본 개시의 실시예에 따른 전자 장치는, 디스플레이, 프로세서, 및 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 어플리케이션 실행에 기반하여 사용자 인터페이스(UI, user interface)를 표시하고, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 또는 사용자 입력 정보 중 적어도 하나를 획득하고, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장할 수 있다.
본 개시의 실시예에 따른 전자 장치의 동작 방법은, 어플리케이션 실행에 기반하여 사용자 인터페이스(UI, user interface)를 표시하는 동작, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 또는 사용자 입력 정보 중 적어도 하나를 획득하는 동작, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 포함할 수 있다.
본 개시의 실시예에 따른 디스플레이 모듈을 포함하는 전자 장치의 프로세서에 의해 실행 시, 상기 프로세서가 동작들을 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체에 있어서, 어플리케이션 실행에 기반하여 사용자 인터페이스(UI, user interface)를 표시하는 동작, 상기 사용자 인터페이스의 제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)는, 디스플레이 모듈(160), 상기 디스플레이 모듈(160)과 작동적으로 연결된 프로세서(120), 및 상기 프로세서(120)와 작동적으로 연결된 메모리(130)를 포함하고, 상기 메모리(130)는, 실행 시에, 상기 프로세서(120)가, 어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하고, 상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 및/또는 사용자 입력 정보를 획득하고, 상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고, 상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및 상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 키패드 정보는, 키패드 종류, 입력 패턴, 키패드 오탈자, 자주 사용하는 패턴을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 키패드는 정보는, 사용자의 상기 제1 키패드의 사용에 대한 이력 정보 및/또는 상기 사용자 인터페이스를 통해 제공된 키패드를 이용한 사용자 입력에 대한 입력 정보에 적어도 기반하여 획득될 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 사용자 입력 정보는 상기 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 상기 이력 정보 및/또는 입력 정보에 기반하여 커스터마이즈된 레이아웃의 키패드를 생성하고, 상기 생성된 키패드에 관련된 사용자 입력 정보에 기반하여 상기 제2 키패드를 구성하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 특징 정보는 키패드의 커스터마이즈에 관련된 테마, 스킨, 속성, 및/또는 레이아웃에 관련된 정보를 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 키패드 별 키 맵(keymap)을 매핑하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 상기 제1 키패드의 제1 레이아웃이 상기 특징 정보에 기반하여 제2 레이아웃으로 커스터마이즈된 상기 제2 키패드를 상기 사용자 인터페이스를 통해 제공하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 상기 제2 키패드를 상기 전자 장치(101)의 기본 키패드로 설정하도록 하고, 상기 제2 키패드의 공유 요청하는 사용자 입력에 기반하여 상기 제2 키패드를 다른 외부 전자 장치와 공유하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 인스트럭션들은, 상기 프로세서(120)가, 상기 제2 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 상기 외부 전자 장치와 공유하도록 할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 제1 키패드는 상기 전자 장치(101)에서 사용자가 사용하도록 제1 레이아웃 기반으로 설정된 기존 키패드를 포함하고, 상기 제2 키패드는 상기 사용자 인터페이스를 통해 상기 제1 키패드의 제1 레이아웃이 제2 레이아웃으로 커스터마이즈되어 사용자 키패드로 추가되는 키패드를 포함할 수 있다.
본 개시의 다양한 실시예들에 따른 디스플레이 모듈(160)을 포함하는 전자 장치(101)의 프로세서(120)에 의해 실행 시, 상기 프로세서(120)가 동작들을 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인(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)을 포함할 수 있다.
다시 도 5를 참조하면, 동작 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)(예: theme park)을 더 포함할 수 있다. 일 실시예에 따른 테마 어플리케이션(700)은 테마 어플리케이션(700)을 통해 키패드 리소스 관리(또는 적용)를 위한 키패드 리소스 관리 모듈(770)(예: TKRM, theme park 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)가 표시되고, 숨겨진 다른 키패드 객체로 전환하여 표시하는 스크롤(또는 슬라이드)(예: 좌우 스크롤) 방식으로 선택 가능하도록 제공할 수 있다. 일 실시예에 따라, 전자 장치(101)는 복수의 키패드 객체(830)의 스크롤 가능함을 지시하는 가이드 객체(835)(또는 스크롤 객체)를 제공할 수 있다. 예를 들면, 각각의 가이드 객체(835)는 복수의 키패드 객체(830)에 대응하여 매핑될 수 있고, 일 대 일 형태로 제공될 수 있다. 일 실시예에 따르면, 전자 장치(101)는 사용자의 지정된 입력(예: 좌 방향 또는 우 방향의 swipe)에 기반하여, 현재 표시된 키패드 객체(835)를 슬라이드-아웃 하고 숨겨진 다른 키패드 객체 슬라이드-인 하여 표시하도록 할 수 있다.
일 실시예에서, 도 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)에 버튼의 속성을 아이콘(또는 이모티콘)으로 변경하기 위한 아이콘 템플릿(900)이 제공된 예를 나타낼 수 있다. 일 실시예에 따르면, 템플릿 영역(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)의 각 버튼 별 중심 좌표(1250)(예: 중심 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)은 예문(1300)(예: ‘동해물과 백두산이 마르고 닳도록’)의 문자 “백”(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)의 색상 변경 및/또는 이펙트 적용의 활성화/비활성화를 선택할 수 있는 객체(1750)를 포함할 수 있다. 일 실시예에 따라, 도 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의 '아니오'), 해당 프로세스를 종료할 수 있다.
동작 2117에서, 프로세서(120)는 공유 요청이 감지되는 경우(예: 동작 2117의 '예'), 동작 2119에서, 커스터마이즈된 키패드의 특징 정보 기반 키패드 공유 동작을 수행할 수 있다. 예를 들면, 프로세서(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 키패드를 상기 전자 장치(101)의 기본 키패드로 설정하는 동작, 상기 제2 키패드의 공유 요청하는 사용자 입력에 기반하여 상기 제2 키패드를 다른 외부 전자 장치와 공유하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 공유하는 동작은, 상기 제2 키패드를 구성하는 특징 정보를 지정된 파일 형식 및 지정된 통신 방식을 통해 상기 외부 전자 장치와 공유하는 동작을 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 제1 키패드는 상기 전자 장치(101)에서 사용자가 사용하도록 제1 레이아웃 기반으로 설정된 기존 키패드를 포함하고, 상기 제2 키패드는 상기 사용자 인터페이스를 통해 상기 제1 키패드의 제1 레이아웃이 제2 레이아웃으로 커스터마이즈되어 사용자 키패드로 추가되는 키패드를 포함할 수 있다.
본 명세서와 도면에 개시된 본 개시의 다양한 실시예들은 본 개시의 기술 내용을 쉽게 설명하고 본 개시의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 개시의 범위를 한정하고자 하는 것은 아니다. 따라서 본 개시의 범위는 여기에 개시된 실시예들 이외에도 본 개시의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 전자 장치에 있어서,
    디스플레이;
    프로세서; 및
    메모리를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하고,
    상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 또는 사용자 입력 정보 중 적어도 하나를 획득하고,
    상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하고,
    상기 특징 정보에 기반하여 상기 제2 키패드를 구성하고, 및
    상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하도록 하는 인스트럭션들을 저장하는 전자 장치.
  2. 제1항에 있어서,
    상기 키패드 정보는, 키패드 종류, 입력 패턴, 키패드 오탈자, 또는 자주 사용하는 패턴 중 적어도 하나를 포함하는 전자 장치.
  3. 제2항에 있어서,
    상기 키패드는 정보는, 사용자의 상기 제1 키패드의 사용에 대한 이력 정보 또는 상기 사용자 인터페이스를 통해 제공된 키패드를 이용한 사용자 입력에 대한 입력 정보 중 적어도 하나에 기반하여 획득되는 전자 장치.
  4. 제1항에 있어서,
    상기 사용자 입력 정보는 상기 사용자 인터페이스에 기반하여 입력되는 사용자의 커스터마이즈 정보를 포함하는 전자 장치.
  5. 제3항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    상기 이력 정보 또는 입력 정보 중 적어도 하나에 기반하여 커스터마이즈된 레이아웃의 키패드를 생성하고,
    상기 생성된 키패드에 관련된 사용자 입력 정보에 기반하여 상기 제2 키패드를 구성하도록 하는 전자 장치.
  6. 제1항에 있어서,
    상기 특징 정보는 키패드의 커스터마이즈에 관련된 테마, 스킨, 속성, 또는 레이아웃 중 적어도 하나에 관련된 정보를 포함하는 전자 장치.
  7. 제1항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    키패드 별 키 맵(keymap)을 매핑하도록 하는 전자 장치.
  8. 제1항에 있어서, 상기 인스트럭션들은, 상기 프로세서가,
    상기 제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. 디스플레이를 포함하는 전자 장치의 프로세서에 의해 실행 시, 상기 프로세서가 동작들을 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    어플리케이션 실행에 기반하여 사용자 인터페이스를 표시하는 동작;
    상기 사용자 인터페이스의 제1 키패드에 관련된 사용자 입력으로부터 키패드 정보 또는 사용자 입력 정보 중 적어도 하나를 획득하는 동작;
    상기 획득된 정보에 기반하여 제2 키패드를 위한 특징 정보를 결정하는 동작;
    상기 특징 정보에 기반하여 상기 제2 키패드를 구성하는 동작; 및
    상기 제2 키패드를 상기 사용자 인터페이스를 통해 표시하는 동작을 프로세서에서 실행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체.
PCT/KR2021/014345 2020-10-15 2021-10-15 전자 장치 및 전자 장치의 키패드 운영 방법 WO2022080939A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
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
US17/517,183 US12008233B2 (en) 2020-10-15 2021-11-02 Electronic device and method for generating a user-customized keypad based on usage characteristics

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/517,183 Continuation US12008233B2 (en) 2020-10-15 2021-11-02 Electronic device and method for generating a user-customized keypad based on usage characteristics

Publications (1)

Publication Number Publication Date
WO2022080939A1 true WO2022080939A1 (ko) 2022-04-21

Family

ID=81207463

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/014345 WO2022080939A1 (ko) 2020-10-15 2021-10-15 전자 장치 및 전자 장치의 키패드 운영 방법

Country Status (2)

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

Citations (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 삼성전자주식회사 터치 영역 설정 방법 및 그 전자 장치
US20160188203A1 (en) * 2013-08-05 2016-06-30 Zte Corporation Device and Method for Adaptively Adjusting Layout of Touch Input Panel, and Mobile Terminal
KR101700516B1 (ko) * 2015-07-06 2017-01-26 엘지전자 주식회사 숙련도에 따른 이동 단말기 제어 방법

Patent Citations (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 삼성전자주식회사 터치 영역 설정 방법 및 그 전자 장치
US20160188203A1 (en) * 2013-08-05 2016-06-30 Zte Corporation Device and Method for Adaptively Adjusting Layout of Touch Input Panel, and Mobile Terminal
KR101700516B1 (ko) * 2015-07-06 2017-01-26 엘지전자 주식회사 숙련도에 따른 이동 단말기 제어 방법

Also Published As

Publication number Publication date
KR20220049694A (ko) 2022-04-22

Similar Documents

Publication Publication Date Title
WO2022031051A1 (ko) 캡쳐 기능 제공 방법 및 그 전자 장치
WO2022010116A1 (ko) 디스플레이 화면 재생률 제어 방법 및 장치
WO2021066468A1 (en) Electronic device and control method thereof
WO2020180034A1 (ko) 사용자 선택 기반의 정보를 제공하는 방법 및 장치
WO2022055255A1 (ko) 사용자 인터페이스를 제공하는 전자 장치 및 그 방법
WO2022103174A1 (ko) 표시 영역이 가변되는 디스플레이를 포함하는 전자 장치 및 앱 아이콘을 이용하여 화면 비율을 가변적으로 운용하는 방법
WO2022030776A1 (ko) 전자 장치에서 손 글씨 입력 제공 방법 및 장치
WO2022065924A1 (ko) 전자 장치의 이모지 추천 방법 및 그 전자 장치
WO2022154423A1 (ko) 전자 장치 및 전자 장치에서 스타일러스 펜의 입력을 처리하는 방법
WO2022030955A1 (ko) 홈 화면을 복원하는 방법 및 이를 적용한 전자 장치
WO2022149954A1 (ko) 플렉서블 디스플레이를 갖는 전자 장치 및 그의 모드 변경에 따른 제어 패널 제공 방법
WO2022080939A1 (ko) 전자 장치 및 전자 장치의 키패드 운영 방법
WO2022108379A1 (ko) 확장 가능한 디스플레이를 포함하는 전자 장치 및 컨텐츠 제공 방법
WO2022080990A1 (ko) 전자 장치 및 그의 형태에 기초한 기능 제어 방법
WO2022025400A1 (ko) 전자 펜과 연동된 화면 분할 제공 방법 및 이를 이용한 폴더블 전자 장치
WO2022010279A1 (en) Electronic device for converting handwriting to text and method therefor
WO2020171549A1 (en) Apparatus for searching for content using image and method of controlling same
WO2018225974A1 (ko) 터치의 압력에 응답하여 지정된 동작을 수행하는 전자 장치 및 방법
WO2024080584A1 (ko) 전자 장치 및 이의 포스 터치 동작 개선 방법
WO2022103035A1 (ko) 플렉서블 디스플레이를 갖는 웨어러블 장치 및 그의 상태 변경에 따른 운영 방법
WO2022154635A1 (ko) 폴더블 디스플레이를 포함하는 전자 장치 및 그 제어 방법
WO2022119117A1 (ko) 플렉서블 디스플레이를 구비한 전자 장치 및 그의 동작 방법
WO2022097922A1 (ko) 플렉서블 디스플레이를 포함하는 전자 장치 및 그의 제어 방법
WO2022114495A1 (ko) 플렉서블 디스플레이의 사용자 인터페이스 제어 방법 및 장치
WO2023167418A1 (ko) 플렉서블 디스플레이를 포함하는 전자 장치 및 상기 전자 장치의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21880586

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021880586

Country of ref document: EP

Effective date: 20230202

NENP Non-entry into the national phase

Ref country code: DE