KR20230109050A - Method for processing a touch input and an electronic device thereof - Google Patents

Method for processing a touch input and an electronic device thereof Download PDF

Info

Publication number
KR20230109050A
KR20230109050A KR1020220032803A KR20220032803A KR20230109050A KR 20230109050 A KR20230109050 A KR 20230109050A KR 1020220032803 A KR1020220032803 A KR 1020220032803A KR 20220032803 A KR20220032803 A KR 20220032803A KR 20230109050 A KR20230109050 A KR 20230109050A
Authority
KR
South Korea
Prior art keywords
touch
scroll
scrolling
electronic device
screen
Prior art date
Application number
KR1020220032803A
Other languages
Korean (ko)
Inventor
엄준봉
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2022/017946 priority Critical patent/WO2023136443A1/en
Priority to US18/120,925 priority patent/US20230221853A1/en
Publication of KR20230109050A publication Critical patent/KR20230109050A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • 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/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/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text

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

본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 디스플레이 모듈, 상기 디스플레이 모듈과 작동적으로 연결된 적어도 하나의 프로세서, 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 터치 이벤트를 감지함에 응답하여 스크롤 수행 기준이 되는 터치 슬롭을 설정하고, 상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하고, 상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면 상기 디스플레이 모듈에 표시된 제1 화면에 대한 스크롤을 개시하도록 제어하고, 상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하고, 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여 상기 제1 화면에 대한 스크롤의 상태를 제어하도록 하는 인스트럭션들을 저장할 수 있다. 이 외에도 본 문서를 통해 파악되는 다양한 실시 예들이 가능하다.An electronic device according to an embodiment disclosed in this document includes a display module, at least one processor operatively connected to the display module, and a memory operatively connected to the at least one processor, the memory comprising: Upon execution, the at least one processor sets a touch slope that is a scroll performance criterion in response to detecting a first touch event, and touches corresponding to a current touch point at each specified time while the first touch event is maintained. information is acquired, and if it is confirmed that the touch movement distance exceeds the touch slope based on the acquired touch information, control is initiated to scroll the first screen displayed on the display module, and acquisition while the scroll is being performed. Based on the received touch information, scroll data including at least one of a movement speed, a movement distance, or a deceleration of the first touch event is checked, and based on the scroll data, it is determined whether or not the scroll ends, and the first touch event is determined. You can store instructions that allow you to control the state of scrolling on the screen. In addition to this, various embodiments identified through this document are possible.

Description

터치 입력을 처리하는 방법 및 그 전자 장치{METHOD FOR PROCESSING A TOUCH INPUT AND AN ELECTRONIC DEVICE THEREOF}Method for processing touch input and electronic device thereof

본 문서에 개시되는 다양한 실시 예들은 전자 장치에 입력된 터치 이벤트를 처리하는 방법 및 장치에 관한 것이다.Various embodiments disclosed in this document relate to a method and apparatus for processing a touch event input to an electronic device.

정보통신 기술이 발전함에 따라, 스마트폰이나 태블릿 PC와 같은 모바일 전자 장치의 사용이 보편화되고 있다. 이러한 전자 장치는 휴대가 용이하고, 통화 기능을 비롯하여 정보 입출력 기능 및 데이터 저장 기능과 같이 여러가지 유용한 기능들을 사용자에게 제공할 수 있다. 전자 장치의 기능이 다양해지면서 디스플레이를 통해 제공하는 정보들은 점차 증가하고 있다. 반면에, 휴대 용이성을 위해 전자 장치에 구비되는 디스플레이의 크기가 제한될 수 있으며, 이로 인해 사용자는 터치 입력을 이용한 스크롤을 통해 화면을 이동시켜 디스플레이에 표시되지 않은 정보를 확인할 수 있다.As information and communication technology develops, the use of mobile electronic devices such as smart phones and tablet PCs is becoming more common. These electronic devices are easy to carry and can provide users with various useful functions such as a call function, an information input/output function, and a data storage function. As functions of electronic devices diversify, information provided through a display is gradually increasing. On the other hand, for ease of portability, the size of the display provided in the electronic device may be limited, and as a result, the user may check information not displayed on the display by moving the screen through scrolling using a touch input.

일반적으로 전자 장치에서 사용자의 터치 입력에 대응하여 화면 스크롤의 시작을 판단하기 위해서는, 터치 입력이 발생한 지점을 기준으로 지정된 범위(예: 터치 슬롭(touch slope))를 벗어나는지 측정할 수 있다. 터치 슬롭을 크게 설정할 경우, 스크롤 초기 반응이 느려질 수 있다. 반대로, 터치 슬롭을 작게 설정하면, 전자 장치는 사용자가 선택을 의도한 터치 입력을 스크롤 입력으로 인식하여 오동작할 수 있다. 사용자의 터치 입력이 한번 터치 슬롭을 벗어난 이후에는, 터치 입력의 세기나 방향에 관계없이 지속적으로 스크롤이 수행될 수 있다. 이를 개선하기 위해, 스크롤 기능과 관련된 터치 정보를 보정하는 다양한 방식들이 제안되었으나, 스크롤 시작 전 스크롤 수행 여부를 판단하는 기술을 주로 다루는 데 불과하다. 또한, 전자 장치가 스크롤 기능을 제공함에 있어, 스크롤 수행 중 사용자의 의도를 예측할 수 있는 정보가 부족하여, 사용자의 기대에 부합하는 반응 속도를 구현하는 데 한계가 있을 수 있다.In general, in order to determine the start of screen scrolling in response to a user's touch input in an electronic device, it is possible to measure whether or not a touch input is out of a designated range (eg, a touch slope) based on a point where the touch input occurs. If the touch slope is set high, the initial scroll response may be slow. Conversely, if the touch slope is set small, the electronic device may misbehave by recognizing the touch input intended for selection by the user as a scroll input. After the user's touch input deviates from the touch slope once, scrolling may be continuously performed regardless of the strength or direction of the touch input. In order to improve this, various methods for correcting touch information related to a scroll function have been proposed, but only a technique for determining whether scrolling is performed before starting scrolling is mainly dealt with. In addition, when an electronic device provides a scroll function, there is a lack of information capable of predicting a user's intention during scrolling, so there may be limitations in realizing a response speed that meets the user's expectations.

이에 따라 본 문서의 다양한 실시 예들에서는, 전자 장치에서 감지되는 사용자의 터치 입력을 기반으로 사용자의 의도를 미리 판단하여 사용자가 의도하지 않은 동작은 수행하지 않도록 처리함으로써, 불필요한 소모 전류의 발생을 줄이고 사용자의 의도대로 화면 스크롤 동작을 제어하는 다양한 실시 예들을 제공할 수 있다.Accordingly, in various embodiments of the present document, the user's intention is determined in advance based on the user's touch input detected by the electronic device, and the user's unintended operation is not performed, thereby reducing unnecessary current consumption and reducing the user's intention. As intended, various embodiments of controlling a screen scrolling operation may be provided.

본 문서에 개시되는 실시 예들에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved in the embodiments disclosed in this document is not limited to the above-mentioned technical problem, and other technical problems not mentioned above are to those of ordinary skill in the art to which the present invention belongs from the description below. will be clearly understood.

본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 디스플레이 모듈, 상기 디스플레이 모듈과 작동적으로 연결된 적어도 하나의 프로세서, 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 터치 이벤트를 감지함에 응답하여, 스크롤 수행 기준이 되는 터치 슬롭(touch slop)을 설정하고, 상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하고, 상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 상기 디스플레이 모듈에 표시된 제1 화면에 대한 스크롤을 개시하도록 제어하고, 상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하고, 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여, 상기 제1 화면에 대한 스크롤의 상태를 제어하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device according to an embodiment disclosed in this document includes a display module, at least one processor operatively connected to the display module, and a memory operatively connected to the at least one processor, the memory comprising: Upon execution, the at least one processor, in response to detecting a first touch event, sets a touch slop that is a criterion for performing a scroll, and controls the current touch every specified time while the first touch event is maintained. Touch information corresponding to a point is acquired, and if it is confirmed that the touch movement distance exceeds the touch slope based on the acquired touch information, control is initiated to scroll the first screen displayed on the display module; Scroll data including at least one of a movement speed, a movement distance, or a deceleration of the first touch event is checked based on the touch information obtained while scrolling is performed, and whether or not the scroll is terminated based on the scroll data , it is possible to store instructions for controlling the state of scrolling on the first screen.

본 문서에 개시되는 일 실시 예에 따른 전자 장치의 동작 방법은, 제1 터치 이벤트를 감지함에 응답하여, 스크롤 수행 기준이 되는 터치 슬롭(touch slop)을 설정하는 동작, 상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하는 동작, 상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 디스플레이 모듈에 표시된 제1 화면에 대한 스크롤을 개시하는 동작, 상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하는 동작, 및 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작을 포함할 수 있다.An operating method of an electronic device according to an embodiment disclosed in this document includes, in response to detecting a first touch event, an operation of setting a touch slop that is a scroll performance criterion, and maintaining the first touch event. obtaining touch information corresponding to the current touch point at each specified time while the screen is being touched, and if it is confirmed that the touch movement distance exceeds the touch slope based on the acquired touch information, scrolling of the first screen displayed on the display module checking scroll data including at least one of a movement speed, a movement distance, or a deceleration of the first touch event based on the touch information obtained while the scroll is being performed; and the scroll data An operation of controlling a state of scrolling on the first screen by determining whether or not the scrolling is terminated based on .

본 문서에 개시된 다양한 실시 예들에 따르면, 터치 이벤트를 기반으로 스크롤 기능 제공 중 사용자의 의도를 미리 예측하여 불필요한 터치 이벤트의 처리를 방지하고, 프로세서의 성능을 향상시킬 수 있다. 또한, 본 문서에 개시된 다양한 실시 예들에 따르면, 터치 이벤트가 감지된 지점의 콘텐트 속성과 사용자의 터치 패턴 학습을 통해 스크롤 기능에 대한 반응성을 개선하여, 보다 향상된 사용자 경험과 편의성을 제공할 수 있다. According to various embodiments disclosed in this document, it is possible to prevent processing of unnecessary touch events and improve processor performance by predicting a user's intention while providing a scroll function based on a touch event in advance. In addition, according to various embodiments disclosed in this document, a more improved user experience and convenience may be provided by improving responsiveness to a scroll function through learning the content property of a point where a touch event is detected and a user's touch pattern.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition to this, various effects identified directly or indirectly through this document may be provided.

도 1은 일 실시 예에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시 예에 따라 터치 이동거리에 기반한 스크롤 처리 방식에 대해 설명하는 도면이다.
도 3은 일 실시 예에 따른 전자 장치의 구성을 설명하는 도면이다.
도 4는 일 실시 예에 따른 전자 장치의 세부 구성을 설명하는 도면이다.
도 5는 일 실시 예에 따라, 전자 장치에 입력된 터치 이벤트에 대응하여 스크롤 상태를 제어하는 방식을 설명하는 도면이다.
도 6은 일 실시 예에 따라, 터치 이벤트가 유지되는 동안 사용자의 스크롤 종료 의도를 판단하는 방식을 설명하는 도면이다.
도 7은 일 실시 예에 따라, 스크롤 종료 의도가 감지되는 경우 애니메이션 효과를 비활성화하는 방식을 설명하는 도면이다.
도 8a 및 도 8b는 일 실시 예에 따라, 터치 이벤트의 터치다운 지점을 기반으로 스크롤을 처리하는 방식을 설명하는 도면이다.
도 9는 일 실시 예에 따라, 스크롤 영역에서 감지된 터치 정보를 처리하는 방식을 설명하는 도면이다.
도 10a 및 도 10b는 일 실시 예에 따라, 사용자의 터치 패턴을 고려하여 스크롤을 처리하는 방식을 설명하는 도면이다.
도 11은 일 실시 예에 따른, 전자 장치의 동작 방법을 도시하는 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
1 is a block diagram of an electronic device in a network environment according to an embodiment.
2 is a diagram illustrating a scroll processing method based on a touch movement distance according to an exemplary embodiment.
3 is a diagram illustrating a configuration of an electronic device according to an exemplary embodiment.
4 is a diagram illustrating a detailed configuration of an electronic device according to an exemplary embodiment.
5 is a diagram for explaining a method of controlling a scroll state in response to a touch event input to an electronic device, according to an exemplary embodiment.
6 is a diagram for explaining a method of determining a user's scroll end intention while a touch event is maintained, according to an exemplary embodiment.
7 is a diagram for explaining a method of inactivating an animation effect when an intention to end a scroll is detected, according to an exemplary embodiment.
8A and 8B are diagrams illustrating a method of processing a scroll based on a touchdown point of a touch event, according to an exemplary embodiment.
9 is a diagram for explaining a method of processing touch information detected in a scroll area, according to an exemplary embodiment.
10A and 10B are diagrams illustrating a method of processing a scroll in consideration of a user's touch pattern, according to an exemplary embodiment.
11 is a flowchart illustrating a method of operating an electronic device according to an embodiment.
In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar elements.

이하, 첨부된 도면을 참조하여 본 문서에 개시된 다양한 실시 예들이 설명된다. 이는 본 발명의 다양한 실시 예들을 특정한 형태로 한정하려는 것이 아니며, 본 발명의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.Hereinafter, various embodiments disclosed in this document will be described with reference to the accompanying drawings. This is not intended to limit the various embodiments of the present invention to a specific form, but should be understood to include various modifications, equivalents, and/or alternatives of the present invention.

도 1은 일 실시 예에 따른 네트워크 환경(100) 내의 전자 장치를 도시한 도면이다.1 is a diagram illustrating an electronic device within a network environment 100 according to an embodiment.

도 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))로 통합될 수 있다.Referring to FIG. 1 , in a network environment 100, an electronic device 101 communicates with an electronic device 102 through a first network 198 (eg, a short-range wireless communication network) or through a second network 199. It may communicate with at least one of 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 . According to an embodiment, the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, 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 the antenna module 197 may be included. In some embodiments, in the electronic device 101, at least one of these components (eg, the connection terminal 178) may be omitted or one or more other components may be added. In some embodiments, some of these components (eg, sensor module 176, camera module 180, or antenna module 197) are integrated into one component (eg, display module 160). It can be.

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor 120, for example, executes software (eg, the program 140) to cause at least one other component (eg, hardware or software component) of the electronic device 101 connected to the processor 120. It can control and perform various data processing or calculations. According to one embodiment, as at least part of data processing or operation, the processor 120 transfers commands or data received from other components (eg, sensor module 176 or communication module 190) to volatile memory 132. , processing commands or data stored in the volatile memory 132 , and storing resultant data in the non-volatile memory 134 . According to an embodiment, the processor 120 may include a main processor 121 (eg, a central processing unit or an application processor) or a secondary processor 123 (eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, when the electronic device 101 includes the main processor 121 and the auxiliary processor 123, the auxiliary processor 123 may use less power than the main processor 121 or be set to be specialized for a designated function. can The secondary processor 123 may be implemented separately from or as part of the main processor 121 .

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(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) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다. The secondary processor 123 may, for example, take the place of the main processor 121 while the main processor 121 is in an inactive (eg, sleep) state, or the main processor 121 is active (eg, running an application). ) state, together with the main processor 121, at least one of the components of the electronic device 101 (eg, the display module 160, the sensor module 176, or the communication module 190) It is possible to control at least some of the related functions or states. According to one embodiment, the auxiliary processor 123 (eg, an image signal processor or a communication processor) may be implemented as part of other functionally related components (eg, the camera module 180 or the communication module 190). there is. According to an embodiment, the auxiliary processor 123 (eg, a neural network processing device) may include a hardware structure specialized for processing an artificial intelligence model. AI models can be created through machine learning. Such learning may be performed, for example, in the electronic device 101 itself where the artificial intelligence model 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 foregoing, but is not limited to the foregoing examples. The artificial intelligence model may include, in addition or alternatively, a software structure in addition to a hardware structure.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.The memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101 . The data may include, for example, input data or output data for software (eg, program 140) and commands related thereto. The memory 130 may include volatile memory 132 or non-volatile memory 134 .

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.The program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142 , middleware 144 , or an application 146 .

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.The input module 150 may receive a command or data to be used for a component (eg, the processor 120) of the electronic device 101 from an outside of the electronic device 101 (eg, a user). 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).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The sound output module 155 may output sound signals 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. A receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.The display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user). The display module 160 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device. According to an embodiment, the display module 160 may include a touch sensor configured to detect a touch or a pressure sensor configured to measure the intensity of force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module 170 may convert sound into an electrical signal or vice versa. According to an embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device connected directly or wirelessly to the electronic device 101 (eg: Sound may be output through the electronic device 102 (eg, a speaker or a headphone).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시 예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.The sensor module 176 detects an operating state (eg, power or temperature) of the electronic device 101 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do. According to one embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a bio sensor, It may include a temperature sensor, humidity sensor, or light sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface 177 may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device 101 to an external electronic device (eg, the electronic device 102). According to one embodiment, the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal 178 may include a connector through which the electronic device 101 may be physically connected to an external electronic device (eg, the electronic device 102). According to one embodiment, 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).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module 179 may convert electrical signals into mechanical stimuli (eg, vibration or movement) or electrical stimuli that a user may perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module 180 may capture still images and moving images. According to one embodiment, the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시 예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module 188 may manage power supplied to the electronic device 101 . According to one embodiment, the power management module 188 may be implemented as at least part of a power management integrated circuit (PMIC), for example.

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시 예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery 189 may supply power to at least one component of the electronic device 101 . According to one embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, Wi-Fi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.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). Establishment and communication through the established communication channel may be supported. 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. According to one embodiment, the communication module 190 is a wireless communication module 192 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (eg, : A local area network (LAN) communication module or a power line communication module). Among these communication modules, the corresponding communication module is a first network 198 (eg, a local area communication network such as Bluetooth, wireless fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or a second network 199 (eg : It can communicate with the external electronic device 104 through a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a long-distance communication network such as a computer network (eg, LAN or WAN). These various types of communication modules may be integrated as one component (eg, a single chip) or implemented as a plurality of separate components (eg, multiple chips). The wireless communication module 192 uses 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.

무선 통신 모듈(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 이하)를 지원할 수 있다.The wireless communication module 192 may support a 5G network after a 4G network and a next-generation communication technology, for example, NR access technology (new radio access technology). NR access technologies include high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), terminal power minimization and connection of 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. The wireless communication module 192 uses various technologies for securing performance in a high frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. Technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna may be supported. The wireless communication module 192 may support various requirements defined for the electronic device 101, an external electronic device (eg, the electronic device 104), or a network system (eg, the second network 199). According to an embodiment, the wireless communication module 192 may include a peak data rate for realizing eMBB (eg, 20 Gbps or more), a loss coverage for realizing mMTC (eg, 164 dB or less), or a U-plane latency for realizing URLLC (eg, Example: downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) may be supported.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시 예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The antenna module 197 may transmit or receive signals or power to the outside (eg, an external electronic device). According to an embodiment, the antenna module 197 may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, PCB). According to one embodiment, 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 selected from the plurality of antennas by the communication module 190, for example. It can be. 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. According to some embodiments, other components (eg, a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module 197 in addition to the radiator.

다양한 실시 예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시 예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗면 또는 측면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module 197 may form a mmWave antenna module. According to one embodiment, the mmWave antenna module includes a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, a lower surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band); and a plurality of antennas (eg, array antennas) disposed on or adjacent to a second surface (eg, a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band. there is.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the components are connected to each other through a communication method between peripheral devices (eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)) and signal ( e.g. commands or data) can be exchanged with each other.

일 실시 예에 따르면, 명령 또는 데이터는 제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 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.According to an embodiment, commands 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 . According to an embodiment, all or part of operations executed in the electronic device 101 may be executed in one or more external electronic devices among the external electronic devices 102 , 104 , or 108 . For example, when the electronic device 101 needs to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device 101 instead of executing the function or service by itself. Alternatively or additionally, one or more external electronic devices may be requested to perform the function or at least part of the service. One or more external electronic devices receiving 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 deliver the execution result to the electronic device 101 . The electronic device 101 may provide the result as at least part of a response to the request as it is or additionally processed. To this end, for example, 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. In another embodiment, 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. According to an embodiment, the external electronic device 104 or server 108 may be included in the second network 199 . The electronic device 101 may be applied to intelligent services (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.

도 2는 일 실시 예에 따라 터치 이동거리에 기반한 스크롤 처리 방식에 대해 설명하는 도면이다. 다양한 실시 예에 따라, 전자 장치(101)는 터치 이벤트 발생 후 상기 터치 이벤트가 유지되는 동안 일정 시간 주기로 획득된(또는, 수신된) 터치 정보를 기반으로 화면 스크롤 기능을 제공할 수 있다. 2 is a diagram illustrating a scroll processing method based on a touch movement distance according to an exemplary embodiment. According to various embodiments, the electronic device 101 may provide a screen scroll function based on touch information acquired (or received) at regular time intervals while the touch event is maintained after a touch event occurs.

도 2를 참조하면, 전자 장치(101)는 터치 이벤트가 유지되는 동안 디스플레이(예: 도 1의 디스플레이 모듈(160))의 화면 재생률(refresh rate)에 대응하는 시간 주기로 터치 정보를 획득할 수 있다. 다양한 실시 예에 따라, 전자 장치(101)가 60Hz의 화면 재생률을 갖춘 디스플레이를 포함하는 경우, 16ms마다 상기 터치 정보를 획득할 수 있다. 도 2에 도시된 그래프는 디스플레이의 아래에서 위로 입력된 터치 이벤트에 대응하여 발생한 스크롤 패턴을 나타낸 것으로, 상기 터치 이벤트가 발생한 후 해제될 때까지 터치 이동 거리에 대응하여 화면 스크롤이 수행됨을 관찰할 수 있다. 도 2에서 x축은 상기 디스플레이를 통해 제공되는 프레임의 경과 시간을 나타내고, y축은 터치 이벤트를 통해 수행되는 스크롤 크기를 나타낼 수 있다. Referring to FIG. 2 , while a touch event is maintained, the electronic device 101 may acquire touch information at a time period corresponding to a screen refresh rate of a display (eg, the display module 160 of FIG. 1 ). . According to various embodiments, when the electronic device 101 includes a display having a screen refresh rate of 60 Hz, the touch information may be acquired every 16 ms. The graph shown in FIG. 2 shows a scroll pattern generated in response to a touch event input from the bottom to the top of the display, and it can be observed that the screen scroll is performed in response to the touch movement distance until the touch event is released after the touch event occurs. there is. In FIG. 2 , the x-axis may represent the elapsed time of a frame provided through the display, and the y-axis may represent the size of a scroll performed through a touch event.

일 실시 예에서, 전자 장치(101)는 상기 터치 이벤트에 대응하여 상기 디스플레이를 통해 제공 중인 화면에 대한 스크롤을 발생시킬 수 있다. 전자 장치(101)는 상기 터치 이벤트가 발생한 후 상기 터치 이벤트가 유지된 상태에서 터치에 의해 스크롤된 크기(예: 터치 이동 거리)가 지정된 값을 초과하여 벗어남을 감지하면, 상기 화면에 대한 스크롤을 개시할 수 있다. 상기 지정된 값은 스크롤을 발생시키는 기준이 되는 최소 이동 크기인 터치 슬롭(touch slop)에 대응될 수 있다. 예를 들어, 도 2에서, 전자 장치(101)는 지정된 터치 슬롭보다 큰 터치 이동 크기가 측정된 1번 프레임부터 스크롤을 발생시킬 수 있다. In an embodiment, the electronic device 101 may generate a scroll of a screen being provided through the display in response to the touch event. When the electronic device 101 detects that the touch scroll size (eg, the touch movement distance) exceeds a designated value while the touch event is maintained after the touch event occurs, the electronic device 101 performs scrolling on the screen. can be initiated The designated value may correspond to a touch slop, which is a minimum movement size that is a criterion for generating a scroll. For example, in FIG. 2 , the electronic device 101 may generate a scroll from frame 1 in which a touch movement size larger than a designated touch slope is measured.

일 실시 예에서, 전자 장치(101)는 상기 스크롤이 개시된 이후 프레임 단위시간마다 감지된 터치 이동 크기만큼 상기 화면이 스크롤되도록 제어할 수 있다. 이로 인해, 전자 장치(101)는 사용자가 인식하지 못하는 작은 변화를 감지하더라도, 상기 화면에 대한 스크롤을 처리하여야 하는 경우가 발생할 수 있다. 도 2에서, 47번 프레임부터 67번 프레임까지는 미세한 크기의 변화만이 감지되고 실제 스크롤 방향과는 반대로 이동하는 변화가 감지될 수 있는데, 전자 장치(101)가 이러한 변화에 대해서도 스크롤을 수행할 경우 불필요한 프로세서의 사용과 비효율적 전력 소모가 발생될 수 있다. 다양한 실시 예에 따라, 전자 장치(101)는 상기 터치 이벤트의 터치 해제를 감지하면, 플링(fling)과 같은 애니메이션 효과를 제공할 수 있는데, 추가적인 스크롤을 발생시키는 플링 애니메이션은 스크롤을 멈추고자 하는 사용자에게 불필요한 동작으로 인식될 수 있다. 따라서, 화면 스크롤 과정에서 스크롤 반응성을 높이고 프로세서의 효율을 개선하기 위해서는, 전자 장치(101)는 터치 이벤트 동안 감지된 터치 이동 크기를 기반으로 스크롤을 정지(또는 종료)하려는 사용자의 의도를 미리 예측하여 불필요한 동작은 수행하지 않도록 할 필요가 있다.In an embodiment, the electronic device 101 may control the screen to be scrolled by the sensed touch movement size per frame unit time after the scrolling starts. For this reason, even if the electronic device 101 detects a small change that is not recognized by the user, there may occur a case where the electronic device 101 has to process the scrolling of the screen. In FIG. 2 , from the 47th frame to the 67th frame, only minute changes in size are detected and changes moving in the opposite direction to the actual scrolling direction can be detected. When the electronic device 101 performs scrolling for these changes as well Unnecessary processor use and inefficient power consumption may occur. According to various embodiments, when the electronic device 101 detects the release of the touch event, it may provide an animation effect such as a fling. It may be perceived as an unnecessary action. Therefore, in order to increase scroll responsiveness and improve processor efficiency during a screen scrolling process, the electronic device 101 predicts the user's intention to stop (or end) scrolling in advance based on the size of the touch movement detected during the touch event. It is necessary to avoid performing unnecessary operations.

도 3은 일 실시 예에 따른 전자 장치(300)의 구성을 설명하는 도면이다.3 is a diagram illustrating a configuration of an electronic device 300 according to an exemplary embodiment.

도 3을 참조하면, 전자 장치(300)는 터치 이벤트를 기반으로 사용자 의도를 미리 판단하여 스크롤 상태를 제어하는 장치로서, 디스플레이 모듈(310), 적어도 하나의 프로세서(320) 또는 메모리(330)를 포함할 수 있다. 도 3에서, 전자 장치(300)는 도 1에 도시된 전자 장치(101)에 대응될 수 있다.Referring to FIG. 3 , the electronic device 300 is a device that controls a scroll state by predetermining a user's intention based on a touch event, and includes a display module 310, at least one processor 320, or a memory 330. can include In FIG. 3 , the electronic device 300 may correspond to the electronic device 101 shown in FIG. 1 .

일 실시 예에서, 디스플레이 모듈(310)(예: 도 1의 디스플레이 모듈(160))은 사용자가 실행한 프로그램(또는 어플리케이션)의 화면을 표시하고, 상기 화면을 표시하는 동안 감지된 터치 입력에 대응하여 상기 화면을 상하 방향 또는 좌우 방향으로 이동하면서 표시할 수 있다.In one embodiment, the display module 310 (eg, the display module 160 of FIG. 1 ) displays a screen of a program (or application) executed by a user and responds to a touch input detected while displaying the screen. Thus, the screen can be displayed while moving in a vertical direction or a left-right direction.

일 실시 예에서, 디스플레이 모듈(310)은 LCD(liquid crystal display), TFT-LCD(thin film transistor LCD), OLED(organic light emitting diodes), 발광다이오드(LED), AMOLED(active matrix organic LED), 플렉서블 디스플레이(flexible display) 및 3차원 디스플레이(3 dimension display) 중 적어도 하나 이상으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(transparent OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.In one embodiment, the display module 310 is a liquid crystal display (LCD), thin film transistor LCD (TFT-LCD), organic light emitting diodes (OLED), light emitting diode (LED), active matrix organic LED (AMOLED), It may be configured with at least one of a flexible display and a 3-dimensional display. Also, some of these displays may be configured as a transparent type or a light transmission type so that the outside can be seen through them. This may be configured in the form of a transparent display including a transparent OLED (TOLED).

일 실시 예에서, 디스플레이 모듈(310)은 디스플레이 패널(311), 터치 센서(312) 및 터치 센서 제어 회로(313)를 포함할 수 있다. 터치 센서 제어 회로(313)는 터치 센서(312)를 이용하여 디스플레이 패널(311) 상에 수신되는 사용자의 터치 입력과 관련된 데이터를 식별할 수 있다. 예를 들어, 터치 센서 제어 회로(313)는 사용자의 터치 입력과 관련된 특성들(예: 터치 지점의 위치(좌표), 터치 면적, 터치 감도, 이동 거리, 및/또는 유지 시간 중 적어도 하나)에 관련된 데이터를 식별하기 위한 터치 센서 패널 집적 회로(touch sensor panel IC, TSP IC)를 포함할 수 있다. 다양한 실시 예에 따라, 터치 센서 제어 회로(313)는 상기 터치 센서를 구동(예: 전원을 인가)하고, 인가된 전원을 기반으로 수신되는 입력에 의해 상기 터치 센서에서 발생되는 전기적인 값(예: 전압 값 또는 전류 값 중 적어도 하나) 또는 전기적인 값의 변화를 식별할 수 있다. 터치 센서 제어 회로(313)는 식별한 전기적인 값 또는 전기적인 값의 변화를 기반으로 터치의 종류(예: 일반 터치, 드래그 터치, 팜터치, 및/또는 핀치)를 결정하고 이에 대한 정보를 적어도 하나의 프로세서(320)로 전송할 수 있다. 터치 센서 제어 회로(313)는 적어도 하나의 프로세서(320)가 터치 입력에 대한 처리를 수행할 수 있도록 터치 이벤트에 대한 로우 데이터(raw data)를 적어도 하나의 프로세서(320)로 전달할 수도 있다. 다양한 실시 예에 따라, 터치 센서(312)는 접촉식 정전용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 및/또는 피에조 효과 방식 중 적어도 하나의 터치 센서를 포함할 수 있으며, 어느 하나의 방식으로 제한되지 않을 수 있다.In one embodiment, the display module 310 may include a display panel 311 , a touch sensor 312 and a touch sensor control circuit 313 . The touch sensor control circuit 313 may identify data related to a user's touch input received on the display panel 311 using the touch sensor 312 . For example, the touch sensor control circuit 313 determines characteristics related to a user's touch input (eg, at least one of a location (coordinate) of a touch point, a touch area, a touch sensitivity, a moving distance, and/or a holding time). It may include a touch sensor panel IC (TSP IC) for identifying relevant data. According to various embodiments, the touch sensor control circuit 313 drives the touch sensor (eg, applies power), and generates an electrical value (eg, power) generated by the touch sensor by an input received based on the applied power. : at least one of a voltage value or a current value) or a change in an electrical value may be identified. The touch sensor control circuit 313 determines the type of touch (eg, normal touch, drag touch, palm touch, and/or pinch) based on the identified electrical value or change in the electrical value, and provides information about the touch at least. It can be transmitted to one processor 320. The touch sensor control circuit 313 may transfer raw data of a touch event to the at least one processor 320 so that the at least one processor 320 may process the touch input. According to various embodiments, the touch sensor 312 may include at least one touch sensor of a contact capacitive type, a pressure resistive type, an infrared sensing type, a surface ultrasonic conduction type, and/or a piezo effect type, , may not be limited in either way.

일 실시 예에서, 메모리(330)(예: 도 1의 메모리(130))는, 실행 시에, 적어도 하나의 프로세서(320)(예: 도 1의 프로세서(120))가 각종 동작들을 수행하도록 제어하는 인스트럭션들을 저장할 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 사용자로부터 디스플레이 모듈(310)을 통해 입력된 터치 이벤트를 감지할 수 있다. 상기 터치 이벤트는 사용자에 의해 입력된 터치 제스처로서, 터치 다운(touch down), 터치 이동(touch move), 또는 터치 해제(touch release)의 동작으로 구분될 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(320)는 터치 다운이 발생한 후 터치가 해제될 때까지 상기 터치 이벤트가 유지된 것으로 인식하고, 상기 터치 이벤트가 유지되는 동안 터치 지점이 어느 방향으로 얼마나 이동하는지 지속적으로 확인할 수 있다.In one embodiment, the memory 330 (eg, the memory 130 of FIG. 1 ), when executed, causes at least one processor 320 (eg, the processor 120 of FIG. 1 ) to perform various operations. Controlling instructions can be stored. For example, at least one processor 320 may detect a touch event input from a user through the display module 310 . The touch event is a touch gesture input by a user, and may be classified into a touch down operation, a touch move operation, or a touch release operation. According to various embodiments, at least one processor 320 recognizes that the touch event is maintained until the touch is released after a touch down occurs, and moves the touch point in a certain direction and by how much while the touch event is maintained. You can continuously check that you are doing it.

일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 터치 이벤트를 감지함에 응답하여, 스크롤을 발생시키는 기준이 되는 최소 이동 거리인 터치 슬롭(touch slope)을 설정할 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 이벤트의 터치 다운을 감지한 후 터치 슬롭을 초과하는 터치 이동이 확인될 때까지 스크롤을 발생시키지 않을 수 있다. 다양한 실시 예에 따라, 적어도 하나의 프로세서(320)는 디스플레이 모듈(310)의 디스플레이 패널(311) 상에서 터치 다운이 감지된 위치에 따라 다양한 값으로 상기 터치 슬롭을 설정할 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 상기 터치 이벤트의 터치 다운 지점이 디스플레이 패널(311)을 통해 표시되고 있는 제1 화면 내 선택 입력 영역에 대응하는지 확인하고, 상기 확인 결과를 기반으로 상기 터치 슬롭을 설정할 수 있다. 상기 선택 입력 영역은 상기 제1 화면 내에서 터치 리스너(touch listener) 또는 프레스 리스너(press listener)로 설정된 객체, 또는 이미지(image), 비디오 클립(video clip), 앵커(anchor), 폼(form)과 같은 사용자가 선택 가능한 엘리먼트(selectable element)가 포함된 영역일 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 다운 지점이 상기 객체 또는 상기 사용자가 선택 가능한 엘리먼트에 대응하거나, 또는 상기 터치 다운에 의해 선택된 엘리먼트의 부모 엘리먼트(parent element)가 상기 객체 또는 상기 사용자가 선택 가능한 엘리먼트에 대응하는 경우, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인할 수 있다. 상기 터치 다운 지점이 상기 제1 화면 내 선택 입력 영역에 대응하지 않는 경우 상기 터치 다운 지점에 선택 가능한 엘리먼트가 없으므로, 적어도 하나의 프로세서(320)는 상기 터치 슬롭을 0으로 설정하여, 터치 이동 감지 시 터치 슬롭 확인 없이 바로 스크롤을 개시하도록 처리할 수 있다. 상기 터치 다운 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는 것으로 확인되면, 적어도 하나의 프로세서(320)는 상기 터치 슬롭을 0보다 큰 값으로 설정하여, 이후 감지된 터치 이동이 스크롤을 위한 입력인지 또는 특정 엘리먼트를 선택하기 위한 입력인지 확인할 수 있다. 이 경우, 적어도 하나의 프로세서(320)는 감지된 터치 이동 거리가 상기 설정된 터치 슬롭보다 작으면 상기 터치 이동을 특정 엘리먼트를 선택하기 위한 입력으로 판단할 수 있다. 반대로, 적어도 하나의 프로세서(320)는 감지된 터치 이동 거리가 상기 설정된 터치 슬롭보다 크면 상기 터치 이동을 스크롤 입력으로 판단하고, 상기 터치 이동 거리에 대응하여 스크롤을 수행할 수 있다.In one embodiment, in response to detecting the touch event, the at least one processor 320 may set a touch slope that is a minimum movement distance that is a reference for generating a scroll. After detecting the touch down of the touch event, the at least one processor 320 may not generate a scroll until a touch movement exceeding the touch slope is confirmed. According to various embodiments of the present disclosure, at least one processor 320 may set the touch slope to various values according to a location where a touchdown is detected on the display panel 311 of the display module 310 . For example, the at least one processor 320 checks whether the touchdown point of the touch event corresponds to the selection input area in the first screen being displayed through the display panel 311, and based on the check result, the You can set the touch slope. The selection input area is an object set as a touch listener or a press listener in the first screen, or an image, video clip, anchor, or form. It may be an area including a user-selectable element such as At least one processor 320 determines whether the touchdown point corresponds to the object or an element selectable by the user, or a parent element of the element selected by the touchdown is the object or the user selectable element. element, it can be confirmed that the touchdown point corresponds to the selection input area. If the touchdown point does not correspond to the selection input area in the first screen, since there is no selectable element at the touchdown point, at least one processor 320 sets the touch slope to 0, so that when sensing a touch movement, the touch slope is set to 0. Scrolling can be initiated immediately without confirming the touch slope. If it is determined that the touchdown point corresponds to the selection input area in the first screen, at least one processor 320 sets the touch slope to a value greater than 0, so that the detected touch movement is then input for scrolling. It can be checked whether it is an input to select an input or a specific element. In this case, if the detected touch movement distance is smaller than the set touch slope, the at least one processor 320 may determine the touch movement as an input for selecting a specific element. Conversely, if the detected touch movement distance is greater than the set touch slope, the at least one processor 320 may determine the touch movement as a scroll input and perform a scroll corresponding to the touch movement distance.

다른 예를 들어, 적어도 하나의 프로세서(320)는, 사용자의 스크롤 패턴이 정의된 스크롤 맵(scroll map)을 기반으로 상기 터치 이벤트의 터치 다운 지점이 스크롤 영역(scroll area)에 대응하는지 확인하고, 상기 확인 결과를 기반으로 상기 터치 슬롭을 설정할 수 있다. 적어도 하나의 프로세서(320)는 디스플레이 패널 상(311)에 포함된 복수 개의 영역들 각각의 스크롤 발생 확률과, 높은 확률로 스크롤이 발생하는 스크롤 영역을 정의한 스크롤 맵을 메모리(330)에 저장하여 관리할 수 있다. 상기 스크롤 맵은 새로운 터치 이벤트의 종료 시마다 업데이트 될 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 이벤트의 터치 다운을 감지하면, 메모리(330)로부터 상기 스크롤 맵을 로드하여, 상기 터치 다운된 지점의 스크롤 발생 확률 또는 상기 터치 다운 지점이 상기 스크롤 영역에 대응하는지 여부를 확인할 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 다운 지점이 상기 스크롤 영역에 대응하는 것으로 확인하면, 상기 터치 다운 지점의 스크롤 발생 확률을 기반으로 상기 터치 슬롭을 설정할 수 있다. 이를 테면, 적어도 하나의 프로세서(320)는 스크롤 발생 확률에 비례하는 상수 K를 결정하고, 터치 슬롭의 디폴트 값을 상기 결정된 상수 K로 나누어 상기 터치 슬롭을 설정할 수 있다. 이로 인해, 상기 터치 다운 지점의 스크롤 발생 확률이 높을수록 0에 가까운 값이 상기 터치 슬롭으로 설정될 수 있다. 상기 터치 다운 지점이 상기 스크롤 영역에 대응하지 않는 경우에는, 적어도 하나의 프로세서(320)는 상기 터치 슬롭에 대한 설정 변경 없이 상기 디폴트 값을 기준으로 스크롤 수행 여부를 판단할 수 있다.For another example, the at least one processor 320 determines whether a touch-down point of the touch event corresponds to a scroll area based on a scroll map in which a scroll pattern of the user is defined, The touch slope may be set based on the check result. At least one processor 320 stores in the memory 330 a scroll map defining a scroll occurrence probability of each of a plurality of areas included on the display panel 311 and a scroll area in which scroll occurs with a high probability, and manages the scroll map. can do. The scroll map may be updated whenever a new touch event ends. When at least one processor 320 detects the touchdown of the touch event, it loads the scroll map from the memory 330, and the scroll occurrence probability of the touchdown point or the touchdown point corresponds to the scroll area. You can check if it does or not. Upon determining that the touch-down point corresponds to the scroll area, the at least one processor 320 may set the touch slope based on a scroll occurrence probability of the touch-down point. For example, at least one processor 320 may determine a constant K proportional to a scroll occurrence probability and set the touch slope by dividing a default value of the touch slope by the determined constant K. For this reason, a value closer to 0 may be set as the touch slope as the probability of occurrence of a scroll at the touchdown point increases. When the touchdown point does not correspond to the scroll area, at least one processor 320 may determine whether or not to perform scrolling based on the default value without changing a setting for the touch slope.

일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 연관되는 터치 정보를 획득(또는, 수신)할 수 있다. 상기 터치 정보는 상기 터치 이벤트가 유지되는 동안 터치가 감지된 지점의 좌표, 현재 터치 지점을 기준으로 계산된 이동 속도나 이동 거리 또는 감속도 중 적어도 하나를 포함할 수 있다. 상기 지정된 시간은 디스플레이 패널(311)의 화면 재생률(refresh rate)에 대응될 수 있다. 예를 들어, 디스플레이 패널(311)의 화면 재생률이 60Hz인 경우, 적어도 하나의 프로세서(320)는 16ms마다 상기 터치 정보를 획득할 수 있다. 다른 예를 들어, 디스플레이 패널(311)의 화면 재생률이 120Hz이면, 적어도 하나의 프로세서(320)는 8ms마다 상기 터치 정보를 획득할 수 있다. 다양한 실시 예에 따라, 본 개시에서 적어도 하나의 프로세서(320)에 의해 제어되는 것으로 기재된 적어도 일부 동작은 디스플레이 모듈(310)에 포함된 터치 센서 제어 회로(313)에 수행될 수 있다. 예를 들어, 터치 센서 제어 회로(313)는 디스플레이 패널(311) 상에 입력된 터치 이벤트를 감지하고, 상기 터치 이벤트가 유지되는 동안 디스플레이 패널(311)의 화면 재생률(refresh rate)에 대응하는 시간 주기로 터치 정보를 획득할 수 있다. 다른 예를 들어, 터치 센서 제어 회로(313)는 상기 터치 이벤트와 관련하여 스크롤 발생여부의 판단 기준이 되는 터치 슬롭을 설정할 수 있다.In one embodiment, at least one processor 320 may obtain (or receive) touch information associated with the current touch point at designated times while the touch event is maintained. The touch information may include at least one of coordinates of a point where a touch is sensed while the touch event is maintained, movement speed or movement distance calculated based on a current touch point, or deceleration. The designated time may correspond to a screen refresh rate of the display panel 311 . For example, when the screen refresh rate of the display panel 311 is 60 Hz, at least one processor 320 may obtain the touch information every 16 ms. For another example, if the screen refresh rate of the display panel 311 is 120 Hz, at least one processor 320 may obtain the touch information every 8 ms. According to various embodiments, at least some of the operations described as being controlled by at least one processor 320 in the present disclosure may be performed by the touch sensor control circuit 313 included in the display module 310 . For example, the touch sensor control circuit 313 detects a touch event input on the display panel 311, and a time corresponding to a screen refresh rate of the display panel 311 while the touch event is maintained. Touch information may be obtained periodically. For another example, the touch sensor control circuit 313 may set a touch slope that is a criterion for determining whether a scroll occurs in relation to the touch event.

일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 획득된(또는, 수신된) 터치 정보를 기반으로 터치 이동 거리가 상기 설정된 터치 슬롭을 초과하는지 여부를 확인할 수 있다. 상기 확인 결과 상기 터치 이동 거리가 상기 터치 슬롭을 초과하지 않으면, 적어도 하나의 프로세서(320)는 상기 터치 슬롭을 초과하는 터치 이동이 감지될 때까지 상기 제1 화면에 대한 스크롤을 수행하지 않을 수 있다. 상기 확인 결과 상기 터치 이동 거리가 상기 터치 슬롭을 초과하면, 적어도 하나의 프로세서(320)는 상기 터치 이동에 대응하여 상기 제1 화면에 대한 스크롤을 개시하도록 디스플레이 모듈(310)을 제어할 수 있다. In an embodiment, the at least one processor 320 may determine whether a touch movement distance exceeds the set touch slope based on the acquired (or received) touch information. As a result of the check, if the touch movement distance does not exceed the touch slope, at least one processor 320 may not scroll the first screen until a touch movement exceeding the touch slope is detected. . As a result of the check, if the touch movement distance exceeds the touch slope, at least one processor 320 may control the display module 310 to start scrolling the first screen in response to the touch movement.

다양한 실시 예에 따라, 적어도 하나의 프로세서(320)는 상기 터치 이벤트의 터치 다운이 감지된 시점부터 터치 해제 시점까지 새로운 터치 정보를 획득할 때마다 터치 슬롭 체크 여부를 확인할 수 있다. 상기 터치 슬롭 체크는 true 또는 false의 값으로 설정될 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 상기 터치 슬롭 체크 항목이 true로 설정됨을 확인하면, 해당 시점에서 확인된 터치 이동거리가 상기 설정된 터치 슬롭을 초과하는지 여부를 판단할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(320)는 상기 터치 슬롭 체크 항목이 false로 설정됨을 확인하면, 해당 시점에서 확인된 터치 이동에 대해서는 터치 슬롭 확인 없이 스크롤을 수행하도록 결정할 수 있다. 일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 터치 슬롭 체크 항목의 초기 값(디폴트)을 true로 설정할 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 슬롭 체크 항목의 초기 설정에 따라, 상기 터치 이벤트 발생 후 최초 확인된 터치 이동에 대해서는 무조건 터치 슬롭을 초과하는지 여부를 확인할 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 이벤트의 스크롤 상태에 따라 상기 터치 슬롭 체크 항목의 설정 값을 변경할 수 있으며, 스크롤이 수행되는 동안에는 상기 터치 슬롭 체크 항목의 이전 설정 값에 따라 터치 슬롭 체크 여부를 판단할 수 있다. According to various embodiments, at least one processor 320 may check whether or not to check the touch slope whenever new touch information is acquired from the time when the touchdown of the touch event is sensed to the time when the touch is released. The touch slope check may be set to a value of true or false. For example, if at least one processor 320 confirms that the touch slope check item is set to true, it can determine whether the confirmed touch movement distance at a corresponding time exceeds the set touch slope. For another example, if at least one processor 320 confirms that the touch slope check item is set to false, it may determine to scroll without checking the touch slope for the touch movement confirmed at that time. In one embodiment, at least one processor 320 may set an initial value (default) of the touch slope check item to true. According to the initial setting of the touch slope check item, at least one processor 320 may unconditionally check whether or not the touch movement exceeds the touch slope with respect to the first confirmed touch movement after the touch event occurs. At least one processor 320 may change the set value of the touch slop check item according to the scroll state of the touch event, and while scrolling is performed, whether to check the touch slop according to the previous set value of the touch slop check item. can judge

일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 제1 화면에 대한 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인할 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 상기 스크롤이 수행되는 동안 상기 지정된 시간 마다 터치 이동이 감지된 지점들의 좌표 정보를 획득하고, 상기 획득한 좌표 정보를 기반으로 스크롤 구간 별 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 계산할 수 있다. 상기 스크롤 구간은 상기 터치 정보가 획득되는 시간 주기인 상기 지정된 시간에 대응될 수 있다.In one embodiment, at least one processor 320 includes at least one of a movement speed, a movement distance, or a deceleration of the touch event based on the touch information obtained while scrolling of the first screen is performed. Scroll data can be checked. For example, at least one processor 320 obtains coordinate information of points where touch movement is detected at each designated time while the scroll is being performed, and based on the obtained coordinate information, the movement speed and movement for each scroll section At least one of distance or deceleration can be calculated. The scroll period may correspond to the designated time period during which the touch information is acquired.

일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단할 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 상기 스크롤 데이터를 기반으로 현재 터치 이동 지점에 대응하는 스크롤 구간의 이동 거리를 확인하고, 상기 확인된 이동 거리를 제1 임계값과 비교할 수 있다. 상기 제1 임계값은 상기 스크롤을 지속하기 위한 최저 터치 이동 크기를 나타낼 수 있다. 적어도 하나의 프로세서(320)는 상기 비교 결과 상기 확인된 이동 거리가 상기 제1 임계값보다 작으면, 상기 스크롤의 상태 변경 여부를 추가 확인할 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 중 터치 이동 거리가 가장 큰 제1 스크롤 구간을 확인하고, 상기 제1 스크롤 구간을 기준으로 현재 터치 이동 지점에서의 감속도를 계산할 수 있다. 적어도 하나의 프로세서(320)는 상기 계산된 감속도를 제2 임계값의 비교 연산을 통해 스크롤 지속 여부에 대한 사용자 의도를 확인할 수 있다. 상기 제2 임계값은 스크롤 정지 구간을 판별하는 기준으로 정의된 감속도 값을 나타낼 수 있다. 상기 비교 결과 상기 계산된 감속도가 상기 제2 임계값보다 크면, 적어도 하나의 프로세서(320)는 사용자가 상기 스크롤을 멈추고자 하는 의도가 있음을 판단하고, 상기 제1 화면에 대한 스크롤을 정지하도록 디스플레이 모듈(310)을 제어할 수 있다.In one embodiment, the at least one processor 320 may determine whether the scroll is terminated based on the scroll data. For example, the at least one processor 320 may check the movement distance of the scroll section corresponding to the current touch movement point based on the scroll data, and compare the checked movement distance with a first threshold value. The first threshold value may indicate a minimum touch movement size for sustaining the scrolling. At least one processor 320 may additionally check whether the state of the scroll is changed when the checked movement distance is smaller than the first threshold value as a result of the comparison. At least one processor 320 identifies a first scroll section having the largest touch movement distance while scrolling of the first screen is performed based on the touch information, and the current touch movement based on the first scroll section. The deceleration at the point can be calculated. At least one processor 320 may check the user's intention regarding whether or not to continue scrolling by comparing the calculated deceleration with a second threshold. The second threshold may represent a deceleration value defined as a criterion for determining a scroll stop section. As a result of the comparison, if the calculated deceleration is greater than the second threshold, the at least one processor 320 determines that the user has an intention to stop the scrolling, and stops the scrolling of the first screen. The display module 310 may be controlled.

다양한 실시 예에 따라, 적어도 하나의 프로세서(320)는 저속 스크롤 상황에서는 감속도 측정 없이, 스크롤 구간들에서 측정된 터치 이동거리를 기반으로 사용자 의도를 판단할 수 있다. 사용자가 천천히 터치 이동하여 스크롤 하는 경우, 상기 제1 스크롤 구간과 다른 스크롤 구간에서의 터치 이동거리의 차이가 크지 않기 때문에, 스크롤이 자주 정지될 수 있다. 이를 방지하기 위해, 적어도 하나의 프로세서(320)는 상기 제1 화면에 대한 스크롤이 수행되는 동안 상기 터치 정보를 기반으로 확인된 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트할 수 있다. 적어도 하나의 프로세서(320)는 상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하는 것으로 확인하면, 상기 스크롤을 멈추고자 하는 사용자 의도가 있음을 판단하고, 상기 스크롤이 정지하도록 디스플레이 모듈(310)을 제어할 수 있다. 상기 제3 임계값은 사용자의 스크롤 멈춤 의도를 판단하기 위한 기준 횟수로서, 사전 정의될 수 있다. 적어도 하나의 프로세서(320)는 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 확인된 이동 거리가 상기 제1 임계값보다 큰 스크롤 구간을 추가 확인할 수 있다. 적어도 하나의 프로세서(320)는 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과함을 확인하면, 상기 스크롤을 지속하고자 하는 사용자 의도를 판단하고, 상기 카운트를 0으로 리셋할 수 있다. 상기 제4 임계값은 사용자의 스크롤 지속 의도를 판단하기 위한 기준 횟수로서, 사전 정의될 수 있다.According to various embodiments, at least one processor 320 may determine the user's intention based on the touch movement distance measured in scroll sections without measuring deceleration in a low-speed scrolling situation. When the user scrolls by slowly moving a touch, the scrolling may stop frequently because the difference between the touch movement distance between the first scroll section and the other scroll section is not large. To prevent this, the at least one processor 320 may count a scroll section in which the movement distance determined based on the touch information is smaller than the first threshold while scrolling of the first screen is performed. When the at least one processor 320 determines that the counted number of scroll sections exceeds the third threshold, the display module 310 determines that there is a user intention to stop the scrolling, and the display module 310 stops the scrolling. can control. The third threshold is a standard number of times for determining the user's intention to stop scrolling, and may be predefined. At least one processor 320 may additionally check a scroll section in which the checked movement distance is greater than the first threshold while counting scroll sections smaller than the first threshold. When the at least one processor 320 confirms that the scroll section greater than the first threshold value exceeds a fourth threshold value, the processor 320 may determine the user's intention to continue the scrolling and reset the count to 0. . The fourth threshold is a reference number of times for determining the user's intention to continue scrolling, and may be predefined.

다양한 실시 예에 따라, 적어도 하나의 프로세서(320)는 저속 스크롤 상황에서(또는 감속도 측정 없이 사용자 의도를 판단하는 경우) 상기 제1 임계값을 적어도 일시적으로 낮추도록 설정할 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 속도를 확인하고, 상기 확인된 이동 속도를 기반으로 현재 터치 이동 지점에서의 평균 속도를 계산할 수 있다. 적어도 하나의 프로세서(320)는 상기 계산된 평균 속도가 지정된 속도보다 낮거나 같은 것으로 확인하면, 상기 제1 임계값을 지정된 값보다 작게 변경하도록 설정할 수 있다.According to various embodiments, the at least one processor 320 may set the first threshold to be at least temporarily lowered in a low-speed scrolling situation (or when the user's intention is determined without measuring the deceleration). For example, the at least one processor 320 may check the movement speed for each scroll section while the first screen is scrolled, and calculate the average speed at the current touch movement point based on the checked movement speed. can When the at least one processor 320 determines that the calculated average speed is lower than or equal to the designated speed, the first threshold value may be changed to be smaller than the designated value.

일 실시 예에서, 적어도 하나의 프로세서(320)는 상기 터치 이벤트의 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤 상태를 확인할 수 있다. 예를 들어, 적어도 하나의 프로세서(320)는 상기 제1 화면에 대한 스크롤을 수행 중인 상태에서 상기 터치 해제를 감지하면, 최근 스크롤 속도(예: 터치 해제 시점을 기준으로 지정된 개수의 스크롤 구간들의 평균 이동 속도)를 기반으로 상기 스크롤의 종료 직전에 적용될 애니메이션 효과(예: 플링(fling))의 발생 속도를 결정할 수 있다. 다른 예를 들어, 적어도 하나의 프로세서(320)는 상기 제1 화면에 대한 스크롤이 정지된 상태에서 상기 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤을 멈추고자 하는 사용자 의도가 있었던 것으로 판단할 수 있다. 이 경우, 적어도 하나의 프로세서(320)는 상기 애니메이션 효과의 발생 속도를 0으로 결정하여, 상기 스크롤에 대한 애니메이션 효과 적용 없이 상기 스크롤이 정지된 상태에서 바로 상기 터치 이벤트가 종료되도록 처리할 수 있다. 적어도 하나의 프로세서(320)는 상기 터치 이벤트에 대응하는 스크롤 과정에서 불필요한 동작은 처리하지 않고, 사용자 의도에 따라 스크롤 상태를 즉각 제어할 수 있으며, 이로 인해 스크롤 과정에서 프로세스 효율과 반응 속도가 개선될 수 있다.In an embodiment, the at least one processor 320 may check a scroll state of the first screen when detecting a touch release of the touch event. For example, if the at least one processor 320 detects the touch release while scrolling the first screen, the latest scroll speed (eg, average of a specified number of scroll sections based on the touch release time point) Based on the moving speed), a generation speed of an animation effect (eg, fling) to be applied right before the end of the scrolling may be determined. For another example, if the at least one processor 320 detects the touch release while the scrolling of the first screen is stopped, it is determined that there is a user intention to stop the scrolling of the first screen. can In this case, the at least one processor 320 may determine the generation speed of the animation effect to be 0, and process the touch event to end immediately in a state in which the scrolling is stopped without applying the animation effect to the scrolling. The at least one processor 320 may immediately control the scroll state according to the user's intention without processing unnecessary operations during the scrolling process corresponding to the touch event, thereby improving process efficiency and response speed during the scrolling process. can

도 4는 일 실시 예에 따른 전자 장치(300)의 세부 구성을 설명하는 도면이다. 도 4를 참조하여 설명되는 기능이나 동작은 도 3의 전자 장치(300)의 적어도 하나의 프로세서(320)(예: 어플리케이션 프로세서) 및/또는 디스플레이 모듈(310)에 포함된 터치 센서 제어 회로(313)(예: 터치 IC(integrated circuit))에 의해 수행되는 기능으로 이해될 수 있다. 예를 들어, 도 4에 도시된 터치 이벤트 입력 모듈(410), 스크롤 판단 모듈(420), 스크롤 제어 모듈(430) 또는 콘텐트 제어 모듈(440)은 적어도 하나의 명령어를 포함하는 소프트웨어 모듈로 구현될 수 있다. 적어도 하나의 프로세서(320)는 도 4에 도시된 소프트웨어 모듈들을 구현하기 위해 메모리(330)에 저장된 명령어들(예: 인스트럭션들(instructions))을 실행시킬 수 있고, 기능과 관련된 하드웨어(예: 도 3의 디스플레이 모듈(310) 또는 메모리(330))를 제어할 수 있다. 다양한 실시 예에 따라, 전자 장치(300)는 도 4에 도시된 구성 요소들로 제한되지 않으며, 도 1에 도시된 구성요소들 중 전자 장치(300)에서 요구되는 기능에 대응하는 구성 요소를 추가 포함할 수 있다.4 is a diagram illustrating a detailed configuration of an electronic device 300 according to an exemplary embodiment. The function or operation described with reference to FIG. 4 is the touch sensor control circuit 313 included in at least one processor 320 (eg, application processor) and/or display module 310 of the electronic device 300 of FIG. 3 . ) (eg, a function performed by a touch IC (integrated circuit)). For example, the touch event input module 410, the scroll determination module 420, the scroll control module 430, or the content control module 440 shown in FIG. 4 may be implemented as a software module including at least one command. can At least one processor 320 may execute instructions (eg, instructions) stored in the memory 330 to implement the software modules shown in FIG. 3 display module 310 or memory 330) can be controlled. According to various embodiments, the electronic device 300 is not limited to the components shown in FIG. 4, and components corresponding to functions required by the electronic device 300 are added among the components shown in FIG. can include

도 4를 참조하면, 전자 장치(300)는 터치 이벤트 입력 모듈(410), 스크롤 판단 모듈(420), 스크롤 제어 모듈(430) 또는 콘텐트 제어 모듈(440)을 포함할 수 있다.Referring to FIG. 4 , the electronic device 300 may include a touch event input module 410, a scroll determination module 420, a scroll control module 430, or a content control module 440.

일 실시 예에서, 터치 이벤트 입력 모듈(410)은 디스플레이 모듈(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이 모듈(310))에 포함된 디스플레이 패널(311) 상에 입력되는 터치 이벤트를 감지하고, 상기 터치 이벤트의 동작 타입을 판단할 수 있다. 예를 들어, 상기 터치 이벤트는 터치 다운(touch down), 터치 이동(touch move), 또는 터치 해제(touch release)의 동작으로 구분될 수 있다. 터치 이벤트 입력 모듈(410)은 디스플레이 패널(311) 상에서 터치 다운이 감지된 시점에 상기 터치 이벤트가 발생된 것으로 판단하고, 디스플레이 패널(311) 상에서 터치 해제가 감지된 시점에 상기 터치 이벤트가 종료된 것으로 판단할 수 있다. 터치 이벤트 입력 모듈(410)은, 상기 터치 다운이 감지된 시점부터 상기 터치 해제가 감지된 시점까지 터치가 홀딩(holding)된 상태로 상기 터치 이벤트가 유지되는 동안 확인되는 터치 지점의 움직임을 터치 이동으로 판단할 수 있다.In one embodiment, the touch event input module 410 is a touch event input on a display panel 311 included in a display module (eg, the display module 160 of FIG. 1 or the display module 310 of FIG. 3 ). can be sensed, and the motion type of the touch event can be determined. For example, the touch event may be classified into a touch down operation, a touch move operation, or a touch release operation. The touch event input module 410 determines that the touch event has occurred when a touch down is detected on the display panel 311, and the touch event is terminated when a touch release is detected on the display panel 311. can be judged to be The touch event input module 410 moves the movement of the confirmed touch point while the touch event is maintained in a holding state from the time when the touch down is detected to the time when the touch release is detected. can be judged by

일 실시 예에서, 스크롤 판단 모듈(420)은 상기 터치 이벤트가 유지되는 동안 스크롤을 수행하기 위한 조건을 설정하고, 상기 조건에 관련된 판단을 수행할 수 있다. 예를 들어, 스크롤 판단 모듈(420)은 상기 터치 이벤트 동안 스크롤을 발생시키는 기준이 되는 터치 슬롭을 설정할 수 있다. 다른 예를 들어, 스크롤 판단 모듈(420)은 상기 터치 이벤트가 유지되는 동안 지정된 시간마다 획득되는 터치 정보를 기반으로 현재 터치 지점에서의 터치 이동 거리를 확인하고, 상기 확인된 터치 이동 거리가 지정된 터치 슬롭을 초과하는지 여부를 판단할 수 있다. 또 다른 예를 들어, 스크롤 판단 모듈(420)은 상기 터치 정보 획득 시마다 터치 슬롭 체크 여부를 판단할 수 있다. 상기 터치 슬롭 체크는 상기 획득된 터치 정보가 터치 슬롭을 초과하는지에 대한 판단의 수행 여부를 나타내는 것으로, 스크롤 상태에 따라 true 또는 false의 값으로 설정될 수 있다. 상기 터치 슬롭 체크 항목이 true로 설정된 경우, 스크롤 판단 모듈(420)은 해당 시점의 터치 정보가 터치 슬롭을 초과하는지 여부를 확인하고, 상기 확인 결과를 기반으로 스크롤 개시 여부를 결정할 수 있다. 상기 터치 슬롭 체크 항목이 false로 설정된 경우, 스크롤 판단 모듈(420)은 해당 시점의 터치 정보에 대해서는 터치 슬롭 초과 여부를 확인하지 않고, 스크롤 지속 여부를 결정할 수 있다.In an embodiment, the scroll determination module 420 may set a condition for scrolling while the touch event is maintained, and may perform a determination related to the condition. For example, the scroll determination module 420 may set a touch slope that is a criterion for generating a scroll during the touch event. For another example, the scroll determination module 420 determines a touch movement distance from a current touch point based on touch information acquired at each designated time while the touch event is maintained, and the identified touch movement distance is a designated touch. It can be judged whether or not the slope is exceeded. For another example, the scroll determination module 420 may determine whether to check the touch slope whenever the touch information is acquired. The touch slope check indicates whether a determination is made as to whether the acquired touch information exceeds the touch slope, and may be set to a value of true or false according to a scroll state. When the touch slope check item is set to true, the scroll determination module 420 may determine whether or not the touch information at the corresponding time exceeds the touch slope, and determine whether or not to start scrolling based on the check result. When the touch slope check item is set to false, the scroll determination module 420 may determine whether or not to continue scrolling without checking whether the touch slope is exceeded for touch information at the corresponding time.

일 실시 예에서, 스크롤 제어 모듈(430)은 디스플레이 패널(311)을 통해 출력 중인 제1 화면에 대한 스크롤 상태를 제어하고, 스크롤 수행 중 사용자 의도를 확인할 수 있다. 예를 들어, 스크롤 제어 모듈(430)은 스크롤 판단 모듈(420)의 판단 결과를 기반으로 현재 터치 지점에서 확인된 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 상기 제1 화면에 대한 스크롤을 개시하도록 제어할 수 있다. 다른 예를 들어, 스크롤 제어 모듈(430)은 상기 제1 화면에 대한 스크롤이 수행되는 동안 획득되는 터치 정보를 기반으로 상기 스크롤을 정지 또는 지속하고자 하는 사용자 의도를 확인하고, 상기 확인 결과에 따라 스크롤 상태를 제어할 수 있다. In an embodiment, the scroll control module 430 may control a scrolling state of the first screen being output through the display panel 311 and confirm a user's intention during scrolling. For example, if the scroll control module 430 determines that the touch movement distance determined from the current touch point exceeds the touch slope based on the determination result of the scroll determination module 420, the scroll control module 430 scrolls the first screen. can be controlled to initiate. For another example, the scroll control module 430 checks the user's intention to stop or continue the scrolling based on touch information obtained while the first screen is scrolling, and scrolls according to the checking result. state can be controlled.

일 실시 예에서, 콘텐트 제어 모듈(440)은 상기 터치 이벤트가 유지되는 동안 상기 디스플레이 패널에 표시되는 제1 화면의 콘텐트에 대한 판단을 수행할 수 있다. 예를 들어, 콘텐트 제어 모듈(440)은 상기 터치 이벤트의 터치 다운 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는지 여부를 확인할 수 있다. 상기 선택 입력 영역은 상기 제1 화면 내에서 터치 리스너(touch listener)(또는 사용자 입력에 연관되는 리스너) (예: 클릭 리스너(click listener) 또는 프레서 리스너(press listener) 포함)로 설정된 객체, 또는 이미지(image), 비디오 클립(video clip), 앵커(anchor), 폼(form)과 같이 사용자가 선택 가능한 엘리먼트(selectable element)가 포함된 영역일 수 있다. 다른 예를 들어, 콘텐트 제어 모듈(440)은 스크롤 제어 모듈(430)에 의해 제어되는 스크롤 상태에 대응하여 상기 제1 화면을 표시하도록 디스플레이 모듈(310)의 상태를 업데이트 및 제어할 수 있다.In one embodiment, the content control module 440 may determine the content of the first screen displayed on the display panel while the touch event is maintained. For example, the content control module 440 may check whether the touchdown point of the touch event corresponds to the selection input area in the first screen. The selection input area is an object set as a touch listener (or a listener related to user input) (eg, including a click listener or a press listener) in the first screen, or It may be an area including selectable elements such as images, video clips, anchors, and forms. For another example, the content control module 440 may update and control a state of the display module 310 to display the first screen in response to a scroll state controlled by the scroll control module 430 .

도 4에 도시된 구성요소들의 동작이나 기능에 관한 구체적 내용은 도 5를 참조하여 설명한다.Details regarding the operation or function of the components shown in FIG. 4 will be described with reference to FIG. 5 .

도 5를 참조하면, 동작 501에서 터치 이벤트 입력 모듈(410)은 디스플레이 모듈(310)을 통해 제1 화면을 표시하는 중 터치 다운이 발생함을 감지할 수 있다. 터치 이벤트 입력 모듈(410)은 상기 터치 다운을 기반으로 새로운 터치 이벤트가 발생함을 판단하고, 상기 터치 다운이 발생한 후 터치가 해제될 때까지 터치 지점을 지속적으로 확인할 수 있다.Referring to FIG. 5 , in operation 501 , the touch event input module 410 may detect that a touchdown occurs while displaying the first screen through the display module 310 . The touch event input module 410 determines that a new touch event occurs based on the touch down, and continuously checks the touch point until the touch is released after the touch down occurs.

일 실시 예에 따르면, 동작 503에서 스크롤 판단 모듈(420)은 새로운 터치 이벤트의 발생에 응답하여 스크롤 판단 관련 설정을 리셋할 수 있다. 예시적으로, 스크롤 판단 모듈(420)은 상기 터치 이벤트 동안 스크롤을 개시할지 여부를 판단하는 기준이 되는 터치 슬롭 및/또는 상기 터치 이벤트 동안 획득된 터치 정보가 터치 슬롭을 초과하는지에 대한 판단 여부를 나타내는 터치 슬롭 체크 항목을 초기 상태로 설정할 수 있다. 예를 들어, 스크롤 판단 모듈(420)은 동작 503에서, 상기 터치 슬롭을 지정된 디폴트 값으로 설정하고, 상기 터치 슬롭 체크 항목을 true로 설정할 수 있다.According to an embodiment, in operation 503, the scroll determination module 420 may reset settings related to scroll determination in response to a new touch event. Exemplarily, the scroll determination module 420 determines whether a touch slope that is a criterion for determining whether or not to initiate scrolling during the touch event and/or whether touch information obtained during the touch event exceeds the touch slope The displayed touch slope check item can be set to an initial state. For example, in operation 503, the scroll determination module 420 may set the touch slope to a specified default value and set the touch slope check item to true.

일 실시 예에 따르면, 동작 505에서 콘텐트 제어 모듈(440)은 상기 터치 다운된 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는지 확인할 수 있다. 콘텐트 제어 모듈(440)은 상기 제1 화면 내에서 터치 리스너(touch listener)로 설정된 객체 및/또는 사용자가 선택 가능한 엘리먼트(selectable element)가 포함된 영역을 상기 선택 입력 영역으로 판단할 수 있다. 예를 들어, 콘텐트 제어 모듈(440)은 상기 제1 화면 내 상기 터치 다운 지점에 상기 객체 또는 상기 선택 가능한 엘리먼트가 배치된 것으로 확인하면, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인할 수 있다. 다른 예를 들어, 콘텐트 제어 모듈(440)은 상기 제1 화면에서 상기 터치 다운에 의해 선택된 엘리먼트의 부모 엘리먼트(parent element)가 상기 객체 또는 상기 선택 가능한 엘리먼트에 대응함을 확인하면, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인할 수 있다. According to an embodiment, in operation 505, the content control module 440 may check whether the touched-down point corresponds to the selection input area in the first screen. The content control module 440 may determine an area including objects set as touch listeners and/or selectable elements within the first screen as the selection input area. For example, if the content control module 440 determines that the object or the selectable element is disposed at the touchdown point in the first screen, it can determine that the touchdown point corresponds to the selection input area. there is. For another example, when the content control module 440 confirms that a parent element of an element selected by the touch-down on the first screen corresponds to the object or the selectable element, the touch-down point is determined. It can be confirmed that it corresponds to the selection input area.

일 실시 예에 따르면, 동작 507에서 스크롤 판단 모듈(420)은 동작 505의 확인 결과를 저장할 수 있다. 예를 들어, 상기 확인 결과 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하지 않으면, 스크롤 판단 모듈(420)은 상기 터치 다운 지점의 선택 입력 영역 해당 여부를 체크하는 항목을 false로 설정하고, 상기 터치 슬롭을 0으로 설정할 수 있다. 상기 확인 결과 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하면, 스크롤 판단 모듈(420)은 선택 입력 영역 해당 여부를 체크하는 항목을 true로 설정하고, 상기 터치 슬롭을 0보다 큰 값으로 설정할 수 있다.According to an embodiment, in operation 507, the scroll determination module 420 may store the confirmation result of operation 505. For example, as a result of the check, if the touchdown point does not correspond to the selected input area, the scroll determination module 420 sets an item for checking whether the touchdown point corresponds to the selected input area to false, and sets the touchdown point to false. You can set the slope to 0. As a result of the check, if the touchdown point corresponds to the selected input area, the scroll determination module 420 may set an item for checking whether the selected input area corresponds to true and set the touch slope to a value greater than 0. .

일 실시 예에 따르면, 동작 511에서 터치 이벤트 입력 모듈(410)은 상기 터치 이벤트의 1번째 터치 이동을 감지할 수 있다. 다양한 실시 예에 따라, 터치 이벤트 입력 모듈(410)은 상기 터치 이벤트가 유지되는 동안 지정된 시간마다 획득하는 터치 정보를 기반으로 상기 터치 이동을 감지할 수 있다. 상기 터치 정보는 상기 터치 이벤트가 유지되는 동안 터치가 감지된 지점의 좌표, 현재 터치 지점을 기준으로 계산된 이동 속도나 이동 거리 또는 감속도 중 적어도 하나를 포함할 수 있다. 상기 지정된 시간은 디스플레이 패널(311)의 화면 재생률(refresh rate)에 대응하여 설정될 수 있다. 예를 들어, 디스플레이 패널(311)의 화면 재생률이 60Hz인 경우, 적어도 하나의 프로세서(320)는 16ms마다 상기 터치 이벤트에 관련된 터치 정보를 획득할 수 있다.According to an embodiment, in operation 511, the touch event input module 410 may detect a first touch movement of the touch event. According to various embodiments, the touch event input module 410 may detect the touch movement based on touch information acquired at each designated time while the touch event is maintained. The touch information may include at least one of coordinates of a point where a touch is sensed while the touch event is maintained, movement speed or movement distance calculated based on a current touch point, or deceleration. The designated time may be set corresponding to a screen refresh rate of the display panel 311 . For example, when the screen refresh rate of the display panel 311 is 60 Hz, at least one processor 320 may obtain touch information related to the touch event every 16 ms.

일 실시 예에 따르면, 동작 513에서 스크롤 판단 모듈(420)은 상기 터치 이벤트에 대한 터치 슬롭 체크 항목이 true로 설정됨을 확인하고, 상기 1번째 터치 이동에 의한 이동 거리가 상기 설정된 터치 슬롭을 초과하는지 여부를 확인할 수 있다. 상기 확인 결과 상기 1번째 터치 이동에 의한 이동 거리가 상기 터치 슬롭을 초과하면, 동작 515에서 스크롤 제어 모듈(430)은 상기 제1 화면에 대한 스크롤을 개시할 수 있다. 상기 확인 결과 상기 1번째 터치 이동에 의한 이동 거리가 상기 터치 슬롭을 초과하지 않으면, 스크롤 제어 모듈(430)은 상기 터치 슬롭을 초과하는 후속 터치 이동이 감지될 때까지 아무런 동작을 수행하지 않을 수 있다.According to an embodiment, in operation 513, the scroll determination module 420 determines whether a touch slope check item for the touch event is set to true, and determines whether a movement distance caused by the first touch movement exceeds the set touch slope. can check whether As a result of the check, if the movement distance due to the first touch movement exceeds the touch slope, in operation 515, the scroll control module 430 may start scrolling the first screen. As a result of the check, if the movement distance by the first touch movement does not exceed the touch slope, the scroll control module 430 may not perform any operation until a subsequent touch movement exceeding the touch slope is detected. .

일 실시 예에 따르면, 스크롤 제어 모듈(430)에 의해 상기 제1 화면에 대한 스크롤이 발생되면, 동작 517에서 스크롤 판단 모듈(420)은 상기 터치 슬롭 체크 항목의 설정을 false로 변경할 수 있다. 스크롤 판단 모듈(420)은 상기 터치 슬롭 체크 항목이 false로 설정된 동안 감지된 터치 이동에 대하여 터치 슬롭 초과 여부를 확인하지 않고 스크롤을 수행하도록 판단할 수 있다. 콘텐트 제어 모듈(440)은 상기 제1 화면에 대한 스크롤 발생에 응답하여, 동작 519에서 상기 1번째 터치 이동에 대응하여 스크롤되는 상기 제1 화면을 표시하도록 디스플레이 모듈(310)의 상태를 업데이트할 수 있다.According to an embodiment, when scrolling of the first screen is generated by the scroll control module 430, in operation 517, the scroll determination module 420 may change the setting of the touch slope check item to false. The scroll determination module 420 may determine to perform scrolling without checking whether the touch slope is exceeded with respect to the detected touch movement while the touch slope check item is set to false. The content control module 440 may update a state of the display module 310 to display the scrolled first screen in response to the first touch movement in operation 519 in response to a scroll of the first screen. there is.

일 실시 예에 따르면, 동작 521에서 터치 이벤트 입력 모듈(410)은 상기 터치 이벤트의 2번째 터치 이동을 감지할 수 있다. 상기 2번째 터치 이동을 감지함에 응답하여, 동작 523에서 스크롤 판단 모듈(420)은 상기 터치 이벤트에 대한 터치 슬롭 체크 항목이 false로 설정됨을 확인할 수 있다. 상기 터치 슬롭 체크 항목이 false로 설정된 경우, 스크롤 판단 모듈(420)은 상기 2번째 터치 이동이 감지된 시점에 상기 제1 화면에 대한 스크롤이 수행 중임을 인식하고, 상기 터치 이동에 대한 터치 슬롭 확인을 생략할 수 있다. According to an embodiment, in operation 521, the touch event input module 410 may detect a second touch movement of the touch event. In response to detecting the second touch movement, in operation 523, the scroll determination module 420 may confirm that the touch slope check item for the touch event is set to false. When the touch slope check item is set to false, the scroll determination module 420 recognizes that scrolling of the first screen is being performed at the time when the second touch movement is detected, and checks the touch slope for the touch movement. can be omitted.

일 실시 예에 따르면, 동작 525에서 스크롤 제어 모듈(430)은 상기 제1 화면에 스크롤이 수행되는 동안 상기 스크롤을 종료하고자 하는 사용자 의도가 있는지 판단할 수 있다. 예를 들어, 스크롤 제어 모듈(430)은 상기 터치 이동이 감지된 시점에 획득된 터치 정보를 기반으로 해당 스크롤 구간에서의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 확인할 수 있다. 스크롤 제어 모듈(430)은 상기 스크롤 구간에 대하여 확인된 상기 이동 거리가 제1 임계값보다 작고, 상기 스크롤 구간에서 계산된 감속도가 제2 임계값보다 크면, 사용자가 상기 스크롤을 종료하고자 하는 의도가 있는 것으로 판단할 수 있다. 상기 제1 임계값은 상기 스크롤을 지속하기 위한 최저 터치 이동 크기를 나타내고, 상기 제2 임계값은 스크롤 정지 구간을 판별하는 기준으로 정의된 감속도 값을 나타낼 수 있다. 상기 스크롤 구간의 감속도는 상기 제1 화면에 대한 스크롤 수행 중 터치 이동 거리가 가장 큰 스크롤 구간을 기준으로 계산될 수 있다. 스크롤 제어 모듈(430)은 상기 제1 임계값 및 상기 제2 임계값에 관한 판단 조건 중 적어도 어느 하나가 충족되지 않으면, 사용자가 상기 스크롤을 지속하고자 하는 의도가 있는 것으로 판단할 수 있다. 다른 예를 들어, 상기 제1 화면이 지정된 속도 미만으로 천천히 스크롤 되는 경우, 스크롤 제어 모듈(430)은 상기 터치 이동이 감지된 시점까지 측정된 각 스크롤 구간 별 터치 이동 거리를 기반으로 사용자의 스크롤 종료 의도를 판단할 수 있다. 이 경우, 스크롤 제어 모듈(430)은 터치 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하고, 상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하면, 사용자가 상기 스크롤을 종료하고자 하는 의도가 있는 것으로 판단할 수 있다. 상기 카운트 과정에서, 스크롤 제어 모듈(430)은 터치 이동 거리가 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과함을 확인하면, 상기 카운트를 0으로 리셋하고, 이후 감지되는 터치 이동에 대하여 처음부터 다시 카운트할 수 있다. 상기 제3 임계값은 사용자의 스크롤 종료 의도를 판단하기 위한 기준 횟수로 설정된 값이고, 상기 제4 임계값은 사용자의 스크롤 지속 의도를 판단하기 위한 기준 횟수로 설정된 값일 수 있다. 스크롤 제어 모듈(430)은 상기 제3 임계값에 관한 판단 조건이 충족되지 않으면, 사용자가 상기 스크롤을 지속하고자 하는 의도가 있는 것으로 판단할 수 있다.According to an embodiment, in operation 525, the scroll control module 430 may determine whether there is a user intention to end the scrolling while the first screen is scrolling. For example, the scroll control module 430 may check at least one of a movement speed, a movement distance, and a deceleration in a corresponding scroll section based on touch information acquired at the time when the touch movement is detected. The scroll control module 430 determines that the user intends to end the scrolling when the movement distance checked for the scrolling section is smaller than the first threshold and the deceleration calculated in the scrolling section is larger than the second threshold. It can be judged that there is The first threshold value may represent a minimum touch movement level for sustaining the scrolling, and the second threshold value may represent a deceleration value defined as a criterion for determining a scroll stop section. The deceleration of the scroll section may be calculated based on a scroll section in which the touch movement distance is the largest during scrolling of the first screen. The scroll control module 430 may determine that the user has an intention to continue the scrolling when at least one of the determination conditions for the first threshold value and the second threshold value is not satisfied. For another example, when the first screen is slowly scrolled at less than a designated speed, the scroll control module 430 terminates the user's scroll based on the touch movement distance for each scroll section measured up to the point at which the touch movement is detected. intent can be determined. In this case, the scroll control module 430 counts scroll sections in which the touch movement distance is smaller than the first threshold value, and when the counted number of scroll sections exceeds the third threshold value, the user decides to end the scrolling. It can be judged that there is an intention. During the counting process, the scroll control module 430 resets the count to 0 when it is confirmed that the scroll section in which the touch movement distance is greater than the first threshold value exceeds the fourth threshold value, and thereafter, the detected touch movement can be counted again from the beginning. The third threshold may be a value set as a reference number of times for determining the user's intention to end scrolling, and the fourth threshold may be a value set as a reference number of times for determining the user's intention to continue scrolling. The scroll control module 430 may determine that the user has an intention to continue the scrolling when the determination condition for the third threshold is not satisfied.

일 실시 예에 따르면, 동작 525의 판단 결과 상기 스크롤을 종료하고자 하는 사용자 의도가 확인되지 않으면, 스크롤 제어 모듈(430)은 동작 527에서 상기 제1 화면에 대한 스크롤을 지속하도록 결정할 수 있다. 또한, 콘텐트 제어 모듈(440)은 동작 529에서 상기 2번째 터치 이동에 대응하여 스크롤되는 상기 제1 화면을 표시하도록 디스플레이 모듈(310)의 상태를 업데이트할 수 있다. According to an embodiment, if the user's intention to end the scrolling is not confirmed as a result of the determination in operation 525, the scroll control module 430 may determine to continue scrolling the first screen in operation 527. In addition, the content control module 440 may update the state of the display module 310 to display the scrolled first screen in response to the second touch movement in operation 529 .

일 실시 예에 따르면, 동작 531에서 터치 이벤트 입력 모듈(410)은 상기 터치 이벤트의 n번째 터치 이동을 감지할 수 있다. 상기 n번째 터치 이동을 감지함에 응답하여, 동작 533에서 스크롤 판단 모듈(420)은 상기 터치 이벤트에 대한 터치 슬롭 체크 항목이 false로 설정됨을 확인하고, 상기 터치 이동에 대한 터치 슬롭 확인을 생략할 수 있다. According to an embodiment, in operation 531, the touch event input module 410 may detect an n-th touch movement of the touch event. In response to detecting the n-th touch movement, in operation 533, the scroll determination module 420 may determine that the touch slope check item for the touch event is set to false, and may omit the touch slope check for the touch movement. there is.

일 실시 예에 따르면, 동작 535에서 스크롤 제어 모듈(430)은 상기 제1 화면에 스크롤이 수행되는 동안 상기 스크롤을 종료하고자 하는 사용자 의도가 있는지 판단할 수 있다. 동작 535에서 상기 사용자 의도에 대한 판단은 동작 525와 동일한 방식으로 수행될 수 있다.According to one embodiment, in operation 535, the scroll control module 430 may determine whether there is a user's intention to end the scroll while the first screen is being scrolled. In operation 535, the determination of the user's intention may be performed in the same manner as in operation 525.

일 실시 예에 따르면, 동작 535의 판단 결과 상기 스크롤을 종료하고자 하는 사용자 의도가 확인되면, 스크롤 판단 모듈(420)은 상기 제1 화면에 대한 스크롤을 멈추도록 결정하고, 상기 터치 슬롭 체크 항목의 설정값을 true로 변경할 수 있다. 스크롤 판단 모듈(420)은 상기 스크롤의 상태 변경에 응답하여, 상기 터치 슬롭을 지정된 디폴트 값으로 재설정할 수 있다.According to an embodiment, if the user's intention to end the scrolling is confirmed as a result of the determination in operation 535, the scroll determination module 420 determines to stop the scrolling of the first screen and sets the touch slope check item. You can change the value to true. The scroll determination module 420 may reset the touch slope to a designated default value in response to a change in the state of the scroll.

일 실시 예에 따르면, 동작 541에서 터치 이벤트 입력 모듈(410)은 상기 터치 이벤트의 n+1번째 터치 이동을 감지할 수 있다. 상기 n+1번째 터치 이동을 감지함에 응답하여, 동작 543에서 스크롤 판단 모듈(420)은 상기 터치 이벤트에 대한 터치 슬롭 체크 항목이 true로 설정됨을 확인하고, 상기 n+1번째 터치 이동에 의한 이동 거리가 상기 설정된 터치 슬롭을 초과하는지 여부를 확인할 수 있다. 동작 543에서, 스크롤 제어 모듈(430)은 상기 n+1번째 터치 이동에 의한 이동 거리가 상기 터치 슬롭을 초과하지 않음을 확인하고, 상기 제1 화면에 대한 스크롤이 정지된 상태에서 상기 n+1번째 터치 이동에 대응하는 동작을 수행하지 않도록 결정할 수 있다.According to an embodiment, in operation 541, the touch event input module 410 may detect an n+1 th touch movement of the touch event. In response to detecting the n+1 th touch movement, in operation 543, the scroll determination module 420 confirms that the touch slope check item for the touch event is set to true, and moves by the n+1 th touch movement. It may be checked whether the distance exceeds the set touch slope. In operation 543, the scroll control module 430 confirms that the movement distance by the n+1 th touch movement does not exceed the touch slope, and in a state where the scrolling of the first screen is stopped, the n+1 It may be determined not to perform an operation corresponding to the th touch movement.

일 실시 예에 따르면, 동작 551에서 터치 이벤트 입력 모듈(410)은 상기 터치 이벤트의 n+2번째 터치 이동을 감지할 수 있다. 상기 n+2번째 터치 이동을 감지함에 응답하여, 동작 553에서 스크롤 판단 모듈(420)은 상기 터치 이벤트에 대한 터치 슬롭 체크 항목이 true로 설정됨을 확인하고, 상기 n+2번째 터치 이동에 의한 이동 거리가 상기 설정된 터치 슬롭을 초과하는지 여부를 확인할 수 있다. 스크롤 제어 모듈(430)은 상기 n+2번째 터치 이동에 의한 이동 거리가 상기 터치 슬롭을 초과하지 않음을 확인하고, 상기 n+2번째 터치 이동에 대응하는 동작을 수행하지 않도록 결정할 수 있다.According to an embodiment, in operation 551, the touch event input module 410 may detect an n+2 th touch movement of the touch event. In response to detecting the n+2 th touch movement, in operation 553, the scroll determination module 420 confirms that the touch slope check item for the touch event is set to true, and moves by the n+2 th touch movement. It may be checked whether the distance exceeds the set touch slope. The scroll control module 430 may confirm that the movement distance by the n+2 th touch movement does not exceed the touch slope, and determine not to perform an operation corresponding to the n+2 th touch movement.

일 실시 예에 따르면, 동작 561에서 터치 이벤트 입력 모듈(410)은 터치 해제를 감지할 수 있다. 터치 이벤트 입력 모듈(410)은 상기 감지된 터치 해제를 기반으로 상기 터치 이벤트가 종료됨을 판단할 수 있다.According to an embodiment, in operation 561, the touch event input module 410 may detect a touch release. The touch event input module 410 may determine that the touch event ends based on the detected touch release.

일 실시 예에 따르면, 동작 563에서 스크롤 판단 모듈(420)은 상기 터치 해제를 감지함에 응답하여 상기 터치 이벤트에 대한 터치 슬롭 체크 항목을 확인할 수 있다. 예를 들어, 상기 터치 슬롭 체크 항목이 true로 설정된 경우, 스크롤 판단 모듈(420)은 상기 제1 화면에 대한 스크롤이 정지된 상태임을 확인하고, 추가 동작 없이 바로 상기 터치 이벤트가 종료되도록 처리할 수 있다. 다른 예를 들어, 상기 터치 슬롭 체크 항목이 false로 설정된 경우, 스크롤 판단 모듈(420)은 상기 제1 화면에 대한 스크롤이 수행 중인 상태임을 확인할 수 있다. 이 경우, 스크롤 제어 모듈(430)은 동작 565에서 상기 터치 이벤트가 종료되기 직전 상기 스크롤에 대하여 애니메이션 효과(예: 플링(fling))를 적용할 수 있다. 스크롤 제어 모듈(430)은 상기 스크롤의 최근 속도(예: 터치 해제 시점을 기준으로 지정된 개수의 스크롤 구간들의 평균 이동 속도)를 기반으로 상기 애니메이션 효과의 발생 속도를 설정할 수 있다. 일 실시 예에 따르면, 콘텐트 제어 모듈(440)은 동작 567에서 상기 터치 해제에 대응하여 상기 설정을 기반으로 상기 제1 화면에 대한 스크롤이 점차적으로 멈추도록 디스플레이 모듈(310)의 상태를 업데이트할 수 있다.According to an embodiment, in operation 563, the scroll determination module 420 may check a touch slope check item for the touch event in response to detecting the touch release. For example, when the touch slope check item is set to true, the scroll determination module 420 may determine that the scrolling of the first screen is stopped, and process the touch event to be terminated immediately without an additional operation. there is. For another example, when the touch slope check item is set to false, the scroll determination module 420 may determine that scrolling of the first screen is in progress. In this case, the scroll control module 430 may apply an animation effect (eg, fling) to the scroll right before the touch event ends in operation 565 . The scroll control module 430 may set the animation effect generation speed based on the latest scrolling speed (eg, the average moving speed of a specified number of scroll sections based on the touch release time point). According to an embodiment, the content control module 440 may update the state of the display module 310 to gradually stop scrolling on the first screen based on the setting in response to the touch release in operation 567. there is.

도 6은 일 실시 예에 따라, 터치 이벤트가 유지되는 동안 사용자의 스크롤 종료 의도를 판단하는 방식을 설명하는 도면이다. 다양한 실시 예에 따라, 전자 장치(300)는 디스플레이 모듈(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이 모듈(310))을 통해 감지된 터치 이동에 관한 정보를 기반으로 사용자의 스크롤 종료 의도를 판단할 수 있다. 도 6에 도시된 동작들은 상기 터치 이벤트가 유지되는 동안 지정된 시간마다 감지되는 터치 이동에 대하여 수행되는 동작들(예: 도 4의 동작 511 내지 동작 553)에 대응될 수 있다. 도 6의 동작들은 전자 장치(300)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(320), 터치 센서 제어 회로(도 3의 터치 센서 제어 회로(313)), 및/또는 도 4의 전자 장치(300)에 포함된 모듈들(예: 스크롤 판단 모듈(420) 및/또는 스크롤 제어 모듈(430))에 의해 수행될 수 있다.6 is a diagram for explaining a method of determining a user's scroll end intention while a touch event is maintained, according to an exemplary embodiment. According to various embodiments, the electronic device 300 controls the user's scroll based on information about touch movement detected through a display module (eg, the display module 160 of FIG. 1 or the display module 310 of FIG. 3 ). Termination intent can be determined. The operations shown in FIG. 6 may correspond to operations (eg, operations 511 to 553 of FIG. 4 ) performed in response to a touch movement detected at each designated time while the touch event is maintained. The operations of FIG. 6 include at least one processor included in the electronic device 300 (eg, processor 120 of FIG. 1 or at least one processor 320 of FIG. 3 ), a touch sensor control circuit (touch sensor control of FIG. 3 ) circuit 313) and/or modules included in the electronic device 300 of FIG. 4 (eg, the scroll determination module 420 and/or the scroll control module 430).

도 6을 참조하면, 동작 610에서 전자 장치(300)는 디스플레이 모듈(310)을 통해 제1 화면을 표시하는 중 스크롤 상태 변경에 관한 판단이 필요한지 여부를 확인할 수 있다. 예를 들어, 전자 장치(300)는 상기 터치 이벤트가 유지되는 동안 지정된 시간 마다 획득되는 터치 정보를 기반으로 새로운 터치 이동을 감지하면, 상기 스크롤 상태 변경에 관한 판단이 필요한 것으로 인식할 수 있다.Referring to FIG. 6 , in operation 610, the electronic device 300 may check whether it is necessary to determine a scroll state change while displaying the first screen through the display module 310. For example, when the electronic device 300 detects a new touch movement based on touch information acquired at each designated time while the touch event is maintained, it may recognize that the scroll state change needs to be determined.

동작 610의 확인 결과 상기 스크롤 상태 변경에 관한 판단이 필요하면 (동작 610-예), 전자 장치(300)는 동작 620에서 터치 슬롭 체크 항목이 true로 설정되어 있는지 확인할 수 있다. 상기 터치 슬롭 체크 항목은 상기 획득된 터치 정보가 터치 슬롭을 초과하는지에 대한 판단의 수행 여부를 나타낼 수 있다. 동작 620의 확인 결과 상기 터치 슬롭 체크 항목이 true로 설정되어 있으면 (동작 620-예), 전자 장치(300)는 동작 625에서 상기 터치 이동이 감지된 지점에 대응하는 구간의 이동거리가 터치 슬롭 이내인지 확인할 수 있다. 상기 터치 슬롭은 상기 제1 화면에 대한 스크롤을 발생시키는 기준이 되는 최소 이동 거리로 설정된 값일 수 있다. 동작 625의 확인 결과 상기 이동 거리가 상기 터치 슬롭 이내이면 (동작 625-예), 전자 장치(300)는 동작 635에서 상기 터치 슬롭 체크 항목을 true로 설정하고, 스크롤 이동 값을 0으로 설정하여 상기 제1 화면에 대한 스크롤이 발생하지 않도록 할 수 있다. 동작 625의 확인 결과 상기 이동 거리가 상기 터치 슬롭을 초과하면 (동작 625-아니오), 전자 장치(300)는 동작 640에서 상기 제1 화면에 대한 스크롤을 개시하고, 상기 터치 슬롭 체크 항목을 false로 설정할 수 있다. As a result of checking in operation 610, if it is necessary to determine the scroll state change (operation 610 - yes), the electronic device 300 may check in operation 620 whether the touch slope check item is set to true. The touch slope check item may indicate whether a determination is made whether the acquired touch information exceeds the touch slope. As a result of checking in operation 620, if the touch slope check item is set to true (operation 620 - Yes), the electronic device 300 determines that the movement distance of the section corresponding to the point where the touch movement is detected in operation 625 is within the touch slope. can check whether it is The touch slope may be a value set as a minimum movement distance that is a criterion for generating a scroll of the first screen. As a result of checking in operation 625, if the movement distance is within the touch slope (operation 625 - Yes), in operation 635, the electronic device 300 sets the touch slope check item to true and sets the scroll movement value to 0 to Scrolling of the first screen may not occur. As a result of checking in operation 625, if the moving distance exceeds the touch slope (operation 625 - No), the electronic device 300 starts scrolling the first screen in operation 640 and sets the touch slope check item to false. can be set

동작 620의 확인 결과 상기 터치 슬롭 체크 항목이 false로 설정되어 있으면 (동작 620-아니오), 전자 장치(300)는 동작 630에서 상기 제1 화면에 대한 스크롤이 수행 중임을 인식하고, 상기 터치 이동에 대한 터치 슬롭 확인을 생략할 수 있다. 동작 630에서, 전자 장치(300)는 상기 터치 이동을 기반으로 사용자가 상기 스크롤을 종료하고자 하는 의도가 있는지 확인할 수 있다. As a result of checking in operation 620, if the touch slope check item is set to false (operation 620 - No), the electronic device 300 recognizes that scrolling on the first screen is being performed in operation 630, and responds to the touch movement. It is possible to omit the touch slope check for In operation 630, the electronic device 300 may determine whether the user has an intention to end the scrolling based on the touch movement.

일 실시 예에 따르면, 동작 630에서 전자 장치(300)는 상기 터치 이동이 감지된 시점에 획득된 터치 정보를 기반으로 해당 스크롤 구간에서의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 확인할 수 있다. 예시적으로, 전자 장치(300)는 상기 제1 화면에 대한 스크롤이 수행되는 동안 지정된 시간 마다 상기 터치 이동이 감지된 지점들의 좌표 정보를 획득하고, 상기 획득한 좌표 정보를 기반으로 스크롤 구간 별 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 계산할 수 있다. 예를 들어, 약 16ms 마다 상기 터치 정보를 획득하는 경우, 전자 장치(300)는 10개의 터치 이동이 감지된 지점의 좌표 정보 {(10, 10), (10, 20), (10, 40), (10, 60), (10, 90), (10, 100), (10, 102), (10, 103), (10, 103), (10, 101)}를 확인할 수 있다. 상기 좌표 정보는 디스플레이 모듈(310)에 포함된 디스플레이 패널(311) 상에 정의된 절대 좌표를 의미할 수 있다. 이 경우, 현재 터치 지점의 좌표 정보는 가장 최근에 측정된 (10, 101)이고, 좌표들 사이의 차이는 각 스크롤 구간 별 이동 속도(스크롤 양)에 대응될 수 있다. 전자 장치(300)는 상기 좌표 정보를 기반으로 각 스크롤 구간에 대한 이동 속도 {(0, 10), (0, 20), (0, 20), (0, 30), (0, 10), (0, 2), (0, 1), (0, 0), (0, -2)}를 계산할 수 있다. 전자 장치(300)는 상기 계산 결과를 기반으로 상기 좌표 정보 중 5번째 터치 이동에서의 이동 거리가 가장 크고, 상기 5번째 터치 이동에 대응하는 스크롤 구간에서의 이동 속도가 (0, 30)임을 확인할 수 있다. 다양한 실시 예에 따라, 8번째 터치 이동이 감지된 지점에서의 감속도를 구하고자 하는 경우, 전자 장치(300)는 해당 지점에 대응하는 스크롤 구간의 이동 속도가 (0, 1)임을 확인하고, 아래 수학식 1과 같이 해당 스크롤 구간의 감속도(deceleration)를 계산할 수 있다.According to an embodiment, in operation 630, the electronic device 300 may check at least one of a movement speed, a movement distance, or a deceleration in a corresponding scroll section based on touch information acquired at the time when the touch movement is detected. . For example, while scrolling of the first screen is performed, the electronic device 300 obtains coordinate information of points where the touch movement is detected at each designated time, and moves for each scroll section based on the obtained coordinate information. At least one of speed, travel distance, or deceleration can be calculated. For example, when acquiring the touch information every about 16 ms, the electronic device 300 obtains coordinate information of points where 10 touch movements are detected {(10, 10), (10, 20), (10, 40) , (10, 60), (10, 90), (10, 100), (10, 102), (10, 103), (10, 103), (10, 101)}. The coordinate information may refer to absolute coordinates defined on the display panel 311 included in the display module 310 . In this case, coordinate information of the current touch point is the most recently measured (10, 101), and a difference between the coordinates may correspond to a movement speed (scrolling amount) for each scroll section. The electronic device 300 determines the movement speed {(0, 10), (0, 20), (0, 20), (0, 30), (0, 10), (0, 2), (0, 1), (0, 0), (0, -2)} can be computed. Based on the calculation result, the electronic device 300 determines that the movement distance in the 5th touch movement is the largest among the coordinate information and the movement speed in the scroll section corresponding to the 5th touch movement is (0, 30). can According to various embodiments, when trying to obtain the deceleration at the point where the eighth touch movement is detected, the electronic device 300 determines that the movement speed of the scroll section corresponding to the corresponding point is (0, 1), As shown in Equation 1 below, the deceleration of the corresponding scroll section may be calculated.

이 때, 상기 스크롤을 지속하기 위한 최저 터치 이동 속도를 나타내는 제1 임계값이 2.1, 스크롤 정지 구간을 판별하는 기준으로 정의된 감속도 값을 나타내는 제2 임계값이 0.5로 설정된 것으로 가정하면, 전자 장치(300)는 7번째 터치 이동이 감지된 (10, 102) 지점부터 상기 스크롤을 멈추려는 의도가 있는 것으로 판단할 수 있다.At this time, assuming that the first threshold value representing the lowest touch movement speed for sustaining the scrolling is set to 2.1 and the second threshold value representing the deceleration value defined as the criterion for determining the scroll stop section is set to 0.5, the former The device 300 may determine that there is an intention to stop the scrolling from the point (10, 102) where the seventh touch movement is detected.

다른 일 실시 예에 따르면, 사용자가 지정된 속도 미만으로 천천히 터치 이동하여 스크롤 하는 경우, 동작 630에서 전자 장치(300)는 감속도 계산 없이 스크롤 구간들에서 측정된 터치 이동 속도를 기반으로 상기 스크롤을 종료하고자 하는 의도를 판단할 수 있다. 예를 들어, 약 16ms 마다 상기 터치 정보를 획득하는 경우, 전자 장치(300)는 10개의 터치 이동이 감지된 지점의 좌표 정보 {(10, 9), (10, 13), (10, 16), (10, 18), (10, 21), (10, 24), (10, 28), (10, 32), (10, 36), (10, 40)}를 확인할 수 있다. 전자 장치(300)는 상기 좌표 정보를 기반으로 각 스크롤 구간에 대한 이동 속도 {(0, 4), (0, 3), (0, 2), (0, 3), (0, 3), (0, 4), (0, 4), (0, 4), (0, 4)}를 계산할 수 있다. 이 경우, 최대 이동 속도가 측정된 스크롤 구간과 다른 스크롤 구간들 사이의 이동 속도 차이가 크지 않기 때문에 감속도 계산 결과를 이용하여 사용자의 스크롤 멈춤 의도를 판단하기에는 무리가 있을 수 있다. 따라서, 전자 장치(300)는 저속 스크롤 수행 중인 경우에는 이동 속도가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하고, 상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하면 상기 스크롤을 멈추고자 하는 의도가 있는 것으로 판단할 수 있다. 상기 제3 임계값은 사용자의 스크롤 멈춤 의도를 판단하기 위한 기준 횟수로서, 사전 정의될 수 있다. 전자 장치(300)는 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 이동 속도가 상기 제1 임계값보다 큰 스크롤 구간을 추가 확인하고, 상기 확인된 스크롤 구간이 제4 임계값을 초과함을 확인하면, 상기 카운트를 0으로 리셋하고, 이후 감지되는 터치 이동에 대하여 처음부터 다시 카운트할 수 있다. 상기 제4 임계값은 사용자의 스크롤 지속 의도를 판단하기 위한 기준 횟수로서, 사전 정의될 수 있다.According to another embodiment, when the user scrolls by touch movement slowly at less than a specified speed, in operation 630, the electronic device 300 terminates the scrolling based on the touch movement speed measured in scroll sections without calculating deceleration. You can judge what you want to do. For example, when acquiring the touch information every about 16 ms, the electronic device 300 obtains coordinate information of points where 10 touch movements are detected {(10, 9), (10, 13), (10, 16) , (10, 18), (10, 21), (10, 24), (10, 28), (10, 32), (10, 36), (10, 40)}. The electronic device 300 determines the movement speed {(0, 4), (0, 3), (0, 2), (0, 3), (0, 3), (0, 4), (0, 4), (0, 4), (0, 4)} can be computed. In this case, since the difference in movement speed between the scroll section where the maximum movement speed is measured and other scroll sections is not large, it may be difficult to determine the user's intention to stop scrolling using the deceleration calculation result. Therefore, when the electronic device 300 is performing low-speed scrolling, the electronic device 300 counts scroll sections in which the movement speed is smaller than the first threshold value, and when the number of the counted scroll sections exceeds the third threshold value, the electronic device 300 determines to stop the scrolling. It can be judged that there is an intention. The third threshold is a standard number of times for determining the user's intention to stop scrolling, and may be predefined. While counting scroll sections smaller than the first threshold, the electronic device 300 additionally checks a scroll section in which the moving speed is greater than the first threshold, and the checked scroll section exceeds a fourth threshold. When is confirmed, the count may be reset to 0, and then the detected touch movement may be counted again from the beginning. The fourth threshold is a reference number of times for determining the user's intention to continue scrolling, and may be predefined.

동작 630의 확인 결과 상기 스크롤을 종료하고자 하는 의도가 있다면 (동작 630-예), 전자 장치(300)는 동작 635에서 상기 터치 슬롭 체크 항목을 true로 설정하고, 스크롤 이동 값을 0으로 설정하여 상기 제1 화면에 대한 스크롤이 발생하지 않도록 할 수 있다.As a result of checking in operation 630, if there is an intention to end the scrolling (operation 630 - yes), the electronic device 300 sets the touch slope check item to true and sets the scroll movement value to 0 in operation 635 to Scrolling of the first screen may not occur.

동작 630의 확인 결과 상기 스크롤을 종료하고자 하는 의도가 없으면 (동작 630-아니오), 전자 장치(300)는 상기 제1 화면에 대한 스크롤을 지속하도록 결정할 수 있다. 이 경우, 상기 터치 슬롭 체크 항목은 기 설정된 false 값으로 유지될 수 있다.As a result of checking in operation 630, if there is no intention to end the scrolling (operation 630 - No), the electronic device 300 may determine to continue scrolling the first screen. In this case, the touch slop check item may be maintained at a preset false value.

동작 610의 확인 결과 상기 스크롤 상태 변경에 관한 판단이 필요하지 않으면 (동작 610-아니오), 전자 장치(300)는 동작 640에서 상기 제1 화면에 대한 스크롤을 지속하도록 결정하고, 상기 터치 슬롭 체크 항목을 false로 설정할 수 있다.As a result of checking in operation 610, if it is not necessary to determine the scroll state change (operation 610 - No), the electronic device 300 determines to continue scrolling on the first screen in operation 640, and the touch slope check item. can be set to false.

도 7은 일 실시 예에 따라, 스크롤 종료 의도가 감지되는 경우 애니메이션 효과를 비활성화하는 방식을 설명하는 도면이다. 다양한 실시 예에 따라, 전자 장치(300)는 터치 해제 감지 시 스크롤에 관련된 애니메이션 효과(예: 플링(fling))를 적용하지 않고 터치 이벤트를 종료하도록 처리할 수 있다. 도 7에 도시된 동작들은 터치 이벤트 동안 지정된 시간 마다 획득되는 터치 정보에 대하여 판단되는 터치 슬롭 체크 관련 동작들(예: 도 4의 동작 511 내지 동작 565)에 대응될 수 있다. 도 7의 동작들은 전자 장치(300)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(320), 또는 도 4의 전자 장치(300)에 포함된 모듈들(예: 스크롤 판단 모듈(420) 및/또는 스크롤 제어 모듈(430))에 의해 수행될 수 있다. 다양한 실시 예에 따라, 도 7에 도시된 동작들 중 적어도 일부는 디스플레이 모듈(310)에 포함된 터치 센서 제어 회로(313)에 의해 수행될 수도 있다.7 is a diagram for explaining a method of inactivating an animation effect when an intention to end a scroll is detected, according to an exemplary embodiment. According to various embodiments, upon detecting a touch release, the electronic device 300 may process a touch event to end without applying an animation effect (eg, fling) related to scrolling. The operations illustrated in FIG. 7 may correspond to touch slope check-related operations (eg, operations 511 to 565 of FIG. 4 ) that are determined with respect to touch information acquired at each designated time during a touch event. The operations of FIG. 7 are included in at least one processor included in the electronic device 300 (eg, the processor 120 in FIG. 1 or the at least one processor 320 in FIG. 3 or the electronic device 300 in FIG. 4 ). The display module 310 may perform at least some of the operations shown in FIG. 7 according to various embodiments. ) It may be performed by the touch sensor control circuit 313 included in.

도 7을 참조하면, 동작 710에서 전자 장치(300)는 디스플레이 모듈(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이 모듈(310)) 에서 감지된 터치 정보의 타입이 터치 해제인지 확인할 수 있다.Referring to FIG. 7 , in operation 710, the electronic device 300 determines whether the type of touch information detected by the display module (eg, the display module 160 of FIG. 1 or the display module 310 of FIG. 3 ) is a touch release. can

동작 710의 확인 결과 상기 터치 정보가 터치 해제에 대응하면 (동작 710-예), 전자 장치(300)는 동작 720에서 터치 슬롭 체크 항목이 true로 설정되어 있는지 확인할 수 있다. 상기 터치 슬롭 체크 항목은 상기 획득된 터치 정보가 터치 슬롭을 초과하는지에 대한 판단의 수행 여부를 나타낼 수 있다. 동작 720의 확인 결과 상기 터치 슬롭 체크 항목이 true로 설정되어 있으면 (동작 720-아니오), 전자 장치(300)는 상기 터치 해제 전 사용자가 상기 제1 화면에 대한 스크롤을 멈추고자 하는 의도가 없었음을 인식하고, 상기 애니메이션 효과 관련 설정을 변경하지 않을 수 있다. 이 경우, 전자 장치(300)는 상기 터치 해제에 대응하여 상기 제1 화면에 대한 스크롤이 점차적으로 멈추도록 하는 애니메이션 효과를 적용할 수 있으며, 상기 애니메이션 효과의 발생 속도는 상기 스크롤의 최근 속도(예: 터치 해제 시점을 기준으로 지정된 개수의 스크롤 구간들의 평균 이동 속도)를 기반으로 결정될 수 있다.As a result of checking in operation 710, if the touch information corresponds to touch release (operation 710 - Yes), the electronic device 300 may check whether the touch slope check item is set to true in operation 720. The touch slope check item may indicate whether a determination is made whether the acquired touch information exceeds the touch slope. As a result of checking in operation 720, if the touch slope check item is set to true (operation 720 - No), the electronic device 300 indicates that the user did not intend to stop scrolling on the first screen before the touch release. may be recognized, and settings related to the animation effect may not be changed. In this case, the electronic device 300 may apply an animation effect that causes the scrolling of the first screen to gradually stop in response to the touch release, and the speed at which the animation effect occurs is the latest speed of the scroll (eg : It may be determined based on the average moving speed of the specified number of scroll sections based on the touch release time point).

동작 720의 확인 결과 상기 터치 슬롭 체크 항목이 true로 설정되어 있으면 (동작 720-예), 전자 장치(300)는 동작 725에서 상기 터치 해제 전 사용자가 상기 제1 화면에 대한 스크롤을 멈추고자 하는 의도가 없었음을 인식하고, 상기 애니메이션 효과 관련 설정을 변경할 수 있다. 이 경우, 전자 장치(300)는 동작 725에서, 상기 애니메이션 효과의 발생 속도를 0으로 설정하여, 스크롤 관련 애니메이션 효과를 제공하지 않고 바로 상기 터치 이벤트가 종료되도록 처리할 수 있다.As a result of checking in operation 720, if the touch slope check item is set to true (operation 720 - Yes), the electronic device 300 determines in operation 725 that the user intends to stop scrolling on the first screen before releasing the touch. It is recognized that there is no , and settings related to the animation effect can be changed. In this case, the electronic device 300 may set the generation speed of the animation effect to 0 in operation 725 so that the touch event is immediately terminated without providing a scroll-related animation effect.

동작 710의 확인 결과 상기 터치 정보가 터치 해제에 대응하지 않으면 (동작 710-아니오), 전자 장치(300)는 상기 터치 정보가 터치 이동에 관련된 것임을 확인하고, 터치 해제 시 제공되는 스크롤 관련 애니메이션 효과에 대한 판단을 종료할 수 있다.As a result of checking in operation 710, if the touch information does not correspond to the touch release (operation 710 - No), the electronic device 300 determines that the touch information is related to touch movement, and applies scroll-related animation effects provided when the touch is released. judgment may be terminated.

도 8a 및 도 8b는 일 실시 예에 따라, 터치 이벤트의 터치다운 지점을 기반으로 스크롤을 처리하는 방식을 설명하는 도면이다. 8A and 8B are diagrams illustrating a method of processing a scroll based on a touchdown point of a touch event, according to an exemplary embodiment.

도 8a에서, 전자 장치(300)는 디스플레이 모듈(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이 모듈(310))을 통해 제1 화면(800)을 표시하는 중 터치 다운(801)이 감지된 지점이 선택 입력 영역에 대응하는지 확인할 수 있다. 상기 선택 입력 영역에 관한 판단은 도 8b를 참조하여 설명한다. 도 8b의 동작들은 전자 장치(300)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(320)), 터치 센서 제어 회로(예: 도 3의 터치 센서 제어 회로(313)) 및/또는 도 4의 전자 장치(300)에 포함된 모듈들(예: 터치 이벤트 입력 모듈(410), 스크롤 판단 모듈(420), 스크롤 제어 모듈(430) 또는 콘텐트 제어 모듈(440))에 의해 수행될 수 있다.In FIG. 8A , while the electronic device 300 displays the first screen 800 through a display module (eg, the display module 160 of FIG. 1 or the display module 310 of FIG. 3 ), a touch-down operation 801 is performed. It can be checked whether this detected point corresponds to the selection input area. Determination of the selection input area will be described with reference to FIG. 8B. The operations of FIG. 8B include at least one processor included in the electronic device 300 (eg, the processor 120 of FIG. 1 or at least one processor 320 of FIG. 3 ), a touch sensor control circuit (eg, the processor 120 of FIG. 3 ). Touch sensor control circuit 313) and/or modules included in the electronic device 300 of FIG. 4 (eg, touch event input module 410, scroll determination module 420, scroll control module 430, or content It can be performed by the control module 440).

도 8b를 참조하면, 동작 810에서 전자 장치(300)는 디스플레이 모듈(310)의 디스플레이 패널(311) 상에서 제1 화면(800)을 표시하는 중 감지된 터치 정보의 타입이 터치 다운인지 확인할 수 있다.Referring to FIG. 8B , in operation 810, the electronic device 300 may check whether the type of touch information detected while displaying the first screen 800 on the display panel 311 of the display module 310 is touch down. .

동작 810의 확인 결과 상기 터치 정보가 터치 다운에 대응하면 (동작 810-예), 전자 장치(300)는 동작 812에서 상기 터치 다운(801) 지점이 상기 제1 화면(800) 내 터치 리스너(touch listener) (또는 사용자 입력에 연관되는 리스너)(예: 클릭 리스너(click listener) 또는 프레스 리스너(press listener))가 포함된 영역인지 확인할 수 있다. 동작 812의 확인 결과 상기 터치 다운(801) 지점에 터치 리스너(또는 사용자 입력에 연관되는 리스너)로 설정된 객체가 배치되어 있으면 (동작 812-예), 전자 장치(300)는 동작 820에서 상기 터치 다운(801) 지점이 선택 입력 영역에 대응함을 확인하고, 선택 입력 영역 항목을 true로 설정할 수 있다. 동작 812의 확인 결과 상기 터치 다운(801) 지점에 터치 리스너(또는 사용자 입력에 연관되는 리스너)로 설정된 객체가 배치되어 있지 않으면 (동작 812-아니오), 전자 장치(300)는 동작 814에서 상기 터치 다운(801) 지점이 상기 제1 화면(800) 내 사용자가 선택 가능한 엘리먼트(selectable element)가 포함된 영역인지 확인할 수 있다. 상기 선택 가능한 엘리먼트는 이미지(image), 비디오 클립(video clip), 앵커(anchor), 또는 폼(form)과 같이 상기 제1 화면(800) 내에서 선택될 수 있는 엘리먼트를 의미할 수 있다. 동작 814의 확인 결과 상기 터치 다운(801) 지점에 상기 선택 가능한 엘리먼트가 배치되어 있으면 (동작 814-예), 전자 장치(300)는 동작 820에서 상기 터치 다운(801) 지점이 선택 입력 영역에 대응함을 확인하고, 선택 입력 영역 항목을 true로 설정할 수 있다. 상기 선택 입력 영역 항목이 true로 설정된 경우, 전자 장치(300)는 터치 슬롭을 0보다 큰 값(또는 디폴트 값)으로 설정하여, 이후 감지되는 터치 이동이 스크롤을 위한 입력인지 또는 특정 엘리먼트를 선택하기 위한 입력인지 확인할 수 있다. 동작 814의 확인 결과 상기 터치 다운(801) 지점에 상기 선택 가능한 엘리먼트가 배치되어 있지 않으면 (동작 814-아니오), 전자 장치(300)는 동작 816에서 상기 제1 화면(800) 내 상기 터치 다운(801) 지점의 엘리먼트가 부모 엘리먼트(parent element)를 포함하는지 확인할 수 있다. 상기 부모 엘리먼트는 상기 엘리먼트의 뷰(view)를 감싸는 상위 엘리먼트를 의미할 수 있다. 동작 816의 확인 결과 부모 엘리먼트가 없으면 (동작 816-아니오), 전자 장치(300)는 동작 822에서 상기 터치 다운(801) 지점이 선택 입력 영역에 대응하지 않음을 확인하고, 선택 입력 영역 항목을 false로 설정할 수 있다. 상기 선택 입력 영역 항목이 false로 설정된 경우, 전자 장치(300)는 터치 슬롭을 0으로 설정하여, 이후 감지되는 터치 이동에 대하여 터치 슬롭 확인 없이 바로 스크롤을 개시할 수 있다. 동작 816의 확인 결과 부모 엘리먼트가 존재하면 (동작 816-예), 전자 장치(300)는 동작 818에서 상기 부모 엘리먼트에 대해서도 선택 입력 영역 대응 여부를 확인할 수 있다. 동작 818에서, 전자 장치(300)는 상기 부모 엘리먼트에 대해서도 동일한 방식(예: 동작 812 내지 816)으로 제1 화면(800) 내 선택 입력 영역에 대응하는지 확인하는지 확인할 수 있다.As a result of checking in operation 810, if the touch information corresponds to touch down (operation 810 - yes), in operation 812, the electronic device 300 detects that the touch down point 801 is a touch listener in the first screen 800. listener) (or a listener associated with user input) (e.g. a click listener or a press listener). As a result of checking in operation 812, if an object set as a touch listener (or a listener related to user input) is disposed at the touchdown 801 point (operation 812-yes), the electronic device 300 performs the touchdown operation 820 (801) It is confirmed that the point corresponds to the selection input area, and the selection input area item may be set to true. As a result of checking in operation 812, if an object set as a touch listener (or a listener related to user input) is not disposed at the touchdown 801 point (operation 812-No), the electronic device 300 detects the touch in operation 814. It may be checked whether the down point 801 is an area in the first screen 800 that includes a user-selectable element. The selectable element may refer to an element selectable within the first screen 800, such as an image, a video clip, an anchor, or a form. As a result of checking in operation 814, if the selectable element is disposed at the touchdown 801 point (operation 814-yes), in operation 820, the electronic device 300 corresponds to the touchdown 801 point as the selection input area. and set the selection input area item to true. When the selection input area item is set to true, the electronic device 300 sets the touch slope to a value greater than 0 (or a default value) so that the touch movement detected thereafter is an input for scrolling or selecting a specific element. You can check if the input is for As a result of checking in operation 814, if the selectable element is not disposed at the touchdown 801 point (operation 814 - No), the electronic device 300 touches down in the first screen 800 in operation 816 ( 801) It can be checked whether the element at the point includes a parent element. The parent element may refer to a parent element enclosing a view of the element. As a result of checking in operation 816, if there is no parent element (operation 816 - No), the electronic device 300 determines in operation 822 that the touchdown point 801 does not correspond to the selection input area, and sets the selection input area item to false. can be set to When the selection input area item is set to false, the electronic device 300 may set the touch slope to 0 and immediately start scrolling without checking the touch slope for a subsequently detected touch movement. As a result of checking in operation 816, if a parent element exists (operation 816 - Yes), the electronic device 300 may check whether the parent element also corresponds to the selection input area in operation 818. In operation 818, the electronic device 300 may check whether the parent element corresponds to the selection input area within the first screen 800 in the same manner (eg, operations 812 to 816).

동작 810의 확인 결과 상기 터치 정보가 터치 다운에 대응하지 않으면 (동작 810-아니오), 전자 장치(300)는 동작 830에서 상기 터치 정보가 터치 이동에 대응하는지 추가 확인할 수 있다. 동작 830의 확인 결과 상기 터치 정보가 터치 이동에 대응하면 (동작 830-예), 전자 장치(300)는 동작 832에서 상기 터치 이동에 대해 특정 엘리먼트를 선택하기 위한 입력인지 확인할 수 있다. 예를 들어, 전자 장치(300)는 상기 터치 이동에 의한 이동 거리가 터치 슬롭 이내인지, 및/또는 상기 터치 이동이 감지된 지점이 선택 입력 영역에 대응하는지 확인할 수 있다. 동작 832의 확인 결과 상기 두 가지 조건을 모두 충족하면 (동작 832-예), 전자 장치(300)는 상기 터치 이동을 사용자의 선택을 의도한 터치 입력으로 판단하여 처리할 수 있다. 동작 832의 확인 결과 상기 두 가지 조건이 모두 충족되지 않으면 (동작 832-아니오), 전자 장치(300)는 동작 834에서 상기 터치 이동을 상기 제1 화면(800)에 대한 스크롤 입력으로 판단하고, 상기 제1 화면(800)에 대한 스크롤을 수행할 수 있다.As a result of checking in operation 810, if the touch information does not correspond to touch down (operation 810 - No), the electronic device 300 may additionally check whether the touch information corresponds to touch movement in operation 830. As a result of checking in operation 830, if the touch information corresponds to the touch movement (operation 830 - Yes), the electronic device 300 may check whether the touch movement is an input for selecting a specific element in operation 832. For example, the electronic device 300 may check whether the movement distance due to the touch movement is within the touch slope and/or whether the point where the touch movement is detected corresponds to the selection input area. As a result of checking in operation 832, if both conditions are satisfied (operation 832 - Yes), the electronic device 300 may determine the touch movement as a touch input intended for the user's selection and process it. As a result of checking in operation 832, if both conditions are not satisfied (operation 832 - No), the electronic device 300 determines the touch movement as a scroll input for the first screen 800 in operation 834, and Scrolling of the first screen 800 may be performed.

동작 830의 확인 결과 상기 터치 정보가 터치 이동에 대응하지 않으면 (동작 830-아니오), 전자 장치(300)는 상기 터치 정보가 터치 해제에 관한 것임을 확인하고, 터치 이벤트가 종료된 것으로 판단하여 처리할 수 있다.As a result of checking in operation 830, if the touch information does not correspond to the touch movement (operation 830 - No), the electronic device 300 will confirm that the touch information is related to touch release, determine that the touch event has ended, and process it. can

도 9는 일 실시 예에 따라, 스크롤 영역에서 감지된 터치 정보를 처리하는 방식을 설명하는 도면이다. 다양한 실시 예에 따라, 전자 장치(300)는 디스플레이 패널(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이 패널(311)) 상의 스크롤 영역에서 감지된 터치 정보에 대해 스크롤을 위한 입력인지 또는 특정 엘리먼트를 선택하기 위한 입력인지 판단할 수 있다. 상기 스크롤 영역은 상기 디스플레이 패널(311) 상에서 스크롤이 자주 발생하는 것으로 확인된 영역일 수 있다. 도 9에 도시된 동작들은 전자 장치(300)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(320)), 터치 센서 제어 회로(예: 도 3의 터치 센서 제어 회로(313)), 및/또는 도 4의 전자 장치(300)에 포함된 모듈들(예: 스크롤 판단 모듈(420) 및/또는 스크롤 제어 모듈(430))에 의해 수행될 수 있다.9 is a diagram for explaining a method of processing touch information detected in a scroll area, according to an exemplary embodiment. According to various embodiments, the electronic device 300 determines whether touch information detected in a scroll area on a display panel (eg, the display module 160 of FIG. 1 or the display panel 311 of FIG. 3 ) is an input for scrolling. Alternatively, it may be determined whether the input is for selecting a specific element. The scroll area may be an area identified as frequently scrolling on the display panel 311 . The operations illustrated in FIG. 9 include at least one processor included in the electronic device 300 (eg, processor 120 of FIG. 1 or at least one processor 320 of FIG. 3 ), a touch sensor control circuit (eg, FIG. 3) and/or modules included in the electronic device 300 of FIG. 4 (eg, the scroll determination module 420 and/or the scroll control module 430). can

도 9를 참조하면, 동작 910에서 전자 장치(300)는 상기 스크롤 영역에서 터치 정보를 감지함에 응답하여, 상기 터치 정보의 타입이 터치 해제인지 확인할 수 있다.Referring to FIG. 9 , in operation 910, in response to detecting touch information in the scroll area, the electronic device 300 may determine whether the type of the touch information is touch release.

동작 910의 확인 결과 상기 터치 정보가 터치 해제에 대응하면 (동작 910-예), 전자 장치(300)는 동작 912에서 상기 제1 화면에 대한 스크롤을 종료하도록 결정하고, 동작 914에서 상기 터치 해제 시 감지된 이동 거리가 터치 슬롭 이내인지 확인할 수 있다. 동작 914의 확인 결과 상기 이동 거리가 상기 터치 슬롭 이내이면(동작 914-예), 전자 장치(300)는 동작 916에서 상기 감지된 터치정보가 상기 제1 화면 내 객체 또는 엘리먼트를 선택하기 위한 입력임을 인식하고, 탭 이벤트로 처리할 수 있다. 동작 914의 확인 결과 상기 이동 거리가 상기 터치 슬롭을 초과하면(동작 914-아니오), 전자 장치(300)는 상기 터치 정보를 탭 이벤트로 처리하지 않고 상기 터치 정보에 대한 판단을 종료할 수 있다.As a result of checking in operation 910, if the touch information corresponds to the touch release (operation 910 - Yes), the electronic device 300 determines to end the scrolling of the first screen in operation 912, and upon releasing the touch in operation 914 It can be checked whether the detected movement distance is within the touch slope. As a result of checking in operation 914, if the moving distance is within the touch slope (operation 914 - Yes), the electronic device 300 determines in operation 916 that the detected touch information is an input for selecting an object or element in the first screen. Recognize and handle tap events. As a result of checking in operation 914, if the moving distance exceeds the touch slope (operation 914 - No), the electronic device 300 may end the determination of the touch information without processing the touch information as a tap event.

동작 910의 확인 결과 상기 터치 정보가 터치 해제에 대응하지 않으면 (동작 910-아니오), 전자 장치(300)는 동작 920에서 상기 터치 정보가 터치 이동에 대응하는지 추가 확인할 수 있다. 동작 920의 확인 결과 상기 터치 정보가 터치 이동에 대응하면 (동작 920-예), 전자 장치(300)는 동작 922에서 상기 제1 화면에 대한 스크롤을 수행하고, 동작 924에서 상기 터치 이동에 의한 이동 거리가 터치 슬롭 이내인지 확인할 수 있다. 이 때, 전자 장치(300)는 동작 922를 먼저 수행한 후 동작 924를 수행함으로써, 터치 이벤트에 대한 반응 속도를 높일 수 있다. 동작 924의 확인 결과 상기 이동 거리가 상기 터치 슬롭을 초과하면 (동작 924-아니오), 전자 장치(300)는 상기 감지된 터치정보가 상기 제1 화면을 스크롤하기 위한 입력임을 인식하고, 탭 캔슬하도록 처리할 수 있다. 동작 924의 확인 결과 상기 이동 거리가 상기 터치 슬롭 이내이면 (동작 924-예), 전자 장치(300)는 상기 터치 정보를 탭 캔슬로 처리하지 않고 상기 터치 정보에 대한 판단을 종료할 수 있다.As a result of checking in operation 910, if the touch information does not correspond to touch release (operation 910 - No), the electronic device 300 may additionally check whether the touch information corresponds to touch movement in operation 920. As a result of checking in operation 920, if the touch information corresponds to touch movement (operation 920 - YES), the electronic device 300 scrolls the first screen in operation 922 and moves by the touch movement in operation 924. You can check if the distance is within the touch slope. In this case, the electronic device 300 may speed up the response to the touch event by first performing operation 922 and then performing operation 924 . As a result of checking in operation 924, if the moving distance exceeds the touch slope (operation 924 - No), the electronic device 300 recognizes that the detected touch information is an input for scrolling the first screen and cancels the tap. can be dealt with As a result of checking in operation 924, if the moving distance is within the touch slope (operation 924 - Yes), the electronic device 300 may end the determination of the touch information without processing the touch information as a tap cancel.

동작 920의 확인 결과 상기 터치 정보가 터치 이동에 대응하지 않으면 (동작 920-아니오), 전자 장치(300)는 아무런 동작을 수행하지 않고 상기 터치 정보에 대한 판단을 종료할 수 있다.As a result of checking in operation 920, if the touch information does not correspond to the touch movement (operation 920 - No), the electronic device 300 may end the determination of the touch information without performing any operation.

도 10a 및 도 10b는 일 실시 예에 따라, 사용자의 터치 패턴을 고려하여 스크롤을 처리하는 방식을 설명하는 도면이다.10A and 10B are diagrams illustrating a method of processing a scroll in consideration of a user's touch pattern, according to an exemplary embodiment.

다양한 실시 예에 따라, 전자 장치(300)는 디스플레이 모듈(310)에 포함된 디스플레이 패널(311)을 복수 개의 영역으로 분할하고, 상기 분할된 각 영역별 터치 패턴을 기록할 수 있다. 예를 들어, 전자 장치(300)는 상기 복수 개의 영역들 각각에 대하여 확인된 스크롤 발생 횟수를 누적하여 각 영역 별 스크롤 발생 확률을 계산하고, 상기 계산된 각 영역별 스크롤 발생 확률을 기반으로 도 10a와 같은 스크롤 맵(scroll map)을 생성할 수 있다. 예시적으로, 전자 장치(300)는 디스플레이 패널(311) 상에서 상측 방향을 향하는 스크롤이 자주 발생하는 영역을 제1 스크롤 영역(1001)으로, 디스플레이 패널(311) 상에서 하측 방향을 향하는 스크롤이 자주 발생하는 영역을 제2 스크롤 영역(1002)로 각각 정의하여 관리할 수 있다. 전자 장치(300)는 상기 제1 스크롤 영역(1001) 또는 상기 제2 스크롤 영역(1002)에서 감지되는 터치 정보에 대해서는 터치 슬롭을 무시하거나 설정 값을 낮추어, 스크롤을 보다 빠르게 수행하도록 처리할 수 있다. 예를 들어, 전자 장치(300)는 상기 제1 스크롤 영역(1001) 또는 상기 제2 스크롤 영역(1002)의 스크롤 발생 확률에 비례하는 상수 K를 결정하고, 터치 슬롭의 디폴트 값을 상기 결정된 상수 K로 나누어 상기 터치 슬롭을 설정할 수 있다. 상기 상수 K는 1보다 큰 자연수로서, 상기 터치 다운 지점의 스크롤 발생 확률이 높을수록 0에 가까운 값이 상기 터치 슬롭으로 설정될 수 있다. 일 실시 예에서, 터치 슬롭을 무시하거나 그 설정 값을 낮추는 경우, 전자 장치(300)는 사용자가 선택 입력으로 의도한 터치 정보에 대해서도 터치 슬롭을 초과한 것으로 판단하여 선택 동작으로 처리하지 않는 오동작이 발생할 수 있다. 이러한 오동작을 방지하기 위해, 전자 장치(300)는 상기 제1 스크롤 영역(1001) 또는 상기 제2 스크롤 영역(1002)에서 감지되는 터치 정보에 대해서는 도 9의 동작들을 수행하여 스크롤 수행 중 탭 이벤트 처리가 가능해지도록 할 수 있다.According to various embodiments, the electronic device 300 may divide the display panel 311 included in the display module 310 into a plurality of regions and record a touch pattern for each of the divided regions. For example, the electronic device 300 calculates a scroll occurrence probability for each region by accumulating the confirmed number of scroll occurrences for each of the plurality of regions, and based on the calculated scroll occurrence probability for each region, FIG. 10A You can create a scroll map like For example, in the electronic device 300, an area where scrolling in an upward direction frequently occurs on the display panel 311 is designated as the first scroll area 1001, and scrolling in a downward direction frequently occurs on the display panel 311. It is possible to define and manage each area as the second scroll area 1002 . The electronic device 300 ignores the touch slope or lowers the setting value of the touch information detected in the first scroll area 1001 or the second scroll area 1002, so that scrolling can be performed more quickly. . For example, the electronic device 300 determines a constant K proportional to a scroll occurrence probability of the first scroll area 1001 or the second scroll area 1002, and sets the default value of the touch slope to the determined constant K. It is possible to set the touch slope by dividing by . The constant K is a natural number greater than 1, and a value close to 0 may be set as the touch slope as the probability of occurrence of a scroll at the touchdown point increases. In an embodiment, when the touch slope is ignored or the set value thereof is lowered, the electronic device 300 determines that the touch information intended as a selection input by the user exceeds the touch slope, and thus an erroneous operation that is not processed as a selection operation occurs. can happen In order to prevent such an erroneous operation, the electronic device 300 performs the operations of FIG. 9 for touch information detected in the first scroll area 1001 or the second scroll area 1002 to process a tap event during scrolling. can make it possible.

다양한 실시 예에 따라, 전자 장치(300)는 디스플레이 패널(311) 상에 정의된 복수 개의 영역들 중 스크롤 발생 확률이 상당히 낮은 영역을 선택 입력 처리 영역으로 정의할 수 있다. 전자 장치(300)는 상기 선택 입력 처리 영역에서 감지된 터치 정보에 대해서는 선택을 의도한 터치 입력으로 미리 예측할 수 있다. 이 경우, 전자 장치(300)는 상기 터치 정보가 감지된 지점에 배치된 링크에 대한 전처리 작업(예: DNS(domain name system)에 미리 접속하여 해당 링크의 IP 주소 획득, TCP 핸드쉐이킹(TCP handshaking), 또는 프리패치(prefetching) 동작)을 수행할 수 있다.According to various embodiments, the electronic device 300 may define an area with a significantly low scroll occurrence probability among a plurality of areas defined on the display panel 311 as a selection input processing area. The electronic device 300 may pre-predict the touch input detected in the selection input processing area as a touch input intended for selection. In this case, the electronic device 300 performs a pre-processing operation for the link disposed at the point where the touch information is sensed (eg, obtaining an IP address of the link by accessing a domain name system (DNS) in advance, TCP handshaking ), or a prefetching operation) may be performed.

다양한 실시 예에 따라, 상기 스크롤 맵을 활용하여 터치 정보를 판단하는 과정은 도 10b를 참조하여 설명한다. 도 10b의 동작들은 전자 장치(300)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(320)), 터치 센서 제어 회로(도 3의 터치 센서 제어 회로(313)), 및/또는 도 4의 전자 장치(300)에 포함된 모듈들(예: 터치 이벤트 입력 모듈(410), 스크롤 판단 모듈(420), 스크롤 제어 모듈(430) 또는 콘텐트 제어 모듈(440))에 의해 수행될 수 있다.According to various embodiments, a process of determining touch information using the scroll map will be described with reference to FIG. 10B. The operations of FIG. 10B include at least one processor included in the electronic device 300 (eg, processor 120 of FIG. 1 or at least one processor 320 of FIG. 3 ), a touch sensor control circuit (touch sensor of FIG. 3 ) control circuit 313), and/or modules included in the electronic device 300 of FIG. 4 (eg, touch event input module 410, scroll determination module 420, scroll control module 430, or content control) module 440).

도 10b를 참조하면, 동작 1010에서 전자 장치(300)는 디스플레이 모듈(310)을 통해 감지된 터치 정보의 타입이 터치 다운인지 확인할 수 있다.Referring to FIG. 10B , in operation 1010, the electronic device 300 may check whether the type of touch information detected through the display module 310 is touch down.

동작 1010의 확인 결과 상기 터치 정보가 터치 다운에 대응하면 (동작 1010-예), 전자 장치(300)는 동작 1012에서 상기 터치 다운 지점이 상기 스크롤 맵에 정의된 스크롤 영역에 대응하는지 확인할 수 있다. 동작 1012의 확인 결과 상기 터치 다운 지점이 상기 스크롤 영역에 대응하면 (동작 1012-예), 전자 장치(300)는 동작 1014에서 상기 스크롤 영역의 스크롤 발생 확률을 기반으로 터치 슬롭을 재설정할 수 있다. 예를 들어, 전자 장치(300)는 상기 스크롤 영역의 스크롤 발생 확률에 대응하는 상수 K를 결정하고, 터치 슬롭의 디폴트 값을 상기 결정된 상수 K로 나누어 상기 터치 슬롭을 재설정함으로써, 해당 스크롤 영역의 터치 슬롭을 낮출 수 있다. 동작 1012의 확인 결과 상기 터치 다운 지점이 상기 스크롤 영역에 대응하지 않으면 (동작 1012-아니오), 전자 장치(300)는 상기 터치 슬롭을 재설정하지 않고, 디폴트 값(또는 초기 상태)을 유지할 수 있다.As a result of checking in operation 1010, if the touch information corresponds to touch down (operation 1010 - Yes), the electronic device 300 may check in operation 1012 whether the touch down point corresponds to the scroll area defined in the scroll map. As a result of checking in operation 1012, if the touchdown point corresponds to the scroll area (operation 1012 - Yes), the electronic device 300 may reset the touch slope based on the scroll occurrence probability of the scroll area in operation 1014. For example, the electronic device 300 determines a constant K corresponding to a scroll occurrence probability of the scroll area, divides a default value of the touch slope by the determined constant K, and resets the touch slope, so that the touch of the scroll area You can lower the slop. As a result of checking in operation 1012, if the touchdown point does not correspond to the scroll area (operation 1012 - No), the electronic device 300 may maintain the default value (or initial state) without resetting the touch slope.

동작 1010의 확인 결과 상기 터치 정보가 터치 다운에 대응하지 않으면 (동작 1010-아니오), 전자 장치(300)는 동작 1020에서 상기 터치 정보가 터치 이동에 대응하는지 확인할 수 있다. 동작 1020의 확인 결과 상기 터치 정보가 터치 이동에 대응하면 (동작 1020-예), 전자 장치(300)는 동작 1022에서 상기 터치 이동에 의한 이동 거리가 터치 슬롭 이내인지 확인할 수 있다. 동작 1022의 확인 결과 상기 이동 거리가 상기 터치 슬롭을 초과하면 (동작 1022-아니오), 전자 장치(300)는 동작 1024에서 상기 터치 이동에 대응하는 스크롤을 수행할 수 있다. 동작 1022의 확인 결과 상기 이동 거리가 상기 터치 슬롭 이내이면 (동작 1022-예), 전자 장치(300)는 상기 터치 이동에 대응하는 스크롤을 수행하지 않도록 처리할 수 있다.As a result of checking in operation 1010, if the touch information does not correspond to touch down (operation 1010 - No), the electronic device 300 may check whether the touch information corresponds to touch movement in operation 1020. As a result of checking in operation 1020, if the touch information corresponds to the touch movement (operation 1020 - Yes), the electronic device 300 may check whether the movement distance due to the touch movement is within the touch slope in operation 1022. As a result of checking in operation 1022, if the movement distance exceeds the touch slope (operation 1022 - No), the electronic device 300 may perform a scroll corresponding to the touch movement in operation 1024. As a result of checking in operation 1022, if the movement distance is within the touch slope (operation 1022 - Yes), the electronic device 300 may process not to perform a scroll corresponding to the touch movement.

동작 1020의 확인 결과 상기 터치 정보가 터치 이동에 대응하지 않으면 (동작 1020-아니오), 전자 장치(300)는 동작 1030에서 상기 터치 정보가 터치 해제에 대응하는지 확인할 수 있다. 동작 1030의 확인 결과 상기 터치 정보가 터치 해제에 대응하면 (동작 1030-예), 전자 장치(300)는 동작 1032에서 상기 터치 해제를 기반으로 스크롤 관련 애니메이션 효과를 적용하고 상기 스크롤 맵을 업데이트할 수 있다. 상기 스크롤 맵의 업데이트는 터치 이벤트가 종료되는 시점마다 수행될 수 있다. 동작 1030의 확인 결과 상기 터치 정보가 터치 해제에 대응하지 않으면 (동작 1030-아니오), 전자 장치(300)는 상기 터치 정보에 대응하는 아무런 동작을 수행하지 않고, 상기 터치 정보를 무시하도록 처리할 수 있다.As a result of checking in operation 1020, if the touch information does not correspond to touch movement (operation 1020 - No), the electronic device 300 may check whether the touch information corresponds to touch release in operation 1030. As a result of checking in operation 1030, if the touch information corresponds to touch release (operation 1030 - Yes), the electronic device 300 may apply a scroll-related animation effect based on the touch release and update the scroll map in operation 1032. there is. Updating the scroll map may be performed whenever a touch event ends. As a result of checking in operation 1030, if the touch information does not correspond to touch release (operation 1030 - No), the electronic device 300 may ignore the touch information without performing any operation corresponding to the touch information. there is.

도 11은 일 실시 예에 따른, 전자 장치의 동작 방법을 도시하는 흐름도이다. 일 실시 예에 따르면, 전자 장치(300)는 터치 이벤트를 기반으로 사용자 의도를 미리 판단하여 스크롤 상태를 제어하는 장치로서, 도 1에 도시된 전자 장치(101) 또는 도 3에 도시된 전자 장치(300)에 대응될 수 있다. 도 11의 동작들은 전자 장치(300)에 포함된 적어도 하나의 프로세서(예: 도 1의 프로세서(120) 또는 도 3의 적어도 하나의 프로세서(320)) 또는 터치 센서 제어 회로(예: 도 3의 터치 센서 제어 회로(313))에 의해 수행될 수 있다.11 is a flowchart illustrating a method of operating an electronic device according to an embodiment. According to an embodiment, the electronic device 300 is a device that controls a scroll state by predetermining a user's intention based on a touch event, and is the electronic device 101 shown in FIG. 1 or the electronic device shown in FIG. 3 ( 300). The operations of FIG. 11 include at least one processor included in the electronic device 300 (eg, the processor 120 of FIG. 1 or the at least one processor 320 of FIG. 3 ) or a touch sensor control circuit (eg, the processor 120 of FIG. 3 ). This may be performed by the touch sensor control circuit 313 .

도 11을 참조하면, 동작 1110에서 전자 장치(300)는 디스플레이 패널(예: 도 1의 디스플레이 모듈(160) 또는 도 3의 디스플레이 패널(311))을 통해 제1 화면을 표시하는 중 제1 터치 이벤트를 감지하고, 스크롤을 발생시키는 기준이 되는 최소 이동 거리인 터치 슬롭(touch slope)을 설정할 수 있다. 상기 터치 이벤트는 사용자에 의해 입력된 터치 제스처로서, 터치 다운(touch down), 터치 이동(touch move), 또는 터치 해제(touch release)의 동작으로 구분될 수 있다. 다양한 실시 예에 따라, 전자 장치(300)는 터치 다운이 발생한 후 터치가 해제될 때까지 상기 터치 이벤트가 유지된 것으로 인식하고, 상기 터치 이벤트가 유지되는 동안 터치 지점이 어느 방향으로 얼마나 이동하는지 지속적으로 확인할 수 있다.Referring to FIG. 11 , in operation 1110, the electronic device 300 touches a first touch while displaying a first screen through a display panel (eg, the display module 160 of FIG. 1 or the display panel 311 of FIG. 3 ). It is possible to set a touch slope, which is a minimum movement distance that is a criterion for detecting an event and generating a scroll. The touch event is a touch gesture input by a user, and may be classified into a touch down operation, a touch move operation, or a touch release operation. According to various embodiments, the electronic device 300 recognizes that the touch event is maintained until the touch is released after a touchdown occurs, and continuously moves in which direction and by how much the touch point moves while the touch event is maintained. can be checked with

다양한 실시 예에 따라, 전자 장치(300)는 동작 1110에서, 상기 터치 다운이 감지된 위치에 따라 다양한 값으로 상기 터치 슬롭을 설정할 수 있다. 예를 들어, 전자 장치(300)는 상기 터치 이벤트의 터치 다운 지점이 디스플레이 패널(311)을 통해 표시되고 있는 제1 화면 내 선택 입력 영역에 대응하는지 확인하고, 상기 확인 결과를 기반으로 상기 터치 슬롭을 설정할 수 있다. 상기 선택 입력 영역은 상기 제1 화면 내에서 터치 리스너(touch listener)(또는 사용자 입력에 연관되는 리스너) (예: 클릭 리스너(click listener) 또는 프레스 리스너(press listener))로 설정된 객체, 또는 이미지(image), 비디오 클립(video clip), 앵커(anchor), 폼(form)과 같이 사용자가 선택 가능한 엘리먼트(selectable element)가 포함된 영역일 수 있다. 전자 장치(300)는 상기 터치 다운 지점이 상기 객체 또는 상기 선택 가능한 엘리먼트에 대응하거나, 또는 상기 터치 다운에 의해 선택된 엘리먼트의 부모 엘리먼트(parent element)가 상기 객체 또는 상기 선택 가능한 엘리먼트에 대응하는 경우, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인할 수 있다. 상기 터치 다운 지점이 상기 제1 화면 내 선택 입력 영역에 대응하지 않는 경우 상기 터치 다운 지점에 상기 선택 가능한 엘리먼트가 없으므로, 전자 장치(300)는 상기 터치 슬롭을 0으로 설정하여, 터치 이동 감지 시 터치 슬롭 확인 없이 바로 스크롤을 개시하도록 처리할 수 있다. 상기 터치 다운 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는 것으로 확인되면, 전자 장치(300)는 상기 터치 슬롭을 0보다 큰 값으로 설정하여, 이후 감지된 터치 이동이 스크롤을 위한 입력인지 또는 특정 엘리먼트를 선택하기 위한 입력인지 확인할 수 있다. 이 경우, 전자 장치(300)는 감지된 터치 이동 거리가 상기 설정된 터치 슬롭보다 작으면 상기 터치 이동을 특정 엘리먼트를 선택하기 위한 입력으로 판단할 수 있다. 반대로, 전자 장치(300)는 감지된 터치 이동 거리가 상기 설정된 터치 슬롭보다 크면 상기 터치 이동을 스크롤 입력으로 판단하고, 상기 터치 이동 거리에 대응하여 스크롤을 수행할 수 있다.According to various embodiments, in operation 1110, the electronic device 300 may set the touch slope to various values according to the location where the touchdown is detected. For example, the electronic device 300 checks whether the touchdown point of the touch event corresponds to the selection input area in the first screen being displayed through the display panel 311, and based on the check result, the touch slope can be set. The selection input area is an object set as a touch listener (or a listener related to user input) (eg, a click listener or a press listener) in the first screen, or an image ( image), a video clip, an anchor, or a form. In the electronic device 300, when the touchdown point corresponds to the object or the selectable element, or a parent element of the element selected by the touchdown corresponds to the object or the selectable element, It can be confirmed that the touchdown point corresponds to the selection input area. If the touch-down point does not correspond to the selection input area in the first screen, since there is no selectable element at the touch-down point, the electronic device 300 sets the touch slope to 0, and when detecting a touch movement, the electronic device 300 sets the touch slope to 0. It can be processed to start scrolling immediately without checking the slope. If it is determined that the touchdown point corresponds to the selection input area in the first screen, the electronic device 300 sets the touch slope to a value greater than 0, so that the detected touch movement is input for scrolling or You can check whether the input is for selecting a specific element. In this case, when the detected touch movement distance is smaller than the set touch slope, the electronic device 300 may determine the touch movement as an input for selecting a specific element. Conversely, if the detected touch movement distance is greater than the set touch slope, the electronic device 300 may determine the touch movement as a scroll input and perform a scroll corresponding to the touch movement distance.

다른 예를 들어, 전자 장치(320)는 사용자의 스크롤 패턴이 정의된 스크롤 맵(scroll map)을 기반으로 상기 터치 이벤트의 터치 다운 지점이 스크롤 영역(scroll area)에 대응하는지 확인하고, 상기 확인 결과를 기반으로 상기 터치 슬롭을 설정할 수 있다. 전자 장치(300)는 디스플레이 모듈(310)의 디스플레이 패널(311) 상에 포함된 복수 개의 영역들 각각의 스크롤 발생 확률과, 높은 확률로 스크롤이 발생하는 스크롤 영역을 정의한 스크롤 맵을 메모리(예: 도 1의 메모리(130) 또는 도 3의 메모리(330))에 저장하여 관리할 수 있다. 전자 장치(300)는 상기 터치 이벤트의 터치 다운을 감지하면, 메모리(330)로부터 상기 스크롤 맵을 로드하여, 상기 터치 다운된 지점의 스크롤 발생 확률 또는 상기 터치 다운 지점이 상기 스크롤 영역에 대응하는지 여부를 확인할 수 있다. 전자 장치(300)는 상기 터치 다운 지점이 상기 스크롤 영역에 대응하는 것으로 확인하면, 상기 터치 다운 지점의 스크롤 발생 확률을 기반으로 상기 터치 슬롭을 설정할 수 있다. 예시적으로, 전자 장치(300)는 스크롤 발생 확률에 비례하는 상수 K를 결정하고, 터치 슬롭의 디폴트 값을 상기 결정된 상수 K로 나누어 상기 터치 슬롭을 설정할 수 있다. 이로 인해, 상기 터치 다운 지점의 스크롤 발생 확률이 높을수록 0에 가까운 값이 상기 터치 슬롭으로 설정될 수 있다. 상기 터치 다운 지점이 상기 스크롤 영역에 대응하지 않는 경우에는, 전자 장치(300)는 상기 터치 슬롭에 대한 설정 변경 없이 상기 디폴트 값을 기준으로 스크롤 수행 여부를 판단할 수 있다.For another example, the electronic device 320 determines whether a touchdown point of the touch event corresponds to a scroll area based on a scroll map in which the user's scroll pattern is defined, and as a result of the check, The touch slope may be set based on . The electronic device 300 stores a scroll map defining a scroll occurrence probability of each of a plurality of areas included on the display panel 311 of the display module 310 and a scroll area where scrolling occurs with a high probability (e.g., It may be stored and managed in the memory 130 of FIG. 1 or the memory 330 of FIG. 3 . When the touchdown of the touch event is detected, the electronic device 300 loads the scroll map from the memory 330 and determines whether the touchdown point corresponds to the scrolling probability or the scrolling area. can be checked. When confirming that the touch-down point corresponds to the scroll area, the electronic device 300 may set the touch slope based on a scroll occurrence probability of the touch-down point. For example, the electronic device 300 may set the touch slope by determining a constant K proportional to a scroll occurrence probability and dividing a default value of the touch slope by the determined constant K. For this reason, a value closer to 0 may be set as the touch slope as the probability of occurrence of a scroll at the touchdown point increases. When the touchdown point does not correspond to the scroll area, the electronic device 300 may determine whether to perform scrolling based on the default value without changing the setting for the touch slope.

일 실시 예에 따르면, 동작 1120에서 전자 장치(300)는 상기 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 연관되는 터치 정보를 획득할 수 있다. 상기 터치 정보는 상기 터치 이벤트가 유지되는 동안 터치가 감지된 지점의 좌표, 현재 터치 지점을 기준으로 계산된 이동 속도나 이동 거리 또는 감속도 중 적어도 하나를 포함할 수 있다. 상기 지정된 시간은 디스플레이 패널(311)의 화면 재생률(refresh rate)에 대응될 수 있다. 예를 들어, 디스플레이 패널(311)의 화면 재생률이 60Hz인 경우, 전자 장치(300)는 16ms마다 상기 터치 정보를 획득할 수 있다. 다른 예를 들어, 디스플레이 패널(311)의 화면 재생률이 120Hz이면, 전자 장치(300)는 8ms마다 상기 터치 정보를 획득할 수 있다.According to an embodiment, in operation 1120, the electronic device 300 may obtain touch information related to the current touch point at each designated time while the touch event is maintained. The touch information may include at least one of coordinates of a point where a touch is sensed while the touch event is maintained, movement speed or movement distance calculated based on a current touch point, or deceleration. The designated time may correspond to a screen refresh rate of the display panel 311 . For example, when the screen refresh rate of the display panel 311 is 60 Hz, the electronic device 300 may obtain the touch information every 16 ms. For another example, if the screen refresh rate of the display panel 311 is 120 Hz, the electronic device 300 may acquire the touch information every 8 ms.

일 실시 예에 따르면, 동작 1130에서 전자 장치(300)는 상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 설정된 터치 슬롭을 초과하는지 여부를 확인할 수 있다. 상기 확인 결과 상기 터치 이동 거리가 상기 터치 슬롭을 초과하지 않으면, 전자 장치(300)는 상기 터치 슬롭을 초과하는 터치 이동이 감지될 때까지 상기 제1 화면에 대한 스크롤을 수행하지 않을 수 있다. 상기 확인 결과 상기 터치 이동 거리가 상기 터치 슬롭을 초과하면, 전자 장치(300)는 상기 터치 이동에 대응하여 상기 제1 화면에 대한 스크롤을 개시하도록 디스플레이 모듈(310)을 제어할 수 있다.According to an embodiment, in operation 1130, the electronic device 300 may determine whether a touch movement distance exceeds the set touch slope based on the acquired touch information. As a result of the check, if the touch movement distance does not exceed the touch slope, the electronic device 300 may not scroll the first screen until a touch movement exceeding the touch slope is detected. As a result of the check, if the touch movement distance exceeds the touch slope, the electronic device 300 may control the display module 310 to start scrolling the first screen in response to the touch movement.

일 실시 예에 따르면, 동작 1140에서 전자 장치(300)는 상기 제1 화면에 대한 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인할 수 있다. 예를 들어, 전자 장치(300)는 상기 스크롤이 수행되는 동안 상기 지정된 시간 마다 터치 이동이 감지된 지점들의 좌표 정보를 획득하고, 상기 획득한 좌표 정보를 기반으로 스크롤 구간 별 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 계산할 수 있다. 상기 스크롤 구간은 상기 터치 정보가 획득되는 시간 주기인 상기 지정된 시간에 대응될 수 있다.According to an embodiment, in operation 1140, the electronic device 300 determines at least one of a movement speed, a movement distance, or a deceleration of the touch event based on the touch information obtained while the first screen is scrolled. You can check the included scroll data. For example, while the scroll is being performed, the electronic device 300 obtains coordinate information of points where touch movement is detected at each designated time, and based on the obtained coordinate information, the electronic device 300 determines the movement speed, movement distance, or movement speed for each scroll section. At least one of the decelerations can be calculated. The scroll period may correspond to the designated time period during which the touch information is obtained.

일 실시 예에 따르면, 동작 1150에서 전자 장치(300)는 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단할 수 있다. 예를 들어, 전자 장치(300)는 상기 스크롤 데이터를 기반으로 현재 터치 이동 지점에 대응하는 스크롤 구간의 이동 거리를 확인하고, 상기 확인된 이동 거리를 제1 임계값과 비교할 수 있다. 상기 제1 임계값은 상기 스크롤을 지속하기 위한 최저 터치 이동 크기를 나타낼 수 있다. 전자 장치(300)는 상기 비교 결과 상기 확인된 이동 거리가 상기 제1 임계값보다 작으면, 상기 스크롤의 상태 변경 여부를 추가 확인할 수 있다. 전자 장치(300)는 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 중 터치 이동 거리가 가장 큰 제1 스크롤 구간을 확인하고, 상기 제1 스크롤 구간을 기준으로 현재 터치 이동 지점에서의 감속도를 계산할 수 있다. 전자 장치(300)는 상기 계산된 감속도를 제2 임계값의 비교 연산을 통해 스크롤 지속 여부에 대한 사용자 의도를 확인할 수 있다. 상기 제2 임계값은 스크롤 정지 구간을 판별하는 기준으로 정의된 감속도 값을 나타낼 수 있다. 상기 비교 결과 상기 계산된 감속도가 상기 제2 임계값보다 크면, 전자 장치(300)는 사용자가 상기 스크롤을 멈추고자 하는 의도가 있음을 판단하고, 상기 제1 화면에 대한 스크롤을 정지하도록 디스플레이 모듈(310)을 제어할 수 있다.According to an embodiment, in operation 1150, the electronic device 300 may determine whether or not the scroll ends based on the scroll data. For example, the electronic device 300 may check the movement distance of the scroll section corresponding to the current touch movement point based on the scroll data, and compare the checked movement distance with a first threshold value. The first threshold value may indicate a minimum touch movement size for sustaining the scrolling. The electronic device 300 may additionally check whether the state of the scroll is changed when the checked movement distance is smaller than the first threshold value as a result of the comparison. Based on the touch information, the electronic device 300 identifies a first scroll section in which the touch movement distance is the largest while scrolling of the first screen is performed, and at the current touch movement point based on the first scroll section. deceleration can be calculated. The electronic device 300 may check the user's intention on whether or not to continue scrolling by comparing the calculated deceleration with the second threshold. The second threshold may represent a deceleration value defined as a criterion for determining a scroll stop section. As a result of the comparison, if the calculated deceleration is greater than the second threshold, the electronic device 300 determines that the user has an intention to stop the scrolling, and the display module stops the scrolling of the first screen. (310) can be controlled.

다양한 실시 예에 따라, 전자 장치(300)는 저속 스크롤 상황에서는 감속도 측정 없이, 스크롤 구간들에서 측정된 터치 이동거리를 기반으로 사용자 의도를 판단할 수 있다. 사용자가 천천히 터치 이동하여 스크롤 하는 경우, 상기 제1 스크롤 구간과 다른 스크롤 구간에서의 터치 이동거리의 차이가 크지 않기 때문에, 스크롤이 자주 정지될 수 매의 있다. 이를 를 방지위해, 전자 장치(300)는 상기 제1 화면에 대한 스크롤이 수행되는 동안 상기 터치 정보를 기반으로 확인된 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트할 수 있다. 전자 장치(300)는 상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하는 것으로 확인하면, 상기 스크롤을 멈추고자 하는 사용자 의도가 있음을 판단하고, 상기 스크롤이 정지하도록 디스플레이 모듈(310)을 제어할 수 있다. 상기 제3 임계값은 사용자의 스크롤 멈춤 의도를 판단하기 위한 기준 횟수로서, 사전 정의될 수 있다. 전자 장치(300)는 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 확인된 이동 거리가 상기 제1 임계값보다 큰 스크롤 구간을 추가 확인할 수 있다. 전자 장치(300)는 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과함을 확인하면, 상기 스크롤을 지속하고자 하는 사용자 의도를 판단하고, 상기 카운트를 0으로 리셋할 수 있다. 상기 제4 임계값은 사용자의 스크롤 지속 의도를 판단하기 위한 기준 횟수로서, 사전 정의될 수 있다.According to various embodiments, the electronic device 300 may determine the user's intention based on the touch movement distance measured in scroll sections without measuring the deceleration in a low-speed scrolling situation. When the user scrolls by moving a touch slowly, since the difference between the touch movement distance between the first scrolling section and the other scrolling section is not large, the scrolling may stop frequently. To prevent this, the electronic device 300 may count a scroll section in which the movement distance checked based on the touch information is less than the first threshold while scrolling of the first screen is performed. When the electronic device 300 determines that the number of the counted scroll sections exceeds the third threshold, the electronic device 300 determines that there is a user intention to stop the scrolling, and controls the display module 310 to stop the scrolling. can do. The third threshold is a standard number of times for determining the user's intention to stop scrolling, and may be predefined. While counting scroll sections smaller than the first threshold, the electronic device 300 may additionally check a scroll section in which the checked movement distance is greater than the first threshold. When confirming that the scroll section greater than the first threshold exceeds the fourth threshold, the electronic device 300 may determine the user's intention to continue the scrolling and reset the count to zero. The fourth threshold is a reference number of times for determining the user's intention to continue scrolling, and may be predefined.

동작 1150 이후, 전자 장치(300)는 상기 터치 이벤트의 터치 해제를 감지할 수 있다. 전자 장치(300)는 상기 터치 해제를 감지함에 응답하여, 상기 제1 화면에 대한 스크롤 상태를 확인하고, 상기 확인된 상태를 기반으로 스크롤 관련 애니메이션 효과의 적용 여부를 결정할 수 있다. 예를 들어, 전자 장치(300)는 상기 제1 화면에 대한 스크롤을 수행 중인 상태에서 상기 터치 해제를 감지하면, 최근 스크롤 속도(예: 터치 해제 시점을 기준으로 지정된 개수의 스크롤 구간들의 평균 이동 속도)를 기반으로 상기 스크롤의 종료 직전에 적용될 애니메이션 효과(예: 플링(fling))의 발생 속도를 결정할 수 있다. 다른 예를 들어, 전자 장치(300)는 상기 제1 화면에 대한 스크롤이 정지된 상태에서 상기 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤을 멈추고자 하는 사용자 의도가 있었던 것으로 판단할 수 있다. 이 경우, 전자 장치(300)는 상기 애니메이션 효과의 발생 속도를 0으로 결정하여, 상기 스크롤에 대한 애니메이션 효과 적용 없이 상기 스크롤이 정지된 상태에서 바로 상기 터치 이벤트가 종료되도록 처리할 수 있다.After operation 1150, the electronic device 300 may detect a touch release of the touch event. In response to detecting the touch release, the electronic device 300 may check a scroll state of the first screen and determine whether or not to apply a scroll-related animation effect based on the checked state. For example, if the electronic device 300 detects the touch release while scrolling the first screen, the latest scroll speed (eg, the average movement speed of the specified number of scroll sections based on the touch release point) ), it is possible to determine the generation speed of an animation effect (eg, fling) to be applied right before the end of the scroll. For another example, when the electronic device 300 detects the touch release while the scrolling of the first screen is stopped, it may be determined that there is a user intention to stop the scrolling of the first screen. . In this case, the electronic device 300 may determine the generation speed of the animation effect to be 0 and process the touch event to end immediately in a state where the scrolling is stopped without applying the animation effect to the scrolling.

일 실시 예에 따른 전자 장치(예: 전자 장치(300))는, 디스플레이 모듈(예: 디스플레이 모듈(310)), 상기 디스플레이 모듈과 작동적으로 연결된 적어도 하나의 프로세서(예: 프로세서(320)), 및 상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리(예: 메모리(330))를 포함하고, 상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가, 제1 터치 이벤트를 감지함에 응답하여, 스크롤 수행 기준이 되는 터치 슬롭(touch slop)을 설정하고, 상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하고, 상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 상기 디스플레이 모듈에 표시된 제1 화면에 대한 스크롤을 개시하도록 제어하고, 상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하고, 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여, 상기 제1 화면에 대한 스크롤의 상태를 제어하도록 하는 인스트럭션들을 저장할 수 있다.An electronic device (eg, the electronic device 300) according to an embodiment includes a display module (eg, the display module 310), and at least one processor operatively connected to the display module (eg, the processor 320). , and a memory (e.g., memory 330) operatively coupled to the at least one processor, wherein the memory, when executed, in response to detecting a first touch event, Setting a touch slop that is a criterion for scrolling, acquiring touch information corresponding to a current touch point at each designated time while the first touch event is maintained, and touch movement distance based on the acquired touch information If it is confirmed that exceeds the touch slope, control to initiate scrolling of the first screen displayed on the display module, and a moving speed of the first touch event based on the touch information acquired while the scrolling is being performed. , scrolling data including at least one of a movement distance and deceleration may be checked, and based on the scroll data, whether or not the scrolling is terminated may be determined, and instructions for controlling a state of scrolling on the first screen may be stored. there is.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 터치 이벤트를 감지함에 응답하여, 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는지 확인하고, 상기 확인 결과를 기반으로 상기 터치 슬롭을 설정하도록 할 수 있다.In one embodiment, the instructions include, in response to the at least one processor detecting the first touch event, a touch down point of the first touch event is set to a selection input area within the first screen. It is possible to check if it corresponds, and to set the touch slope based on the check result.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하지 않는 것으로 확인되면, 상기 터치 슬롭을 0으로 설정하고, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인되면, 상기 터치 슬롭을 0보다 큰 값으로 설정하도록 할 수 있다.In one embodiment, the instructions may set the touch slope to 0, if the at least one processor determines that the touch-down point does not correspond to the selection input area, and sets the touch-down point to the selection input area. If it is confirmed that the touch slope corresponds to the region, the touch slope may be set to a value greater than 0.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 거리를 확인하고, 상기 확인된 이동 거리가 제1 임계값보다 작으면 상기 스크롤의 상태를 변경하도록 제어하도록 하며, 상기 스크롤 구간은 상기 지정된 시간에 대응하도록 설정될 수 있다. In one embodiment, the instructions include determining, by the at least one processor, a movement distance for each scroll section while scrolling of the first screen is performed based on the touch information, and the checked movement distance is a first If it is smaller than the threshold value, control is performed to change the state of the scroll, and the scroll period may be set to correspond to the designated time.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 중 상기 이동 거리가 가장 큰 제1 스크롤 구간을 확인하고, 상기 제1 스크롤 구간을 기준으로 현재 감속도를 계산하고, 상기 계산된 감속도가 제2 임계값보다 크면 상기 스크롤을 정지시키도록 할 수 있다.In one embodiment, the instructions include determining, by the at least one processor, a first scroll section having the largest movement distance while scrolling of the first screen is performed based on the touch information, and A current deceleration may be calculated based on a scroll section, and the scroll may be stopped if the calculated deceleration is greater than a second threshold.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 화면에 대한 스크롤이 수행되는 동안 상기 확인된 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하고, 상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하면 상기 스크롤을 정지시키도록 할 수 있다.In one embodiment, the instructions include counting, by the at least one processor, a scroll interval in which the checked movement distance is less than the first threshold value while scrolling of the first screen is performed, and the counted scroll When the number of sections exceeds a third threshold, the scrolling may be stopped.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과하면, 상기 카운트를 리셋하도록 할 수 있다.In one embodiment, the instructions may include, while the at least one processor counts scroll sections in which the movement distance is smaller than the first threshold value, if a scroll section greater than the first threshold value exceeds a fourth threshold value , the count can be reset.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 속도를 확인하고, 상기 확인된 이동 속도를 기반으로 계산된 평균 속도가 지정된 속도 이하이면, 상기 제1 임계값을 지정된 값 미만으로 변경하여 설정하도록 할 수 있다.In one embodiment, the instructions include determining, by the at least one processor, a movement speed for each scroll section while scrolling of the first screen is performed based on the touch information, and based on the checked movement speed If the calculated average speed is equal to or less than the designated speed, the first threshold value may be set by changing to less than the designated value.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 터치 이벤트를 감지함에 응답하여, 상기 메모리에 저장된 스크롤 맵을 확인하고, 스크롤 맵을 기반으로 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 디스플레이 모듈 내 스크롤 영역에 대응하는지 확인하고, 상기 터치 다운 지점이 상기 스크롤 영역에 대응하면, 상기 터치 다운 지점의 스크롤 발생 확률을 기반으로 상기 터치 슬롭을 설정하도록 하며, 상기 스크롤 맵은 상기 디스플레이 모듈에 포함된 복수 개의 영역들에 대한 스크롤 발생 확률과 상기 복수 개의 영역들 각각의 스크롤 발생 확률을 기반으로 결정된 스크롤 영역 관련 정보를 포함할 수 있다.In one embodiment, the instructions include, in response to detecting the first touch event, the at least one processor checks a scroll map stored in the memory, and touches down the first touch event based on the scroll map. It is checked whether a touch down point corresponds to a scroll area in the display module, and if the touch down point corresponds to the scroll area, the touch slope is set based on a scroll occurrence probability of the touch down point. The scroll map may include scroll region related information determined based on a scroll occurrence probability of a plurality of regions included in the display module and a scroll occurrence probability of each of the plurality of regions.

일 실시 예에서, 상기 인스트럭션들은, 상기 적어도 하나의 프로세서가, 상기 제1 터치 이벤트의 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤 제어 상태를 확인하고, 상기 확인된 제어 상태를 기반으로 상기 스크롤에 관련된 애니메이션 효과의 발생 속도를 결정하고, 상기 제1 터치 이벤트가 종료된 것으로 처리하도록 할 수 있다.In one embodiment, the instructions may, if the at least one processor detects a touch release of the first touch event, check a scroll control state of the first screen, and based on the checked control state, the A generation speed of an animation effect related to scrolling may be determined, and the first touch event may be processed as an end.

다른 실시 예에 따른 전자 장치(예: 전자 장치(300))의 동작 방법은, 제1 터치 이벤트를 감지함에 응답하여, 스크롤 수행 기준이 되는 터치 슬롭(touch slop)을 설정하는 동작, 상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하는 동작, 상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 디스플레이 모듈(예: 디스플레이 모듈(310))에 표시된 제1 화면에 대한 스크롤을 개시하는 동작, 상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하는 동작, 및 상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작을 포함할 수 있다.An operating method of an electronic device (eg, the electronic device 300) according to another embodiment includes, in response to detecting a first touch event, setting a touch slop that is a scroll performance standard, the first Acquisition of touch information corresponding to the current touch point at specified intervals while the touch event is maintained, and if it is confirmed that the touch movement distance exceeds the touch slope based on the acquired touch information, a display module (e.g., display Initiating scrolling of the first screen displayed in the module 310), and determining at least one of a movement speed, a movement distance, or a deceleration of the first touch event based on the touch information acquired while the scroll is being performed. The method may include an operation of checking included scroll data, and an operation of controlling a state of scrolling of the first screen by determining whether the scrolling is terminated based on the scroll data.

일 실시 예에서, 상기 터치 슬롭을 설정하는 동작은, 상기 제1 터치 이벤트를 감지함에 응답하여, 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는지 확인하는 동작, 및 상기 확인 결과를 기반으로 상기 터치 슬롭을 설정하는 동작을 포함할 수 있다.In an embodiment, the setting of the touch slope may include determining whether a touch down point of the first touch event corresponds to a selection input area within the first screen in response to detecting the first touch event. An operation of checking and an operation of setting the touch slope based on the result of the checking may be included.

일 실시 예에서, 상기 터치 슬롭을 설정하는 동작은, 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하지 않는 것으로 확인되면, 상기 터치 슬롭을 0으로 설정하는 동작, 및 상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인되면, 상기 터치 슬롭을 0보다 큰 값으로 설정하는 동작을 포함할 수 있다.In an embodiment, the setting of the touch slope may include, if it is determined that the touch down point does not correspond to the selection input area, setting the touch slope to 0, and setting the touch down point to the selection input area. If it is determined that the touch slope corresponds to the region, an operation of setting the touch slope to a value greater than 0 may be included.

일 실시 예에서, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은, 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 거리를 확인하는 동작, 및 상기 확인된 이동 거리가 제1 임계값보다 작으면 상기 스크롤의 상태를 변경하도록 제어하는 동작을 포함하며, 상기 스크롤 구간은 상기 지정된 시간에 대응하도록 설정될 수 있다.In one embodiment, the operation of controlling the state of scrolling of the first screen may include an operation of checking a movement distance for each scroll section while scrolling of the first screen is performed based on the touch information, and the checking. and controlling to change the state of the scroll when the moved distance is smaller than the first threshold, and the scroll section may be set to correspond to the designated time.

일 실시 예에서, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은, 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 중 상기 이동 거리가 가장 큰 제1 스크롤 구간을 확인하는 동작, 상기 제1 스크롤 구간을 기준으로 현재 감속도를 계산하는 동작, 및 상기 계산된 감속도가 제2 임계값보다 크면 상기 스크롤이 정지하도록 제어하는 동작을 더 포함할 수 있다.In one embodiment, the operation of controlling the state of scrolling of the first screen may include checking a first scroll section having the largest movement distance while scrolling of the first screen is performed based on the touch information. The method may further include an operation of calculating a current deceleration based on the first scroll section, and an operation of controlling the scrolling to stop when the calculated deceleration is greater than a second threshold.

일 실시 예에서, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은, 상기 제1 화면에 대한 스크롤이 수행되는 동안 상기 확인된 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동작, 및 상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하면 상기 스크롤이 정지하도록 제어하는 동작을 더 포함할 수 있다.In one embodiment, the operation of controlling the state of scrolling of the first screen may include counting a scroll section in which the checked movement distance is less than the first threshold while scrolling of the first screen is performed. , and controlling the scrolling to stop when the counted number of scroll sections exceeds a third threshold.

일 실시 예에서, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은, 상기 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과하면, 상기 카운트를 리셋하는 동작을 더 포함할 수 있다.In one embodiment, the operation of controlling the state of scrolling on the first screen may include counting scroll sections in which the movement distance is smaller than the first threshold value, while counting scroll sections in which the movement distance is smaller than the first threshold value is a fourth threshold value. If the value is exceeded, an operation of resetting the count may be further included.

일 실시 예에서, 상기 방법은, 상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 속도를 확인하는 동작, 및 상기 확인된 이동 속도를 기반으로 계산된 평균 속도가 지정된 속도 이하이면, 상기 제1 임계값을 지정된 값 미만으로 변경하여 설정하는 동작을 더 포함할 수 있다.In an embodiment, the method may include an operation of checking a movement speed for each scroll section while scrolling of the first screen is performed based on the touch information, and an average speed calculated based on the checked movement speed If the speed is less than or equal to the designated speed, the method may further include changing and setting the first threshold value to be less than the designated value.

일 실시 예에서, 상기 터치 슬롭을 설정하는 동작은, 상기 제1 터치 이벤트를 감지함에 응답하여, 상기 메모리에 저장된 스크롤 맵을 확인하는 동작, 스크롤 맵을 기반으로 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 디스플레이 모듈 내 스크롤 영역에 대응하는지 확인하는 동작; 및 상기 터치 다운 지점이 상기 스크롤 영역에 대응하면, 상기 터치 다운 지점의 스크롤 발생 확률을 기반으로 상기 터치 슬롭을 설정하는 동작을 포함하며, 상기 스크롤 맵은, 상기 디스플레이 모듈에 포함된 복수 개의 영역들에 대한 스크롤 발생 확률과 상기 복수 개의 영역들 각각의 스크롤 발생 확률을 기반으로 결정된 스크롤 영역 관련 정보를 포함할 수 있다.In one embodiment, the operation of setting the touch slope may include an operation of checking a scroll map stored in the memory in response to detecting the first touch event, and a touchdown of the first touch event based on the scroll map ( determining whether a touch down point corresponds to a scroll area within the display module; and if the touchdown point corresponds to the scroll area, setting the touch slope based on a scroll occurrence probability of the touchdown point, wherein the scroll map includes a plurality of areas included in the display module. It may include scroll area-related information determined based on the scroll occurrence probability for and the scroll occurrence probability of each of the plurality of areas.

일 실시 예에서, 상기 방법은, 상기 제1 터치 이벤트의 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤 제어 상태를 확인하는 동작, 및 상기 확인된 제어 상태를 기반으로 상기 스크롤에 관련된 애니메이션 효과의 발생 속도를 결정하고, 상기 제1 터치 이벤트가 종료된 것으로 처리하는 동작을 더 포함할 수 있다.In one embodiment, the method may include an operation of checking a scroll control state of the first screen when the touch release of the first touch event is detected, and an animation effect related to the scroll based on the checked control state. The method may further include an operation of determining a generation speed of and processing that the first touch event has ended.

본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.Electronic devices according to various embodiments disclosed in this document may be devices of various types. 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. An electronic device according to an embodiment of this document is not limited to the aforementioned devices.

본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C," "A, B 및 C 중 적어도 하나", 및 " A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.Various embodiments of this document and terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, like reference numbers may be used for like or related elements. The singular form of a noun corresponding to an item may include one item or a plurality of items, unless the relevant context clearly dictates otherwise. In this document, "A or B", "at least one of A and B", "at least one of A or B", "A, B or C," "at least one of A, B and C", and "A Each of the phrases such as "at least one of , B, or C" may include any one of the items listed together in that phrase, or all possible combinations thereof. Terms such as "first", "second", or "first" or "secondary" may simply be used to distinguish that component from other corresponding components, and may refer to that component in other respects (eg, importance or order) is not limited. A (eg, first) component is said to be "coupled" or "connected" to another (eg, second) component, with or without the terms "functionally" or "communicatively." When mentioned, it means that the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term "module" used in this document may include a unit implemented by hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, "비일시적"은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of this document describe one or more instructions stored in a storage medium (eg, internal memory 136 or external memory 138) readable by a machine (eg, electronic device 101). It may be implemented as software (eg, the program 140) including them. For example, a processor (eg, the processor 120 ) of a device (eg, the electronic device 101 ) may call at least one command among one or more instructions stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked. 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. Here, "non-temporary" only means that the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium and It does not discriminate when it is temporarily stored.

일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어??)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in this document may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store??) or on two user devices. It can be distributed (eg downloaded or uploaded) online, directly between (eg smartphones). In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.

다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (eg, module or program) of the components described above may include a singular object or a plurality of entities. According to various embodiments, one or more components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (eg modules or programs) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. . According to various embodiments, operations performed by modules, programs, or other components are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.

Claims (20)

전자 장치에 있어서,
디스플레이 모듈;
상기 디스플레이 모듈과 작동적으로 연결된 적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서와 작동적으로 연결된 메모리를 포함하고,
상기 메모리는, 실행 시에, 상기 적어도 하나의 프로세서가,
제1 터치 이벤트를 감지함에 응답하여, 스크롤 수행 기준이 되는 터치 슬롭(touch slop)을 설정하고,
상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하고,
상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 상기 디스플레이 모듈에 표시된 제1 화면에 대한 스크롤을 개시하도록 제어하고,
상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하고,
상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여, 상기 제1 화면에 대한 스크롤의 상태를 제어하도록 하는 인스트럭션들을 저장하는, 전자 장치.
In electronic devices,
display module;
at least one processor operatively connected with the display module; and
a memory operatively coupled with the at least one processor;
The memory, when executed, the at least one processor,
In response to detecting a first touch event, setting a touch slop as a criterion for performing scrolling;
Acquiring touch information corresponding to a current touch point at each designated time while the first touch event is maintained;
If it is confirmed that the touch movement distance exceeds the touch slope based on the acquired touch information, control to initiate scrolling of the first screen displayed on the display module;
Checking scroll data including at least one of a movement speed, a movement distance, or a deceleration of the first touch event based on the touch information acquired while the scroll is being performed;
The electronic device that determines whether or not the scrolling ends based on the scroll data and stores instructions for controlling a scrolling state of the first screen.
청구항 1에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 터치 이벤트를 감지함에 응답하여, 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는지 확인하고,
상기 확인 결과를 기반으로 상기 터치 슬롭을 설정하도록 하는, 전자 장치.
The method of claim 1,
The instructions, the at least one processor,
In response to detecting the first touch event, determine whether a touch down point of the first touch event corresponds to a selection input area within the first screen;
The electronic device configured to set the touch slope based on the check result.
청구항 2에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 터치 다운 지점이 상기 선택 입력 영역에 대응하지 않는 것으로 확인되면, 상기 터치 슬롭을 0으로 설정하고,
상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인되면, 상기 터치 슬롭을 0보다 큰 값으로 설정하도록 하는, 전자 장치.
The method of claim 2,
The instructions, the at least one processor,
If it is determined that the touchdown point does not correspond to the selection input area, the touch slope is set to 0;
and setting the touch slope to a value greater than 0 when it is determined that the touchdown point corresponds to the selection input area.
청구항 1에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 거리를 확인하고,
상기 확인된 이동 거리가 제1 임계값보다 작으면 상기 스크롤의 상태를 변경하도록 제어하며,
상기 스크롤 구간은 상기 지정된 시간에 대응하도록 설정되는, 전자 장치.
The method of claim 1,
The instructions, the at least one processor,
While scrolling of the first screen is performed based on the touch information, a movement distance for each scroll section is checked;
If the checked movement distance is smaller than a first threshold, control to change the state of the scroll;
The electronic device, wherein the scroll period is set to correspond to the designated time.
청구항 4에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 중 상기 이동 거리가 가장 큰 제1 스크롤 구간을 확인하고,
상기 제1 스크롤 구간을 기준으로 현재 감속도를 계산하고,
상기 계산된 감속도가 제2 임계값보다 크면 상기 스크롤을 정지시키도록 하는, 전자 장치.
The method of claim 4,
The instructions, the at least one processor,
While scrolling of the first screen is performed based on the touch information, a first scroll section having the largest movement distance is identified;
Calculate a current deceleration based on the first scroll section,
The electronic device to stop the scrolling when the calculated deceleration is greater than the second threshold.
청구항 4에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 화면에 대한 스크롤이 수행되는 동안 상기 확인된 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하고,
상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하면 상기 스크롤을 정지시키도록 하는, 전자 장치.
The method of claim 4,
The instructions, the at least one processor,
Counting scroll sections in which the checked movement distance is smaller than the first threshold value while scrolling of the first screen is performed;
and stopping the scrolling when the counted number of scroll sections exceeds a third threshold.
청구항 6에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과하면, 상기 카운트를 리셋하도록 하는, 전자 장치.
The method of claim 6,
The instructions, the at least one processor,
The electronic device resets the count when a scroll period greater than the first threshold exceeds a fourth threshold while counting scroll periods in which the movement distance is less than the first threshold.
청구항 4에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 속도를 확인하고,
상기 확인된 이동 속도를 기반으로 계산된 평균 속도가 지정된 속도 이하이면, 상기 제1 임계값을 지정된 값 미만으로 변경하여 설정하도록 하는, 전자 장치.
The method of claim 4,
The instructions, the at least one processor,
Checking a movement speed for each scroll section while scrolling of the first screen is performed based on the touch information;
If the average speed calculated based on the checked moving speed is less than or equal to the designated speed, the electronic device changes the first threshold value to less than a designated value.
청구항 1에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 터치 이벤트를 감지함에 응답하여, 상기 메모리에 저장된 스크롤 맵을 확인하고,
스크롤 맵을 기반으로 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 디스플레이 모듈 내 스크롤 영역에 대응하는지 확인하고,
상기 터치 다운 지점이 상기 스크롤 영역에 대응하면, 상기 터치 다운 지점의 스크롤 발생 확률을 기반으로 상기 터치 슬롭을 설정하도록 하고,
상기 스크롤 맵은, 상기 디스플레이 모듈에 포함된 복수 개의 영역들에 대한 스크롤 발생 확률과 상기 복수 개의 영역들 각각의 스크롤 발생 확률을 기반으로 결정된 스크롤 영역 관련 정보를 포함하는, 전자 장치.
The method of claim 1,
The instructions, the at least one processor,
In response to detecting the first touch event, checking a scroll map stored in the memory;
Determine whether a touch down point of the first touch event corresponds to a scroll area in the display module based on a scroll map;
if the touchdown point corresponds to the scroll area, set the touch slope based on a scroll occurrence probability of the touchdown point;
The electronic device of claim 1 , wherein the scroll map includes scroll region-related information determined based on a scroll occurrence probability of a plurality of regions included in the display module and a scroll occurrence probability of each of the plurality of regions.
청구항 1에 있어서,
상기 인스트럭션들은, 상기 적어도 하나의 프로세서가,
상기 제1 터치 이벤트의 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤 제어 상태를 확인하고,
상기 확인된 제어 상태를 기반으로 상기 스크롤에 관련된 애니메이션 효과의 발생 속도를 결정하고, 상기 제1 터치 이벤트가 종료된 것으로 처리하도록 하는, 전자 장치.
The method of claim 1,
The instructions, the at least one processor,
When a touch release of the first touch event is detected, a scroll control state of the first screen is checked;
An electronic device that determines a generation speed of an animation effect related to the scroll based on the checked control state, and processes the first touch event as an end.
전자 장치의 동작 방법에 있어서,
제1 터치 이벤트를 감지함에 응답하여, 스크롤 수행 기준이 되는 터치 슬롭(touch slop)을 설정하는 동작;
상기 제1 터치 이벤트가 유지되는 동안 지정된 시간 마다 현재 터치 지점에 대응하는 터치 정보를 획득하는 동작;
상기 획득된 터치 정보를 기반으로 터치 이동 거리가 상기 터치 슬롭을 초과함을 확인하면, 디스플레이 모듈에 표시된 제1 화면에 대한 스크롤을 개시하는 동작;
상기 스크롤이 수행되는 동안 획득된 상기 터치 정보를 기반으로 상기 제1 터치 이벤트의 이동 속도, 이동 거리 또는 감속도 중 적어도 하나를 포함하는 스크롤 데이터를 확인하는 동작; 및
상기 스크롤 데이터를 기반으로 상기 스크롤의 종료 여부를 판단하여, 상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작을 포함하는, 방법.
In the operating method of the electronic device,
In response to detecting a first touch event, setting a touch slope that is a scrolling reference;
obtaining touch information corresponding to a current touch point at designated times while the first touch event is maintained;
initiating scrolling of a first screen displayed on a display module when it is determined that a touch movement distance exceeds the touch slope based on the acquired touch information;
checking scroll data including at least one of a movement speed, a movement distance, and a deceleration of the first touch event based on the touch information acquired while the scroll is being performed; and
and controlling a state of scrolling of the first screen by determining whether the scrolling is terminated based on the scroll data.
청구항 11에 있어서,
상기 터치 슬롭을 설정하는 동작은,
상기 제1 터치 이벤트를 감지함에 응답하여, 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 제1 화면 내 선택 입력 영역에 대응하는지 확인하는 동작; 및
상기 확인 결과를 기반으로 상기 터치 슬롭을 설정하는 동작을 포함하는, 방법.
The method of claim 11,
The operation of setting the touch slope,
in response to detecting the first touch event, determining whether a touch down point of the first touch event corresponds to a selection input area within the first screen; and
And setting the touch slope based on the check result.
청구항 12에 있어서,
상기 터치 슬롭을 설정하는 동작은,
상기 터치 다운 지점이 상기 선택 입력 영역에 대응하지 않는 것으로 확인되면, 상기 터치 슬롭을 0으로 설정하는 동작; 및
상기 터치 다운 지점이 상기 선택 입력 영역에 대응하는 것으로 확인되면, 상기 터치 슬롭을 0보다 큰 값으로 설정하는 동작을 포함하는, 방법.
The method of claim 12,
The operation of setting the touch slope,
setting the touch slope to 0 when it is determined that the touchdown point does not correspond to the selection input area; and
and setting the touch slope to a value greater than 0 when it is determined that the touchdown point corresponds to the selection input area.
청구항 11에 있어서,
상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은,
상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 거리를 확인하는 동작; 및
상기 확인된 이동 거리가 제1 임계값보다 작으면 상기 스크롤의 상태를 변경하도록 제어하는 동작을 포함하며,
상기 스크롤 구간은 상기 지정된 시간에 대응하도록 설정되는, 방법.
The method of claim 11,
The operation of controlling the state of scrolling on the first screen,
checking a movement distance for each scroll section while scrolling of the first screen is performed based on the touch information; and
and controlling to change a state of the scroll when the checked movement distance is smaller than a first threshold value,
Wherein the scroll section is set to correspond to the designated time.
청구항 14에 있어서,
상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은,
상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 중 상기 이동 거리가 가장 큰 제1 스크롤 구간을 확인하는 동작;
상기 제1 스크롤 구간을 기준으로 현재 감속도를 계산하는 동작; 및
상기 계산된 감속도가 제2 임계값보다 크면 상기 스크롤이 정지하도록 제어하는 동작을 더 포함하는, 방법.
The method of claim 14,
The operation of controlling the state of scrolling on the first screen,
determining a first scroll section having the largest movement distance while scrolling of the first screen is performed based on the touch information;
calculating a current deceleration based on the first scroll section; and
and controlling the scrolling to stop when the calculated deceleration is greater than a second threshold.
청구항 14에 있어서,
상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은,
상기 제1 화면에 대한 스크롤이 수행되는 동안 상기 확인된 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동작; 및
상기 카운트된 스크롤 구간의 수가 제3 임계값을 초과하면 상기 스크롤이 정지하도록 제어하는 동작을 더 포함하는, 방법.
The method of claim 14,
The operation of controlling the state of scrolling on the first screen,
counting scroll sections in which the checked movement distance is smaller than the first threshold value while scrolling of the first screen is performed; and
and controlling the scrolling to stop when the counted number of scroll sections exceeds a third threshold.
청구항 16에 있어서,
상기 제1 화면에 대한 스크롤의 상태를 제어하는 동작은,
상기 이동 거리가 상기 제1 임계값보다 작은 스크롤 구간을 카운트하는 동안 상기 제1 임계값보다 큰 스크롤 구간이 제4 임계값을 초과하면, 상기 카운트를 리셋하는 동작을 더 포함하는, 방법.
The method of claim 16
The operation of controlling the state of scrolling on the first screen,
The method further comprises resetting the count when a scroll period greater than the first threshold exceeds a fourth threshold while counting scroll periods in which the movement distance is less than the first threshold.
청구항 14에 있어서,
상기 터치 정보를 기반으로 상기 제1 화면에 대한 스크롤이 수행되는 동안 스크롤 구간 별 이동 속도를 확인하는 동작; 및
상기 확인된 이동 속도를 기반으로 계산된 평균 속도가 지정된 속도 이하이면, 상기 제1 임계값을 지정된 값 미만으로 변경하여 설정하는 동작을 더 포함하는, 방법.
The method of claim 14,
checking a movement speed for each scroll section while scrolling of the first screen is performed based on the touch information; and
and changing and setting the first threshold to less than a specified value when the average speed calculated based on the checked moving speed is equal to or less than a specified speed.
청구항 11에 있어서,
상기 터치 슬롭을 설정하는 동작은,
상기 제1 터치 이벤트를 감지함에 응답하여, 상기 메모리에 저장된 스크롤 맵을 확인하는 동작;
스크롤 맵을 기반으로 상기 제1 터치 이벤트의 터치 다운(touch down) 지점이 상기 디스플레이 모듈 내 스크롤 영역에 대응하는지 확인하는 동작; 및
상기 터치 다운 지점이 상기 스크롤 영역에 대응하면, 상기 터치 다운 지점의 스크롤 발생 확률을 기반으로 상기 터치 슬롭을 설정하는 동작을 포함하며,
상기 스크롤 맵은, 상기 디스플레이 모듈에 포함된 복수 개의 영역들에 대한 스크롤 발생 확률과 상기 복수 개의 영역들 각각의 스크롤 발생 확률을 기반으로 결정된 스크롤 영역 관련 정보를 포함하는, 방법.
The method of claim 11,
The operation of setting the touch slope,
checking a scroll map stored in the memory in response to detecting the first touch event;
determining whether a touch down point of the first touch event corresponds to a scroll area within the display module based on a scroll map; and
and setting the touch slope based on a scroll occurrence probability of the touchdown point when the touchdown point corresponds to the scroll area,
The method of claim 1 , wherein the scroll map includes scroll region-related information determined based on a scroll occurrence probability of a plurality of regions included in the display module and a scroll occurrence probability of each of the plurality of regions.
청구항 11에 있어서,
상기 제1 터치 이벤트의 터치 해제를 감지하면, 상기 제1 화면에 대한 스크롤 제어 상태를 확인하는 동작; 및
상기 확인된 제어 상태를 기반으로 상기 스크롤에 관련된 애니메이션 효과의 발생 속도를 결정하고, 상기 제1 터치 이벤트가 종료된 것으로 처리하는 동작을 더 포함하는, 방법.
The method of claim 11,
checking a scroll control state of the first screen when a touch release of the first touch event is sensed; and
The method further comprises determining a generation speed of an animation effect related to the scroll based on the checked control state, and processing the first touch event as an end.
KR1020220032803A 2022-01-12 2022-03-16 Method for processing a touch input and an electronic device thereof KR20230109050A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2022/017946 WO2023136443A1 (en) 2022-01-12 2022-11-15 Method and electronic device for processing touch input
US18/120,925 US20230221853A1 (en) 2022-01-12 2023-03-13 Method for processing touch input and an electronic device thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220004508 2022-01-12
KR20220004508 2022-01-12

Publications (1)

Publication Number Publication Date
KR20230109050A true KR20230109050A (en) 2023-07-19

Family

ID=87425784

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220032803A KR20230109050A (en) 2022-01-12 2022-03-16 Method for processing a touch input and an electronic device thereof

Country Status (1)

Country Link
KR (1) KR20230109050A (en)

Similar Documents

Publication Publication Date Title
KR20210048941A (en) Electronic device and method of controlling display operation of electronic device
KR20220102715A (en) Electronic device and method to automatically control the brightness of electronic device
KR20220006869A (en) Electronic device and method for calibrating geomagnetic sensor
KR20230109050A (en) Method for processing a touch input and an electronic device thereof
US20230221853A1 (en) Method for processing touch input and an electronic device thereof
KR20220017180A (en) Electronic device including display and operation method thereof
KR20220053394A (en) Electronic device and method for controlling display of a plurality of objects on wearable display device
KR20220128892A (en) Electronic device for typo correction and the method thereof
KR20220008118A (en) Electronic device and method for displaying differently brightness of virtual objects
US20200125215A1 (en) Electronic device that executes assigned operation in response to touch pressure, and method therefor
WO2023136443A1 (en) Method and electronic device for processing touch input
KR20200125244A (en) An electronic apparatus comprising a display device which comprises a touch sensor
US20220129139A1 (en) Electronic device and method for controlling display of a plurality of objects on wearable display device
KR20230050037A (en) Electronic device and method of operating the same
KR20240030899A (en) Electronic device, method, and computer-readable storage media for changing trajectory of gesture
KR20230036021A (en) Electronic device for obtaining user input through virtual keyboard and method of operating the same
KR20230012350A (en) Electronic device that quickly updates a screen upon receiving an input from a peripheral device
KR20230036492A (en) Electronic device for modifying parameter associated with touch sensor and method thereof
KR20220147832A (en) Electronic device for processing handwriting input and method of operating the same
KR20240020133A (en) Apparatus for detecting frame drop and operating method of thereof
KR20230023425A (en) Method for sensing touch gesture and electronic device supporting the same
KR20230023266A (en) Electronic device and operation method of electronic device including touch screen panel
KR20230023158A (en) Electronic device and the method for electronic pen operation
KR20240021084A (en) Electronic device including a plurality of displays and method for reducing image quality deviation of the plurality of displays
KR20230115840A (en) Method for controlling multi-window screen and an electronic device thereof