CN107544693B - Mouse and accelerated rolling input method for same - Google Patents

Mouse and accelerated rolling input method for same Download PDF

Info

Publication number
CN107544693B
CN107544693B CN201710581581.6A CN201710581581A CN107544693B CN 107544693 B CN107544693 B CN 107544693B CN 201710581581 A CN201710581581 A CN 201710581581A CN 107544693 B CN107544693 B CN 107544693B
Authority
CN
China
Prior art keywords
output
rolling
mouse
accelerated
output state
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201710581581.6A
Other languages
Chinese (zh)
Other versions
CN107544693A (en
Inventor
陈希圣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Darfon Electronics Suzhou Co Ltd
Original Assignee
Darfon Electronics Suzhou Co Ltd
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 Darfon Electronics Suzhou Co Ltd filed Critical Darfon Electronics Suzhou Co Ltd
Priority to CN201710581581.6A priority Critical patent/CN107544693B/en
Publication of CN107544693A publication Critical patent/CN107544693A/en
Application granted granted Critical
Publication of CN107544693B publication Critical patent/CN107544693B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)

Abstract

The invention discloses a mouse and an accelerated rolling input method for the mouse. The mouse senses the scroll operation applied to the scroll input receiving component through the scroll input receiving component of the mouse and detects whether the scroll operation meets the triggering condition or not. If the trigger condition is satisfied, the mouse operates in an accelerated output state and outputs a rolling count value according to a corresponding predetermined rolling output relationship. The invention allows the user to selectively make the mouse enter an accelerated output state by rolling the roller wheel on the mouse at different speeds, thereby realizing accelerated rolling input. The mouse and the accelerated rolling input method provided by the invention determine whether to enter an accelerated output state or not by monitoring whether the rolling operation meets the triggering condition or not, and are closer to the requirement of a user on an accelerated situation when the user actually operates the mouse; when the mouse is in an accelerated output state, the mouse directly outputs a rolling count value according to the corresponding preset rolling output relation without continuously operating the mouse by a user, so that the burden of the user on operating the mouse can be reduced.

Description

Mouse and accelerated rolling input method for same
Technical Field
The present invention relates to a mouse and an accelerated scroll input method for the mouse, and more particularly, to a mouse capable of operating in a plurality of accelerated output states and an accelerated scroll input method for the mouse.
Background
The scroll wheel above the mouse is generally used to scroll the screen file (or move the page up and down), so that the user can scroll the screen file to different web page sections through the scroll wheel. However, when the web page is long, the user may need to scroll the scroll wheel all the time to scroll the screen file to the desired web page section. Such a scrolling operation, in addition to being time consuming, may also cause injury to the user's fingers due to excessive repetitive motion. To address this problem, methods for providing accelerated scrolling operations are available to output a larger proportion of the scrolling distance (or so-called angle) of the actual scroll wheel to the scrolling distance (e.g., the distance to scroll a web page) on the system. For example, a button provided on the mouse is triggered to initiate the acceleration mode, or the acceleration mode is initiated by an acceleration situation in which the wheel itself is actually scrolling. However, in any case, when the mouse is in the acceleration mode (or the computer system receives mouse scroll input in the acceleration mode), the scroll distance (e.g., the distance to scroll a web page) presented on the system still corresponds to the actual scroll distance of the mouse wheel. At this time, when the web page is long, the user still needs to continuously roll the wheel to move from the beginning of the web page to the end of the web page.
Disclosure of Invention
In view of the problems in the prior art, the present invention provides an accelerated scroll input method, which enables a mouse to enter an accelerated output state, and when the mouse is operated in the accelerated output state, a user can output a scroll count value according to a predetermined scroll output relationship without continuously inputting a scroll operation through the mouse.
In order to achieve the above object, the present invention provides an accelerated rolling input method for a mouse, the mouse including a rolling input receiving component, the mouse having an original output state, a first accelerated output state and a second accelerated output state, the first accelerated output state corresponding to a first predetermined rolling output relationship of time input to accumulated count output, the second accelerated output state corresponding to a second predetermined rolling output relationship of time input to accumulated count output, the accelerated rolling input method comprising the steps of:
(a) the mouse senses a scroll operation applied to the scroll input receiving element via the scroll input receiving element;
(b) the mouse accumulates the rolling count related to the rolling operation within a preset time period through the rolling input receiving assembly to generate an accumulated value; and
(c) when the mouse judges that the accumulated value is larger than the preset value, the following steps are carried out:
if the mouse is in the original output state, the mouse is switched to the first accelerated output state and the mouse outputs a rolling count value according to the first predetermined rolling output relationship, or
If the mouse is operated in the first accelerated output state, the mouse is switched to the second accelerated output state and the mouse outputs a rolling count value according to the second preset rolling output relation.
Therefore, when the user makes the accumulated value exceed the preset value through the rolling operation, the mouse enters an accelerated output state, the mouse can directly output a rolling count value according to the corresponding preset rolling output relation without continuously operating the rolling input receiving assembly, and continuously roll the screen file or continuously roll the page.
As an optional technical solution, the step (c) further comprises the following steps:
if the mouse is operated in the second accelerated output state, the mouse is maintained to be operated in the second accelerated output state, and the mouse outputs the rolling count value again according to the second preset rolling output relation.
As an optional technical solution, the mouse has a third accelerated output state, and the third accelerated output state corresponds to a third predetermined scroll output relationship between the time input and the accumulated count output, wherein the step (c) further includes the following steps:
if the mouse is operated in the second accelerated output state, the mouse is switched to the third accelerated output state and the mouse outputs a rolling count value according to the third preset rolling output relation.
As an optional technical solution, the step (c) further comprises the following steps:
if the mouse is operated in the third accelerated output state, the mouse is maintained to be operated in the third accelerated output state, and the mouse outputs the rolling count value again according to the third preset rolling output relation.
As an optional technical solution, the mouse has at least one sequential higher accelerated output state, each higher accelerated output state corresponds to a predetermined rolling output relationship of time input to cumulative count output, wherein the step (c) further comprises the following steps:
if the mouse is operated in the second accelerated output state, the mouse is switched to a first higher accelerated output state in the at least one higher accelerated output state, and the mouse outputs a rolling count value according to a preset rolling output relation corresponding to the first higher accelerated output state.
As an optional technical solution, the step (c) further comprises the following steps:
if the mouse is operated in one of the at least one higher accelerated output state but not the last higher accelerated output state in the at least one higher accelerated output state, switching the mouse to the next higher accelerated output state and enabling the mouse to output a scroll count value according to a preset scroll output relation corresponding to the next higher accelerated output state; or
If the mouse is operated in the last higher accelerated output state of the at least one higher accelerated output state, the mouse is maintained to be operated in the last higher accelerated output state, and the mouse is enabled to output the scroll count value again according to the preset scroll output relation corresponding to the last higher accelerated output state.
As an optional technical solution, the turbo-scroll input method further includes the following steps:
when the mouse judges that the accumulated value does not exceed the preset value, if the mouse operates in the first accelerated output state or the second accelerated output state, the mouse is switched to the original output state.
As an alternative solution, the rate of change of the accumulated count output of the first predetermined rolling output relationship to the time input is decreasing.
As an optional technical solution, the first predetermined scroll output relationship has a first initial output rate of the accumulated count output to the time input, and the second predetermined scroll output relationship has a second initial output rate of the accumulated count output to the time input, where the second initial output rate is greater than the first initial output rate.
As an optional technical solution, the turbo-scroll input method further includes the following steps:
and after the output of the mouse is finished according to the first preset rolling output relation or the second preset rolling output relation, switching the mouse to the original output state.
Another object of the present invention is to provide a mouse, which can provide accelerated scrolling input for a user by using the aforementioned accelerated scrolling input method.
In order to achieve the above object, the present invention provides a mouse, comprising a rolling input receiving assembly, an output interface, a microcontroller, the microcontroller being electrically connected to the rolling input receiving assembly and the output interface, the microcontroller having an original output state, a first accelerated output state and a second accelerated output state, the microcontroller storing a first predetermined rolling output relationship corresponding to a time input of the first accelerated output state to an accumulated count output and a second predetermined rolling output relationship corresponding to a time input of the second accelerated output state to an accumulated count output, wherein the microcontroller senses a rolling operation applied to the rolling input receiving assembly through the rolling input receiving assembly, the microcontroller accumulates a rolling count related to the rolling operation within a predetermined period of time through the rolling input receiving assembly to generate an accumulated value, when the microcontroller judges that the accumulated value is larger than a preset value, if the microcontroller operates in the original output state, the microcontroller is switched to the first accelerated output state and outputs a rolling count value to the outside through the output interface according to the first preset rolling output relation, or if the microcontroller operates in the first accelerated output state, the microcontroller is switched to the second accelerated output state and outputs the rolling count value to the outside through the output interface according to the second preset rolling output relation.
As an optional technical solution, when the microcontroller determines that the accumulated value is greater than the predetermined value, if the microcontroller operates in the second accelerated output state, the microcontroller maintains the second accelerated output state and outputs the rolling count value to the outside via the output interface again according to the second predetermined rolling output relationship.
As an optional technical solution, the microcontroller has a third accelerated output state, the microcontroller stores a third predetermined rolling output relationship between the time input corresponding to the third accelerated output state and the accumulated count output, and when the microcontroller determines that the accumulated value is greater than the predetermined value, if the microcontroller operates in the second accelerated output state, the microcontroller switches to the third accelerated output state and outputs the rolling count value to the outside via the output interface according to the third predetermined rolling output relationship.
As an optional technical solution, when the microcontroller determines that the accumulated value is greater than the predetermined value, if the microcontroller operates in the third accelerated output state, the microcontroller maintains the third accelerated output state and outputs the rolling count value to the outside via the output interface again according to the third predetermined rolling output relationship.
As an optional technical solution, the microcontroller has at least one sequential higher accelerated output state, each higher accelerated output state corresponds to a predetermined rolling output relationship between the time input and the accumulated count output, the predetermined rolling output relationship corresponding to the at least one higher accelerated output state is stored in the microcontroller, when the microcontroller determines that the accumulated value is greater than the predetermined value, if the microcontroller operates in the second accelerated output state, the microcontroller switches to a first higher accelerated output state of the at least one higher accelerated output state and outputs a rolling count value externally through the output interface according to the predetermined rolling output relationship corresponding to the first higher accelerated output state.
As an optional technical solution, when the microcontroller judges that the accumulated value is greater than the predetermined value,
if the microcontroller is operating in one of the at least one higher accelerated output state but not the last higher accelerated output state of the at least one higher accelerated output state, the microcontroller switches to the next higher accelerated output state and outputs a rolling count value to the outside via the output interface according to a predetermined rolling output relationship corresponding to the next higher accelerated output state, or
If the microcontroller operates in the last higher accelerated output state of the at least one higher accelerated output state, the microcontroller maintains the operation in the last higher accelerated output state and outputs the rolling count value to the outside through the output interface again according to the preset rolling output relation corresponding to the last higher accelerated output state.
As an optional technical solution, when the microcontroller determines that the accumulated value does not exceed the predetermined value, if the microcontroller operates in the first accelerated output state or the second accelerated output state, the microcontroller switches to the original output state.
As an alternative solution, the rate of change of the accumulated count output of the first predetermined rolling output relationship to the time input is decreasing.
As an optional technical solution, the first predetermined scroll output relationship has a first initial output rate of the accumulated count output to the time input, and the second predetermined scroll output relationship has a second initial output rate of the accumulated count output to the time input, where the second initial output rate is greater than the first initial output rate.
As an optional technical solution, after the microcontroller finishes outputting to the outside through the output interface according to the first predetermined rolling output relationship or according to the second predetermined rolling output relationship, the microcontroller switches to the original output state.
As an optional technical solution, the rolling input receiving assembly includes a roller and a sensor disposed near the roller, the sensor is electrically connected to the microcontroller, the microcontroller senses a rotation angle of the roller through the sensor, and the rolling operation is an action of rotating the roller.
Another objective of the present invention is to provide a multi-stage accelerated scrolling input method, which can enable a mouse to enter a first accelerated output state by satisfying a trigger condition, and enable the mouse to enter a second accelerated output state by satisfying the trigger condition again when the mouse is operated in the accelerated output state, wherein the two accelerated output states have different predetermined scrolling output relationships.
In order to achieve the above object, the present invention provides an accelerated scroll input method for a mouse, the mouse comprising a scroll input receiving element, the scroll input receiving assembly can accept scroll operation, the mouse has an original output state, a first accelerated output state and a second accelerated output state, when the mouse is in the original output state, the mouse outputs a scroll count value proportional to the actual rotation of the scroll input receiving element, and when the mouse is in the first accelerated output state, the mouse outputs a rolling count value according to a first predetermined rolling output relationship, and when the mouse is in the second accelerated output state, the mouse outputs a rolling count value according to a second preset rolling output relation, wherein the rolling count value output by the second preset rolling output relation is larger than the rolling count value output by the first preset rolling output relation, and the accelerated rolling input method comprises the following steps:
(a) detecting whether the rolling operation applied to the rolling input receiving unit meets a triggering condition;
(b) when the rolling operation is judged not to meet the triggering condition, the mouse is kept in the original output state; and
(c) when the rolling operation is judged to meet the triggering condition, the following steps are executed:
(c1) if the mouse is judged to be in the original output state before the scroll operation is applied, the mouse is enabled to enter the first accelerated output state, and the mouse is maintained in the first accelerated output state and is kept for a first preset time period; and
(c2) if the mouse detects another scroll operation meeting the trigger condition before the first preset time period is ended, enabling the mouse to enter the second accelerated output state, and enabling the mouse to be maintained in the second accelerated output state for a second preset time period; or
(c3) If the mouse does not detect another scroll operation meeting the trigger condition before the first preset time period is ended, the mouse restores the original output state after the first preset time period is ended.
As an optional technical solution, step (c) further comprises:
(c4) if the mouse detects another scroll operation meeting the trigger condition before the second preset time period is ended, the mouse is enabled to enter the second accelerated output state again, and the mouse is preset to be maintained in the second accelerated output state again for the second preset time period; or
(c5) And if the mouse does not detect another scroll operation meeting the triggering condition before the second preset time period is ended, the mouse restores the original output state after the second preset time period is ended.
In addition, the present invention further provides an accelerated rolling input method for a mouse, the mouse including a rolling input receiving component and a microcontroller, the rolling input receiving component being capable of receiving a rolling operation, the microcontroller being electrically connected to the rolling input receiving component, the microcontroller storing an acceleration flag being a boolean variable and an acceleration level being a numerical variable, the accelerated rolling input method including the steps of:
(a) applying a scrolling operation to the scroll input receiving element;
(b) judging whether the rolling operation meets a triggering condition;
(c) when the scrolling operation is judged to satisfy the triggering condition, the step (c) further comprises the following steps: the microcontroller reads the acceleration flag and determines whether the value of the acceleration flag is true;
(c1) if the judgment result is no, the microcontroller sets the value of the acceleration flag to be true and sets the acceleration level to be 1, and sets the input time point to be 0 corresponding to the setting ending time point.
As an optional technical solution, the step (c) further comprises the following steps:
(c2) if the judgment result is true, judging whether the acceleration level reaches the maximum value, if so, keeping the acceleration level unchanged, and setting the input time point to be 0 second corresponding to the set ending time point; if not, the acceleration level is increased by 1, and the input time is set to 0 second corresponding to the set end time.
Compared with the prior art, the mouse and the accelerated scroll input method provided by the invention can allow a user to selectively enable the mouse to enter an accelerated output state through rolling the scroll wheel on the mouse at different speeds, so as to realize accelerated scroll input (namely, the mouse can be used as an input device for the user to carry out accelerated input on a computer, for example). In addition, the mouse and the accelerated scrolling input method provided by the invention determine whether to enter the accelerated output state by monitoring whether the scrolling operation satisfies a triggering condition, such as an accumulated scrolling count within a period of time (at this time, the triggering condition can be logically regarded as a speed threshold), which can be closer to the requirement of the user on an acceleration situation when the user actually operates the mouse; moreover, when the mouse is in the accelerated output state, the mouse directly outputs the scroll count value (i.e. outputs the virtual scroll operation) according to the corresponding predetermined scroll output relationship, and the user does not need to continuously operate the mouse (or the mouse continuously receives the scroll operation through the scroll input receiving component), so that the burden of the user on operating the mouse (such as the burden of finger joints) can be reduced.
The advantages and spirit of the present invention can be further understood by the following detailed description of the invention and the accompanying drawings.
Drawings
FIG. 1 is a schematic diagram of a mouse according to an embodiment of the invention;
FIG. 2 is a functional block diagram of the mouse of FIG. 1;
FIG. 3 is a schematic diagram of a first predetermined scrolling output relationship of time input versus cumulative count output corresponding to a first accelerated output state;
FIG. 4 is a schematic diagram of a second predetermined scrolling output relationship of time input versus cumulative count output corresponding to a second accelerated output state;
FIG. 5 is a schematic diagram of a third predetermined scrolling output relationship of time input versus cumulative count output corresponding to a third accelerated output state;
FIG. 6 is a diagram showing the microcontroller of the mouse switching from the original output state to the first accelerated output state on a time axis;
FIG. 7 is a schematic diagram showing the microcontroller of the mouse switching from the first accelerated output state to the second accelerated output state along the time axis;
FIG. 8 is a timing diagram illustrating the microcontroller of the mouse switching from the second accelerated output state to the third accelerated output state;
FIG. 9 is a diagram showing the microcontroller of the mouse on the timeline to enter a third accelerated output state again from the third accelerated output state;
FIG. 10 is a diagram illustrating the microcontroller switching from the first accelerated output state to the second accelerated output state, then switching to the third accelerated output state, and then re-entering the third accelerated output state according to one embodiment;
FIG. 11 is a flow chart of a turbo-scroll input method;
FIG. 12 is a flow diagram of another accelerated scroll input method;
FIG. 13 is a flow diagram of the turbo-scroll input method according to one embodiment;
FIG. 14 is a flow diagram of the turbo-scroll input method according to another embodiment;
FIG. 15 is a flow chart of yet another accelerated scroll input method;
FIG. 16 is a flow diagram of the turbo-scroll input method according to one embodiment.
Detailed Description
In order to further understand the objects, structures, features and functions of the present invention, the following embodiments are described in detail.
Certain terms are used throughout the description and following claims to refer to particular components. As one of ordinary skill in the art will appreciate, manufacturers may refer to a component by different names. This specification and claims do not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms "include" and "comprise" are used in an open-ended fashion, and thus should be interpreted to mean "include, but not limited to.
Please refer to fig. 1 and fig. 2. The mouse 1 according to an embodiment of the present invention includes a housing 10, a microcontroller 11, a movement detector 12, a left button 13a, a right button 13b, a scroll input receiving element 14, and an output interface 15. The microcontroller 11, the movement detector 12, the left button 13a, the right button 13b and the scroll input receiving element 14 are disposed in the housing 10. In practice, the microcontroller 11 is usually integrated into a circuit board module (e.g., including a circuit board and a processing unit, a memory, at least one electrical connection interface, and other electronic components required for operation). The movement detector 12, the left button 13a, the right button 13b, the scrolling input receiving assembly 14 and the output interface 15 are electrically connected to the microcontroller 11. The pressing portions of the left key 13a and the right key 13b are integrated into the housing 10, and the switches of the left key 13a and the right key 13b are located below the pressing portions and are in principle soldered directly to the circuit board to be electrically connected to the microcontroller 11. The movement detector 12 is typically exposed on the lower surface of the housing 10 to detect movement of the housing 10 relative to, for example, a table. In practice, the motion detector 12 can be an optical encoder wheel driven by a rolling ball or an optical image to realize motion detection. In addition, the movement detector 12 can also determine the movement of the mouse 1 according to the rolling condition of the trackball (usually exposed on the upper surface of the housing 10). The scroll input receiving component 14 is configured to receive a scroll operation by a user. In the present embodiment, the rolling input receiving element 14 includes a roller 142 and a sensor 144 disposed adjacent to the roller, the roller 142 partially protrudes from the housing 10 for the user to rotate it (e.g., roll with a finger). In practical applications, the rolling input receiving assembly 14 further includes an optical encoder wheel coupled to the roller 142, and the sensor 144 (e.g., an optical sensor) is configured to enable the sensor 144 to determine the rolling distance (or the rotation angle) of the roller 142 by sensing the rotation state of the optical encoder wheel. The sensor 144 is also typically soldered to the circuit board and electrically connected to the microcontroller 11; however, the present invention is not limited thereto. For example, in a practical application, it is assumed that the optical encoder wheel linked with the roller 142 has 36 grating gaps, so that when the roller 142 rotates one turn, the optical sensors correspondingly disposed on both sides can detect and output 36 rolling counts to the microcontroller 11. Therefore, in the present embodiment, the scrolling operation is the operation of rotating the scroll wheel 142. In practice, a component that can accept a user's scrolling operation (or an operation that can be regarded as scrolling, such as a sliding movement of a fingertip) can be used as the scrolling input receiving component 14, such as a strip-shaped touch pad (or a touch bar, a touch band). In the present embodiment, the output interface 15 is a cable having a connector conforming to Universal Serial Bus (USB) standard at one end thereof, and the other end of the cable is electrically connected to the microcontroller 11; thus, the mouse 1 can output control information (including the movement amount of the mouse 1, the scroll amount input by the scroll input receiving unit 14, the activation state of the left key 13a and the right key 13b, and the like) to the outside via the output interface 15, for example, to a computer. In practice, the mouse 1 may be connected by other connection interfaces (e.g. PS/2) or wirelessly. In practice, regarding the structure of the mouse 1, the mouse 1 can be implemented by a conventional mouse (e.g. an optical mouse), so that other descriptions of the components can refer to the descriptions of the related components of the conventional mouse.
The difference from the conventional mouse is that the mouse 1 according to the present invention can accelerate the scroll input, or the scroll output accelerated for the external output, and the scroll output has no direct proportional relationship with the scroll operation actually applied to the scroll input receiving element 14 by the user, so the scroll output can be logically regarded as a virtual scroll input (for the computer). Further, in the present embodiment, the microcontroller 11 has an original output state, a first accelerated output state, a second accelerated output state and a third accelerated output state, that is, the microcontroller 11 (or the mouse 1) selectively operates in the original output state, the first accelerated output state, the second accelerated output state and the third accelerated output state. The microcontroller 11 stores a first predetermined scroll output relationship (as shown in fig. 3) corresponding to the time input of the first turbo output state to the accumulated count output, a second predetermined scroll output relationship (as shown in fig. 4) corresponding to the time input of the second turbo output state to the accumulated count output, and a third predetermined scroll output relationship (as shown in fig. 5) corresponding to the time input of the third turbo output state to the accumulated count output. When the microcontroller 11 operates in different turbo output states, the microcontroller 11 outputs the rolling count value according to the corresponding predetermined rolling output relationship. In practice, the rolling count value in each of the predetermined rolling output relationships corresponds to the rolling distance or angle (with respect to the wheel 142), and for the sake of understanding, 1 rolling count value can be logically regarded as a unit of 1 rolling distance or angle. However, the rolling distance (or angle) does not correspond to the actual rolling of the scroll wheel 142 of the scroll input receiving assembly 14, but rather is a virtual rolling (with respect to the scroll wheel 142) generated according to the corresponding predetermined rolling output relationship. After receiving the scroll count value, the computer still basically considers it as corresponding to the scroll operation inputted by the user through the mouse 1. For example, if the scroll count is 5, the computer interprets that the user has scrolled five distances (or angles) of the scroll wheel 142 of the scroll input receiving member 14, and accordingly executes the corresponding application program, such as scrolling a screen file or moving a web page by 5 unit distances.
Taking the first predetermined rolling output relationship as an example, as shown in fig. 3, when the microcontroller 11 operates in the first accelerated output state, and the time input is 0 second, the accumulated count output is also 0, that is, the rolling count value externally output by the microcontroller 11 through the output interface 15 is not changed, or the rolling count value output is not further increased (or accumulated). Then, when the time input is 0.05 second, the cumulative count output is 5, i.e. the microcontroller 11 increments the externally output rolling count value by 5 through the output interface 15. When the time input is 0.10 seconds, the cumulative count output is 10, and is increased by 5 compared to the previous time (i.e., when the time input is 0.05 seconds), so that the rolling count value externally output by the microcontroller 11 through the output interface 15 is further increased by 5. In practice, the manner in which the microcontroller 11 presents the roll count value to the computer depends, in principle, on the communication protocol between the mouse 1 and the computer. In practice, the output of the rolling count value by the microcontroller 11 can be realized by outputting an increment, i.e. the difference between the current accumulated count output and the previous accumulated count output. For example, at a time input of 0.05 seconds, the microcontroller 11 outputs increments of 5; at a time input of 0.10 seconds, the microcontroller 11 outputs increments of 5. The output of the rolling count value by the microcontroller 11 can also be realized by outputting the accumulated count, that is, directly outputting the corresponding accumulated count output; logically, this scroll count value may be considered as the scroll distance or angle of the scroll wheel 142 emulating the scroll input receiving component 14 from the cumulative start point (e.g., the count start point when the time input is 0 seconds). For convenience of description, it is assumed that the rolling count value is set to 0 when the time input is 0 second, for example, when the time input is 0 second, the microcontroller 11 outputs the rolling count value to be 0 (if the rolling count value is set to 3 when the time input is 0 second, the microcontroller 11 outputs the rolling count value to be 3); when the time input is 0.05 second, the microcontroller 11 outputs a rolling count value of 5; at a time input of 0.10 seconds, the microcontroller 11 outputs a rolling count value of 10.
In addition, in the embodiment, the microcontroller 11 usually outputs the rolling count value periodically, for example, once every 0.05 seconds to the computer through the output interface 15, so the first predetermined rolling output relationship in fig. 3 may be substantially a set of a plurality of discrete points, and the distribution of the discrete points may represent the form of the rolling count value output by the microcontroller 11. According to the first preset rolling output relation, the accumulated counting output is increased at a faster accumulated speed at the beginning and then is slowed down (namely the change rate of the accumulated counting output to the time input is decreased), and reaches an upper limit value (for example 100) at the end; on the other hand, the variation of the cumulative count output can simulate the rotation of the roller 142 rolled by the finger of the user, i.e. in one time of the rolling roller 142, the finger contacts and drives the roller 142 to roll at the beginning, the rolling speed is accelerated (i.e. the cumulative count output is increased at a faster cumulative speed), when the finger leaves the roller 142, the roller 142 continues to roll due to inertia, but the rolling speed is slowed down to a stop (i.e. the cumulative count output is slowed down to an end and reaches an upper limit). Therefore, different simulation scenarios can be obtained by designing the distribution of the discrete points. In practice, the first predetermined scrolling output relationship may also be expressed in the form of a function, i.e. a curve as shown in FIG. 3. The function representation of the first predetermined rolling output relationship can simplify the variables controlling the first predetermined rolling output relationship and also facilitate obtaining the corresponding accumulated counting output in a simple operation manner. In this embodiment, the first predetermined scrolling output relationship is represented by a cubic polynomial function:
C(t)=α01t+α2t23t3
its first differential, C' (t) α1+2α2t+3α3t2
Wherein C (t) is the accumulated count output, t is the time input, α0、α1、α2、α3Coefficient of polynomial coefficient α0、α1、α2、α3Can be derived from the boundary conditions; in this embodiment, as shown in fig. 3, C (0) is 0, C (2) is 100, C '(0) is 5, and C' (2) is 0. Note that, here, C' (t) is C (t)) Thus, in actual practice, this cubic polynomial function (used to represent the first predetermined rolling output relationship) may be represented by the coefficients α0、α1、α2、α3Or a boundary condition. In addition, in practical operation, the rolling count value is output in an integer format in principle, so in the case of using a function to represent the predetermined rolling output relationship, when calculating a function (such as the aforementioned cubic polynomial function), a numerical reduction (Rounding) method can be used to form an integer, for example, Rounding. In addition, whether the first predetermined scrolling output relationship is expressed as a set of discrete points or a polynomial function, the set of discrete points (e.g., recorded in pairs) or the polynomial function (e.g., recorded as polynomial coefficients and a variable range, in this embodiment, the variable range is 0 to 2 seconds, i.e., the time input) is stored in the microcontroller 11.
The above description regarding the first predetermined scrolling output relationship also applies to the second predetermined scrolling output relationship and the third predetermined scrolling output relationship. In this embodiment, the first predetermined scrolling output relationship is provided in an output mode that outputs a 100 unit cumulative count in 2 seconds (i.e., up to 100 units of scrolling distance or angle in the time range of 2 seconds), the second predetermined scrolling output relationship is provided in an output mode that outputs a 200 unit cumulative count in 4 seconds (i.e., up to 200 units of scrolling distance or angle in the time range of 4 seconds), and the third predetermined scrolling output relationship is provided in an output mode that outputs a 400 unit cumulative count in 6 seconds (i.e., up to 400 units of scrolling distance or angle in the time range of 6 seconds). However, the present invention is not limited thereto. In actual operation, the output time range and the accumulated count of each predetermined rolling output relationship can be determined according to the product requirements. In addition, in the present embodiment, the first predetermined scrolling output relationship has a first initial output rate of accumulating the count output versus the time input, for example, 5 counts every 0.05 seconds (i.e., the aforementioned C' (0) ═ 5); the second predetermined scrolling output relationship has a second initial output rate of accumulated count output versus time input, e.g., 6 counts per 0.05 second; the third predetermined scrolling output relationship has a third initial output rate of cumulative count output versus time input, e.g., 7 counts per 0.05 seconds. The third initial output rate is greater than the second initial output rate, which is greater than the first initial output rate. However, the invention is not limited thereto, for example, the second initial output rate can be designed to be smaller than the first initial output rate. In addition, when the microcontroller 11 outputs the rolling count value according to the first, second or third predetermined rolling output relationship, the roller 142 of the rolling input receiving element 14 does not affect the output of the rolling count value (or has no direct correspondence therebetween) except for special rolling (for example, as a trigger for the microcontroller 11 to switch the output state, including re-acceleration, stopping acceleration, etc., which will be described later).
In addition, when the microcontroller 11 operates in the original output state, the microcontroller 11 outputs a rolling count value to the outside through the output interface 15 according to the actual rolling distance or angle of the roller 142, and a certain ratio exists between the rolling count value and the actual rolling distance or angle of the roller 142 (or the rolling count value is proportional to the actual rotation amount of the roller 142 of the rolling input receiving assembly 14). Since the microcontroller 11 outputs the rolling count value according to the corresponding first, second or third predetermined rolling output relationship even though the wheel 142 does not roll actually when the microcontroller 11 operates in the first, second or third predetermined rolling output relationship, the operation is in the accelerated output state when the microcontroller 11 outputs the rolling count value according to the first, second or third predetermined rolling output relationship, relative to the original output state.
When the mouse 1 is used, the microcontroller 11 senses the scrolling operation applied to the scrolling input receiving element 14 through the scrolling input receiving element 14 and determines whether the scrolling operation satisfies the triggering condition to determine the operation status and how to output the scrolling operation. In the present embodiment, the microcontroller 11 accumulates the scroll count related to the scrolling operation via the scroll input receiving element 14 within a predetermined period of time to generate an accumulated value (i.e. the scrolling distance or angle of the scroll wheel 142 within the predetermined period of time). The microcontroller 11 detects whether the accumulated value is greater than a predetermined value. When the microcontroller 11 determines that the accumulated value is greater than the predetermined value, the microcontroller 11 selectively switches the operation state or maintains the current operation state according to the current operation state (e.g., the original output state, the first accelerated output state, the second accelerated output state, and the third accelerated output state); wherein, the condition that the accumulated value of the accumulated rolling count exceeds the predetermined value within the preset time period is the trigger condition. In practice, in principle, each time the user starts to roll the wheel 142, the microcontroller 11 accumulates the rolling count within the predetermined time period, and then checks whether the accumulated value is greater than the predetermined value. In practical applications, the predetermined time period may be set to 0.1 second, 0.2 second or other seconds; in the embodiment, the predetermined time period is 0.1 second, and the predetermined value may be set to 10. Therefore, when the user rolls the wheel 142 to make the accumulated value greater than the predetermined value (i.e. the triggering condition is satisfied), the microcontroller 11 is triggered to selectively switch the operation state or maintain the current operation state. When the microcontroller 11 determines that the rolling operation does not satisfy the triggering condition, the microcontroller 11 remains in or switches to the original output state, and outputs a rolling count value proportional to the actual rotation amount of the roller 142 of the rolling input receiving assembly 14 to the outside via the output interface 15.
In practical applications, the description of the time axis is shown in fig. 6. The microcontroller 11 initially operates in this raw output state. The microcontroller 11 senses at time t1 that a scrolling operation is started to be applied to the scrolling input receiving element 14 via the scrolling input receiving element 14 (i.e., the user starts to scroll the scroll wheel 142), and the microcontroller 11 starts to accumulate the scroll count of the scroll wheel 142. The microcontroller 11 continuously accumulates the rolling count to time t2 (or continuously accumulates a predetermined time period Tacc, wherein the predetermined time period Tacc is equal to the time length from time t2 to time t1) to generate an accumulated value; in practice, the length of time that the user rolls the roller 142 is greater than the predetermined time period Tacc in principle. In addition, in practical operation, the starting point of the preset time period Tacc is not limited to the time point t1, but may be delayed by a short time relative to the time point t1, but for simplicity, the time point (real time point t1) when the rolling operation starts to be sensed by the microcontroller 11 through the rolling input receiving element 14 is still used as the starting point of the preset time period Tacc. Then, the microcontroller 11 determines whether the accumulated value is greater than a predetermined value (or the microcontroller 11 determines whether the scrolling operation satisfies the trigger condition). For simplicity, the aforementioned determination time is set as time t2, that is, the determination of whether the accumulated value is greater than the predetermined value is performed after the predetermined time Tacc is over; however, the present invention is not limited thereto, and the determination may be performed after a short time delay from the time t 2. In addition, the time required for the microcontroller 11 to process data, switch operating states, control various components, etc. is omitted herein to simplify the description.
When the microcontroller 11 determines that the accumulated value exceeds the predetermined value at time t2 (or the microcontroller 11 determines that the rolling operation satisfies the trigger condition at time t 2), because in the present practical application, the microcontroller 11 operates in the original output state at time t2 (or the current operating state of the microcontroller 11 is the original output state), the microcontroller 11 will switch to (or enter) the first accelerated output state at a later time and output the rolling count value to the outside via the output interface 15 according to the first predetermined rolling output relationship. In practice, the switching time of the microcontroller 11 may be delayed by a short time relative to the time t2, but for simplicity, the time is set to the time t 2. Then, in principle, the microcontroller 11 will remain in the first accelerated output state for a period of time t3 (or a first predetermined period of time TP1, wherein the first predetermined period of time TP1 is equal to the time length from time t3 to time t 2); in this practical application, the first predetermined period TP1 corresponding to the first predetermined scrolling relationship is 2 seconds. In principle, if the microcontroller 11 does not detect another scroll operation additionally satisfying the trigger condition before the end of the first predetermined period TP1, the microcontroller 11 outputs a scroll count value (i.e. an accumulated count of 100 units output in 2 seconds) according to the first predetermined scroll output relationship during the entire first predetermined period TP1, and the microcontroller 11 resumes the original output state operation after the end of the first predetermined period TP1, i.e. the microcontroller 11 switches to the original output state at time t 3. In addition, in practical applications, the predetermined time interval Tacc is much smaller than the first predetermined time interval TP1, but for convenience of illustration, the time points t1, t2 and t3 in fig. 6 are not shown in equal proportion.
As shown in fig. 7, if the microcontroller 11 senses that another scroll operation starts to be applied to the scroll input receiving element 14 via the scroll input receiving element 14 at a time t4 before the first predetermined time period TP1 is over, the microcontroller 11 starts another scroll count of the accumulation wheel 142. Similarly, the microcontroller 11 continuously accumulates the rolling count to the time t5 (or continuously accumulates the predetermined time period Tacc) to generate another accumulated value. When the microcontroller 11 determines at the time point t5 that the accumulated value corresponding to the scroll operation exceeds the predetermined value (or the trigger condition is satisfied again), because the microcontroller 11 is operating in the first accelerated output state (or the current operating state of the microcontroller 11 is the first accelerated output state), the microcontroller 11 will switch to the second accelerated output state at a later time point (set to the time point t5 for simplicity), and output the scroll count value to the outside via the output interface 15 according to the second predetermined scroll output relationship. Then, in principle, the microcontroller 11 will remain in the second boost output state for a period of time t6 (or a second predetermined period of time TP2, wherein the second predetermined period of time TP2 is equal to the time length from time t6 to time t 5); in this practical application, the second predetermined period TP2 corresponding to the second predetermined scrolling relationship is 4 seconds. Similarly, in principle, if the microcontroller 11 does not detect another scroll operation additionally satisfying the trigger condition before the second predetermined time period TP2 is over, the microcontroller 11 outputs a scroll count value (i.e. an accumulated count of 200 units output in 4 seconds) according to the second predetermined scroll output relationship during the entire second predetermined time period TP2, and the microcontroller 11 resumes the original output state operation after the second predetermined time period TP2 is over, i.e. the microcontroller 11 switches to the original output state at time t 6. In addition, in practical applications, the predetermined time interval Tacc is also much smaller than the second predetermined time interval TP2, but for convenience of illustration, the time points t4, t5 and t6 in fig. 7 are not shown in equal proportion. It should be noted that, in this example, the time point t5 is still before the time point t 3; if the time point t5 is after the time point t3, the microcontroller 11 is switched from the original output state to the first accelerated output state since the microcontroller 11 has entered the original output state at the time point t 5.
As shown in fig. 8, if the microcontroller 11 senses that another scroll operation starts to be applied to the scroll input receiving element 14 via the scroll input receiving element 14 at a time t7 before the second predetermined time period TP2 is over, the microcontroller 11 starts to accumulate the scroll count of the scroll wheel 142 for another time. Similarly, the microcontroller 11 continuously accumulates the rolling count to the time t8 (or continuously accumulates the predetermined time period Tacc) to generate another accumulated value. When the microcontroller 11 determines at the time point t8 that the accumulated value corresponding to the scroll operation exceeds the predetermined value (or the trigger condition is satisfied again), because the microcontroller 11 operates in the second accelerated output state (or the current operating state of the microcontroller 11 is the second accelerated output state), the microcontroller 11 will switch to the third accelerated output state at a later time point (for simplicity, set to the time point t8) and output the scroll count value to the outside via the output interface 15 according to the third predetermined scroll output relationship. Then, in principle, the microcontroller 11 is maintained in the third acceleration output state and will continue to operate until the time point t9 (or the third predetermined time period TP3, wherein the third predetermined time period TP3 is equal to the time length from the time point t9 to the time point t 8); in this practical application, the third predetermined period TP3 corresponding to the third predetermined scrolling relationship is 6 seconds. Similarly, in principle, if the microcontroller 11 does not detect the additional scroll operation satisfying the trigger condition before the third predetermined time period TP3 is over, the microcontroller 11 outputs the scroll count value (i.e. the cumulative count of 400 units output in 6 seconds) according to the third predetermined scroll output relationship during the entire third predetermined time period TP3, and the microcontroller 11 resumes the original output state operation after the third predetermined time period TP3 is over, i.e. the microcontroller 11 switches to the original output state at time t 9. In addition, in practical applications, the predetermined time Tacc is also much smaller than the third predetermined time TP3, but for convenience of illustration, the time points t7, t8 and t9 in fig. 8 are not shown in equal proportion. Note that, similarly, in this example, the time point t8 is still before the time point t 6; if the time point t8 is after the time point t6, the microcontroller 11 is switched from the original output state to the first accelerated output state since the microcontroller 11 has entered the original output state at the time point t 8.
As shown in fig. 9, if the microcontroller 11 senses that another scroll operation starts to be applied to the scroll input receiving element 14 via the scroll input receiving element 14 at a time t10 before the third predetermined time period TP3 is over, the microcontroller 11 starts another scroll count of the accumulated scroll wheel 142. Similarly, the microcontroller 11 continuously accumulates the rolling count to the time t11 (or continuously accumulates the predetermined time period Tacc) to generate another accumulated value. When the microcontroller 11 determines that the accumulated value corresponding to the scrolling operation exceeds the predetermined value (or the triggering condition is satisfied again) at time t11, because the microcontroller 11 is already operating in the highest accelerated output state (i.e. the third accelerated output state), the microcontroller 11 will re-enter the third accelerated output state at a later time (set to time t11 for simplicity), and output the scrolling count value to the outside via the output interface 15 according to the third predetermined scrolling output relationship; in other words, the microcontroller 11 logically maintains the third turbo output state, but outputs the rolling count value again according to the third predetermined rolling output relationship (i.e. outputs the 400-unit accumulated count again within 6 seconds). Then, in principle, the microcontroller 11 will remain in the third accelerated output state for a period of time t12 (or the third predetermined period of time TP3, wherein the third predetermined period of time TP3 is also equal to the time length from time t12 to time t 11). Similarly, before the third predetermined period TP3 (before the real time point t12), if the microcontroller 11 detects that the rolling operation additionally satisfies the triggering condition, the microcontroller 11 will enter the third accelerated output state again (or, re-enter the third accelerated output state).
Based on the above description regarding fig. 6 to 9, in short, when the microcontroller 11 determines that the accumulated value is greater than the predetermined value (i.e. when the trigger condition is satisfied), the microcontroller 11 enters a faster acceleration output state in addition to the fastest acceleration output state of the microcontroller 11, and when the microcontroller 11 is operated in the fastest acceleration output state, the microcontroller 11 re-enters the fastest acceleration output state (which still has the effect of acceleration output). Therefore, the microcontroller 11 can be repeatedly triggered (i.e. a trigger condition is satisfied) to continuously accelerate (e.g. from the first accelerated output state to the second accelerated output state, from the second accelerated output state to the third accelerated output state, and re-enter the third accelerated output state when the third accelerated output state is operated).
In addition, in practical operation, when the trigger condition is not satisfied (for example, the accumulated value is not greater than the predetermined value), the microcontroller 11 may be designed to switch to (or return to) the original output state operation (for example, from the accelerated output state), or remain in the original output state operation (for example, none of the accelerated output states has been entered). Taking fig. 6 as an example, when the microcontroller 11 determines at time t2 that the accumulated value does not exceed the predetermined value (i.e. the trigger condition is not satisfied), the microcontroller 11 keeps operating in the original output state; taking fig. 7, 8 and 9 as an example, when the microcontroller 11 determines at time t5, t8 and t11 that the accumulated value does not exceed the predetermined value (i.e. the trigger condition is not satisfied), the microcontroller 11 correspondingly switches from the first, second and third accelerated output states to the original output state. However, the present invention is not limited thereto, for example, when the microcontroller 11 is operating in the accelerated output state, the microcontroller 11 does not respond to the situation that the accumulated value related to the additional scrolling operation by the user is not greater than the predetermined value, i.e. continues to operate in the accelerated output state. In practical operation, the operation state of the microcontroller 11 can be represented by a variable, for example, the value of the variable can be set to 0 to 3, corresponding to the original output state, the first accelerated output state, the second accelerated output state and the third accelerated output state. If the microcontroller 11 determines that the accumulated value is not greater than the predetermined value, the value of the variable is set to 0 no matter what the current set value of the variable is, so that the microcontroller 11 can be switched to or maintained in the original output state to operate, which is helpful to simplify the writing of software programs.
The foregoing description is provided by taking three acceleration output states as an example, but the invention is not limited thereto, such as two, four or more acceleration output states. For example, the microcontroller 11 has only two accelerated output states (e.g., the first and second accelerated output states), when the microcontroller 11 determines that the accumulated value exceeds the predetermined value, if the microcontroller 11 operates in the second accelerated output state at this time, the microcontroller 11 keeps operating in the second accelerated output state and outputs the rolling count value again according to the second predetermined rolling output relationship; for another example, the microcontroller 11 has four or more accelerated output states, when the microcontroller 11 determines that the accumulated value exceeds the predetermined value, if the microcontroller 11 is operated in the last accelerated output state at this time, the microcontroller 11 maintains the operation in the last accelerated output state and outputs the rolling count value again according to the corresponding predetermined rolling output relationship. On the other hand, in the embodiment, the microcontroller 11 has at least one sequential higher acceleration output state (including the third acceleration output state, but the invention is not limited thereto) relative to the first and second acceleration output states, each higher acceleration output state corresponds to a predetermined rolling output relationship of the time input to the accumulated count output, and each predetermined rolling output relationship is stored in the microcontroller 11. In practical applications, the above description of the first predetermined scrolling output relationship is also applicable to the predetermined scrolling output relationship corresponding to each higher accelerated output state, so the description thereof can refer to the above description and is not repeated herein. When the microcontroller 11 determines that the accumulated value exceeds the predetermined value, if the microcontroller 11 is operating in the second accelerated output state, the microcontroller 11 switches from the second accelerated output state to a first higher accelerated output state of the at least one higher accelerated output state and outputs a rolling count value to the outside via the output interface 15 according to a predetermined rolling output relationship corresponding to the first higher accelerated output state. If the microcontroller 11 is operating in one of the at least one higher acceleration output state but not the last higher acceleration output state, the microcontroller 11 switches to the next higher acceleration output state and outputs the roll count value to the outside via the output interface 15 according to the predetermined roll output relationship corresponding to the next higher acceleration output state. If the microcontroller 11 is operated in the last higher accelerated output state of the at least one higher accelerated output state, the microcontroller 11 keeps operating in the last higher accelerated output state and outputs the rolling count value to the outside via the output interface 15 according to the predetermined rolling output relationship corresponding to the last higher accelerated output state.
Please refer to fig. 10, which shows an exemplary embodiment of the microcontroller 11 outputting the rolling count value according to different predetermined rolling output relationships with time according to the change of the operation status similar to that shown in fig. 9. As shown in fig. 10, after the microcontroller 11 enters the first acceleration output state at time t2 (set to 0 second for simplicity), at 0.4 second (corresponding to time t5), the microcontroller 11 is triggered again (i.e. the microcontroller 11 determines that the accumulated value is greater than the predetermined value) to enter the second acceleration output state. Then, at 0.8 second (corresponding to time t8), the microcontroller 11 is triggered to enter the third acceleration output state again. Then, at 1.3 seconds (corresponding to time t11), the microcontroller 11 is triggered again to enter the third acceleration output state again. Finally, the microcontroller 11 finishes the output accelerating state at 7.3 seconds (i.e. corresponding to the time t12) and returns to the original output state. In addition, in fig. 10, when the microcontroller 11 enters the second accelerated output state at 0.4 second, the microcontroller 11 outputs the rolling count value according to the second predetermined rolling output relationship; in other words, the composite scroll output relationship shown in fig. 10 has the same shape as that of 0 second to 0.4 second in fig. 3 in the time input range of 0 second to 0.4 second, and has the same shape as that of 0 second to 0.4 second (i.e. 0.8 second minus 0.4 second) in fig. 4 in the time input range of 0.4 second to 0.8 second, or the beginning point of the second predetermined scroll output relationship curve shown in fig. 4 is translated to the first predetermined scroll output relationship curve in fig. 10 at 0.4 second. Similarly, when the microcontroller 11 enters the third accelerated output state at 0.8 second, the microcontroller 11 outputs the rolling count value according to the third predetermined rolling output relationship; in other words, the composite scroll output relationship shown in fig. 10 has the same shape as that of the input time range from 0.8 second to 1.3 seconds (i.e., 1.3 seconds minus 0.8 seconds) in fig. 5, or the beginning point of the third predetermined scroll output relationship shown in fig. 5 is shifted to the second predetermined scroll output relationship shown in fig. 10 at 0.8 seconds. When the microcontroller 11 resumes the third accelerated output state at 1.3 seconds, the microcontroller 11 outputs the rolling count value again according to the third predetermined rolling output relationship; in other words, the composite scroll output relationship shown in fig. 10 has the same shape as that of the input time range from 0 second to 6 seconds (i.e., 7.3 seconds minus 1.3 seconds) in fig. 5 in the time input range from 1.3 seconds to 7.3 seconds, or means that the start point of the third predetermined scroll output relationship shown in fig. 5 is shifted to the second predetermined scroll output relationship shown in fig. 10 at 1.3 seconds. In addition, as shown in fig. 10, when the microcontroller 11 enters the first accelerated output state, if the microcontroller 11 is not stopped from accelerating the output state (for example, the roller 142 is not rolled again or the accumulated value does not exceed the predetermined value, as the same goes for the following case), the microcontroller 11 will return to the original output state after 2 seconds, as shown by the dotted line in the figure. After the microcontroller 11 enters the second turbo output state (i.e. from 0.4 seconds), if the microcontroller 11 is not stopped from the turbo output state, the microcontroller 11 will return to the original output state after 4.4 seconds, as shown by the dashed line. After the microcontroller 11 enters the third turbo output state (i.e. from 0.8 seconds), if the microcontroller 11 is not stopped from the turbo output state, the microcontroller 11 will return to the original output state after 6.8 seconds. After the microcontroller 11 enters the third turbo output state again (i.e. from 1.3 seconds), if the microcontroller 11 is not stopped from the turbo output state, the microcontroller 11 will return to the original output state after 7.3 seconds.
Please refer to fig. 11, which is a flowchart illustrating a turbo-scroll input method. For simplicity, the above mouse 1 is taken as an example of the turbo-scroll input method, and therefore, the related description of the mouse 1 is not repeated. According to the turbo-scroll input method, the microcontroller 11 senses a scroll operation applied to the scroll input receiving member 14 via the scroll input receiving member 14, as shown in step S100; next, the microcontroller 11 determines whether the scrolling operation satisfies the triggering condition, as shown in step S110; when the microcontroller 11 determines that the scrolling operation satisfies the triggering condition, the turbo-scrolling input method executes different steps according to the current operating state of the microcontroller 11. If the microcontroller 11 is operating in the original output state (or if it is determined that the microcontroller 11 is operating in the original output state before the scroll operation is applied), the microcontroller 11 enters the first accelerated output state, and the microcontroller 11 maintains the first accelerated output state for the first predetermined time period and outputs a scroll count value according to the first predetermined scroll output relationship, as shown in step S120; if the microcontroller 11 is currently operating in the first accelerated output state (or if it is determined that the microcontroller 11 is operating in the first accelerated output state before the scroll operation is applied), the microcontroller 11 enters the second accelerated output state, and the microcontroller 11 maintains the second accelerated output state for the second predetermined time period and outputs a scroll count value according to the second predetermined scroll output relationship, as shown in step S130. After step S120, if it is determined that the microcontroller 11 does not detect another scroll operation satisfying the trigger condition before the first predetermined time period ends, the microcontroller 11 resumes the original output state after the first predetermined time period ends, as shown in step S140. After step S130, if it is determined that the microcontroller 11 does not detect another scroll operation satisfying the trigger condition before the second predetermined time period ends, the microcontroller 11 resumes the original output state after the second predetermined time period ends, as shown in step S150. In practical applications, the turbo-scrolling input method may further include that when the microcontroller 11 determines that the scrolling operation does not satisfy the triggering condition, the microcontroller 11 remains (or enters) the original output state, and the microcontroller 11 outputs a scrolling count value proportional to the actual rotation amount of the scrolling input receiving element 14, as shown in step S160.
In practice, the triggering condition may be designed to be an accumulation of the rolling amount of the wheel 142 by the user within a predetermined time period. As shown in fig. 12, which is a flow chart of another turbo-scroll input method based on the flow logic of the turbo-scroll input method shown in fig. 11. According to this turbo-scroll input method, the microcontroller 11 senses a scroll operation applied to the scroll input receiving member 14 via the scroll input receiving member 14, as shown in step S200; the microcontroller 11 accumulates the scroll count related to the scroll operation within a preset time period via the scroll input receiving element 14 to generate an accumulated value, as shown in step S210; the microcontroller 11 determines whether the accumulated value is greater than a predetermined value (i.e., determines whether the trigger condition is satisfied), as shown in step S220; when the microcontroller 11 determines that the accumulated value exceeds the predetermined value (i.e. the scrolling operation satisfies the triggering condition), the turbo-scrolling input method executes different steps according to the current operating status of the microcontroller 11. If the microcontroller 11 is operating in the original output state, the microcontroller 11 is switched to the first accelerated output state and the microcontroller 11 outputs the rolling count value according to the first predetermined rolling output relationship, as shown in step S230; if the microcontroller 11 is operating in the first accelerated output state, the microcontroller 11 is switched to the second accelerated output state and the microcontroller 11 outputs the rolling count value according to the second predetermined rolling output relationship, as shown in step S240. Then, after the microcontroller 11 finishes outputting according to the corresponding predetermined scrolling output relationship, the microcontroller 11 switches to the original output state, as shown in step S250. Similarly, in practical operation, the turbo-scroll input method may further include that when the microcontroller 11 determines that the accumulated value does not exceed the predetermined value (i.e. the scroll operation does not satisfy the trigger condition), the microcontroller 11 remains in the original output state (e.g. the microcontroller 11 is in the original output state at the time) or switches to the original output state (e.g. the microcontroller 11 is in the first or second turbo output state at the time), and the microcontroller 11 outputs a scroll count value proportional to the actual rotation amount of the scroll input receiving element, as shown in step S260.
Taking the mouse 1 with three states of accelerated output as an example, fig. 12 can be embodied as fig. 13. As shown in fig. 13, steps S230 and S240 in fig. 12 are embodied as steps S270 to S274. If the determination result in step S220 is yes (i.e. the accumulated value is greater than the predetermined value), the microcontroller 11 determines the current operating state (e.g. by reading a variable indicating the operating state of the microcontroller 11), as shown in step S270. If the microcontroller 11 is determined to operate in the original output state, the microcontroller 11 switches from the original output state to the first accelerated output state and outputs a rolling count value according to the first predetermined rolling output relationship, as shown in step S271; if the microcontroller 11 is determined to operate in the first accelerated output state, the microcontroller 11 switches from the first accelerated output state to the second accelerated output state and outputs a rolling count value according to the second predetermined rolling output relationship, as shown in step S272; if the microcontroller 11 is determined to operate in the second accelerated output state, the microcontroller 11 switches from the second accelerated output state to the third accelerated output state and outputs a rolling count value according to the third predetermined rolling output relationship, as shown in step S273; if the microcontroller 11 is determined to operate in the third accelerated output state, the microcontroller 11 keeps operating in the third accelerated output state (or enters the third accelerated output state again), and outputs the rolling count value again according to the third predetermined rolling output relationship, as shown in step S274. In addition, as shown in fig. 13, after the step S260 is executed, the turbo-scroll input method waits for another scroll operation to be received via the scroll input receiving element 14 next time, and the flow returns to the step S200 as shown in fig. 13.
In addition, fig. 13 is based on three acceleration output states, but the invention is not limited thereto, such as two, four or more acceleration output states. If the microcontroller 11 has only two accelerated output states (e.g., the first and second accelerated output states), step S274 in fig. 13 is deleted, and step S273 is modified such that if the microcontroller 11 is operating in the second accelerated output state, the microcontroller 11 keeps operating in the second accelerated output state (or reenters the second accelerated output state) and outputs the scroll count value again according to the second predetermined scroll output relationship. Similarly, if the microcontroller 11 has four or more turbo output states, the turbo scroll input method further includes steps similar to steps S272 or S273, and step S274 is changed to that if the microcontroller 11 operates in the last turbo output state, the microcontroller 11 keeps operating in the last turbo output state (or reenters the last turbo output state) and outputs the scroll count value again according to the corresponding predetermined scroll output relationship. Therefore, on the other hand, in the present embodiment, the microcontroller 11 has at least one sequential higher acceleration output state (including the third acceleration output state, but not limited to this embodiment) relative to the first and second acceleration output states, and each higher acceleration output state corresponds to a predetermined rolling output relationship of the time input to the accumulated count output. As shown in fig. 14, with respect to fig. 12, steps S230 and S240 are embodied as steps S270, S271, S272, S275 to S277. If the microcontroller 11 is determined to operate in the second accelerated output state, the microcontroller 11 switches from the second accelerated output state to a first higher accelerated output state of the at least one higher accelerated output state and outputs a rolling count value according to a predetermined rolling output relationship corresponding to the first higher accelerated output state, as shown in step S275; if it is determined that the microcontroller 11 is operating in one of the at least one higher acceleration output state but not the last higher acceleration output state of the at least one higher acceleration output state, the microcontroller 11 switches to the next higher acceleration output state and outputs a rolling count value according to the predetermined rolling output relationship corresponding to the next higher acceleration output state, as shown in step S276; if it is determined that the microcontroller 11 is operating in the last higher accelerated output state of the at least one higher accelerated output state, the microcontroller 11 keeps operating in the last higher accelerated output state (or re-enters the last accelerated output state) and re-outputs the rolling count value according to the predetermined rolling output relationship corresponding to the last higher accelerated output state, as shown in step S277.
The flow chart shown in fig. 11 mainly expresses the flow of switching the operation state of the microcontroller 11 by a single trigger (i.e. determining whether the trigger condition is satisfied once), but the invention is not limited thereto. Fig. 15 shows a flow of switching the operating state of the microcontroller 11, which includes multiple triggers (i.e. determining whether the trigger condition is satisfied multiple times). With reference to fig. 11, according to the process shown in fig. 15, after step S120, if it is determined that the microcontroller 11 detects another scroll operation meeting the trigger condition before the first predetermined time period ends, the microcontroller 11 enters the second accelerated output state, the microcontroller 11 maintains the second accelerated output state for the second predetermined time period and outputs a scroll count value according to the second predetermined scroll output relationship, after step S170, if it is determined that the microcontroller 11 detects another scroll operation meeting the trigger condition before the second predetermined time period ends, the microcontroller 11 reenters the second accelerated output state, and the microcontroller 11 reserves to maintain the second accelerated output state for the second predetermined time period again, as shown in step S180; if it is determined that the microcontroller 11 does not detect another scrolling operation satisfying the trigger condition before the second predetermined period of time ends, the microcontroller 11 resumes the original output state after the second predetermined period of time ends, as shown in step S190. After step S180, the process may include steps S180 and S190 according to whether the microcontroller 11 detects another scroll operation satisfying the trigger condition before the end of the second predetermined period. In addition, after step S130, if another scroll operation meeting the trigger condition is detected before the microcontroller 11 finishes the second predetermined period of time, the process may also include step S180, which is not described in detail. In addition, the flowchart shown in fig. 15 is based on two turbo output states (i.e. the first and second turbo output states), and if three or more turbo output states are considered, the flowchart can be expanded based on the foregoing description (including the related descriptions corresponding to fig. 11 to fig. 14), and is not repeated herein.
It should be noted that the aforementioned flow chart only shows a few aspects of the turbo-scroll input method that can be implemented in the mouse 1, and the invention is not limited thereto. Those skilled in the art can derive more flow charts of the turbo-scroll input method applicable to the mouse 1 based on the above description (including the operation of the mouse 1 and the flow charts shown in the above figures and their related descriptions). In addition, in actual operation, the microcontroller 11 stores two variables: (1) the acceleration flag is a boolean variable that records whether the microcontroller 11 is currently in the accelerated output state, and (2) the acceleration level is a numerical variable that records the accelerated output state of the microcontroller 11 at which level. Referring to fig. 16, which is a flowchart illustrating the turbo-scroll input method according to an embodiment, the user scrolls the scroll wheel 142 of the scroll input receiving assembly 14, as shown in step S300. At this time, the microcontroller 11 senses the scrolling operation applied to the scrolling input receiving assembly 14 through the scrolling input receiving assembly 14, wherein the scrolling operation is the user scrolling the wheel 142. Next, the microcontroller 11 determines whether the user operation satisfies the trigger condition, as shown in step S310. In practice, the microcontroller 11 will count whether the scroll count accumulated by the scroll input receiving assembly 14 in response to the output of the user's scroll operation is greater than a predetermined value within a period of time (e.g. within 0.1 second), such as: whether the rolling count integrated value within 0.1 second is greater than 10. If the determination result in step S310 is yes (i.e. the accumulated value is greater than the predetermined value), the microcontroller 11 needs to determine the current operating state. Therefore, as shown in step S320, the microcontroller 11 reads the acceleration flag and determines whether the value of the acceleration flag is true (true).
If the determination result in step S320 is negative, i.e. the acceleration flag is false (false), it indicates that the microcontroller 11 is not in the acceleration output state (i.e. operating in the original output state) until the triggering condition is satisfied. The microcontroller 11 sets the acceleration flag value to true and sets the acceleration level to 1, as shown in step S330. At this time, the microcontroller 11 switches from the original output state to the first accelerated output state and sets the acceleration level to 1 or other values corresponding to the first accelerated output state. Since different predetermined scrolling output relationships correspond to different time input ranges, in the present practical application, a variable (hereinafter, indicated by an ending time point) is used to record a time input end point of the corresponding predetermined scrolling output relationship, and another variable (hereinafter, indicated by an input time point) is used to record a time input for obtaining an accumulated count output according to the corresponding predetermined scrolling output relationship. For example, the end time corresponding to the first predetermined scroll output relationship is 2 seconds, the end time corresponding to the second predetermined scroll output relationship is 4 seconds, and the end time corresponding to the third predetermined scroll output relationship is 6 seconds. When the microcontroller 11 starts to enter the acceleration output state, the input timing is set to 0 second. As the operation time of the microcontroller 11 in the same turbo output state increases, the input timing also increases synchronously. In this practical application, the increment of the input time is 0.05 seconds, but the invention is not limited thereto.
In this embodiment, after step S330, the microcontroller 11 sets the ending time (2 seconds since the microcontroller 11 just enters the first output acceleration state) and sets the input time to 0 seconds, as shown in step S340. Next, the microcontroller 11 generates an accumulated counting output according to a predetermined rolling output relationship corresponding to the acceleration level (for example, when the value of the acceleration level is 1, it corresponds to the first predetermined rolling output relationship) and the input time point, and in this practical application, each predetermined rolling output relationship is expressed by a cubic polynomial function, so the microcontroller 11 performs a cubic polynomial function calculation, as shown in step S350. Next, the microcontroller 11 outputs the rolling count value via the output interface 15 according to the accumulated count output generated in step S350, as shown in step S360. In actual operation, the rolling count value is output in an integer format in principle, so that when the cubic polynomial function is calculated (as shown in step S350), the integer can be formed by a numerical value simplification method, and as described above, the details are not repeated.
Next, the microcontroller 11 increments the input timing by 0.05 second, as shown in step S370. The microcontroller 11 determines whether the input time is greater than the end time, as shown in step S380. If the determination result in step S380 is yes, it indicates that the microcontroller 11 has finished outputting according to the corresponding predetermined rolling output relationship, so the microcontroller 11 sets the value of the acceleration flag to be false, as shown in step S390. The process returns to step S300 to wait for the next scrolling operation applied to the roller 142 by the user.
If the determination result in the step S380 is negative, it indicates that the microcontroller 11 is still operating in the corresponding accelerated output state. Next, the microcontroller 11 determines whether there is a scroll operation through the scroll input receiving component 14, as shown in step S400. If the determination result in step S400 is no, it indicates that there is no trigger operation for upgrading the accelerated output state, and there is no trigger operation for stopping the accelerated output state, and the process returns to step S350 to perform the next cubic polynomial function calculation. If the determination result in step S400 is yes, the process returns to step S310 to determine whether the triggering condition is satisfied again.
Go back to step S320. If the determination result in step S320 is "yes", that is, the value of the acceleration flag is "true", it indicates that the microcontroller 11 is in the acceleration output state before the triggering condition is satisfied this time. Next, the microcontroller 11 determines whether the acceleration level reaches a maximum value, as shown in step S410; for example, the microcontroller 11 reads the acceleration level and determines whether the value of the acceleration level reaches a maximum value. In this practical application, the third acceleration output state is the highest-level acceleration output state, and the corresponding acceleration level value is 3; however, the present invention is not limited thereto. If the determination result in step S410 is yes, it indicates that the microcontroller 11 is operating in the third output acceleration state (e.g. in the present practical application, that is, the value of the acceleration level is 3), so that the microcontroller 11 keeps the value of the acceleration level unchanged, correspondingly sets the ending time point (e.g. corresponding to the setting of the third output state to 6 seconds) and sets the input time point to 0 second (which is equivalent to re-entering the third output state), as shown in step S420. Since the current acceleration level and the ending time are not changed when the highest-level acceleration output state is entered again, the maintaining of the acceleration level value and the setting of the ending time may be implemented by not accessing the acceleration level and the ending time, respectively, in the actual operation, so that the step S420 may be implemented by setting the input time to 0 second only. If the determination result in step S410 is "no", it indicates that the acceleration output state of the microcontroller 11 can be further raised, so that the microcontroller 11 increases the acceleration level by 1, correspondingly sets the ending time point (e.g., 4 seconds for the second output state and 6 seconds for the third output state), and sets the input time point to 0 second, as shown in step S430. After steps S420 and S430, the process continues to step S350.
Go back to step S310. If the determination result in step S310 is negative, that is, the rolling count accumulated value is not greater than the predetermined value in the present application, the microcontroller 11 sets the acceleration flag to false, as shown in step S440. Then, the microcontroller 11 outputs the rolling count value according to the actually occurring rolling count without any acceleration effect, as shown in step S450. In practice, the output rolling count value may be equal to or proportional to the rolling count value, but the invention is not limited thereto. Then, the flow returns to step S300. In addition, in the embodiment, fig. 16 shows the turbo-scroll input method in a single flow control, and in practical operation, the turbo-scroll input method can also be shown in two independent flows, wherein one flow is used for showing that the microcontroller 11 outputs the scroll count value according to the operation state, and the other flow is used for showing whether the trigger condition is triggered, so as to set the operation state.
Compared with the prior art, the mouse and the accelerated scroll input method provided by the invention can allow a user to selectively enable the mouse to enter an accelerated output state through rolling the scroll wheel on the mouse at different speeds, so as to realize accelerated scroll input (namely, the mouse can be used as an input device for the user to carry out accelerated input on a computer, for example). In addition, the mouse and the accelerated scrolling input method provided by the invention determine whether to enter the accelerated output state by monitoring whether the scrolling operation satisfies a triggering condition, such as an accumulated scrolling count within a period of time (at this time, the triggering condition can be logically regarded as a speed threshold), which can be closer to the requirement of the user on an acceleration situation when the user actually operates the mouse; moreover, when the mouse is in the accelerated output state, the mouse directly outputs the scroll count value (i.e. outputs the virtual scroll operation) according to the corresponding predetermined scroll output relationship, and the user does not need to continuously operate the mouse (or the mouse continuously receives the scroll operation through the scroll input receiving component), so that the burden of the user on operating the mouse (such as the burden of finger joints) can be reduced.
The above detailed description of the preferred embodiments is intended to more clearly illustrate the features and spirit of the present invention, and is not intended to limit the scope of the present invention by the preferred embodiments disclosed above. On the contrary, it is intended to cover various modifications and equivalent arrangements included within the scope of the appended claims. The scope of the claims to be accorded the invention is therefore to be accorded the broadest interpretation so as to encompass all such modifications and equivalent arrangements as is known in the art.

Claims (25)

1. An accelerated rolling input method is used for a mouse, the mouse comprises a rolling input receiving assembly, the mouse has an original output state, a first accelerated output state and a second accelerated output state, the first accelerated output state corresponds to a first preset rolling output relation of first time input to first accumulated counting output, the second accelerated output state corresponds to a second preset rolling output relation of second time input to second accumulated counting output, and the accelerated rolling input method is characterized by comprising the following steps:
(a) the mouse senses a scroll operation applied to the scroll input receiving element via the scroll input receiving element;
(b) the mouse accumulates the rolling count related to the rolling operation within a preset time period through the rolling input receiving assembly to generate an accumulated value; and
(c) when the mouse judges that the accumulated value is larger than the preset value, the following steps are carried out:
if the mouse is in the original output state, switching the mouse to the first accelerated output state and enabling the mouse to output a first rolling count value according to the first preset rolling output relation, wherein the first preset rolling output relation corresponds to a first cubic polynomial function between a first time input and a first accumulated count output, and the first rolling count value is output according to the first accumulated count output when the first time input is performed, or
If the mouse is in the first accelerated output state, the mouse is switched to the second accelerated output state and outputs a second rolling count value according to a second preset rolling output relation, wherein the second preset rolling output relation corresponds to a second cubic polynomial function between a second time input and a first accumulated counting output, and the second rolling count value is output according to the second accumulated counting output when the second time input is carried out.
2. The turbo-scroll input method according to claim 1, wherein: step (c) further comprises the steps of:
if the mouse is operated in the second accelerated output state, the mouse is maintained to be operated in the second accelerated output state, and the mouse outputs the rolling count value again according to the second preset rolling output relation.
3. The turbo-scroll input method according to claim 1, wherein: the mouse has a third accelerated output state corresponding to a third predetermined scrolling output relationship of time input to cumulative count output, wherein step (c) further comprises the steps of:
if the mouse is operated in the second accelerated output state, the mouse is switched to the third accelerated output state and the mouse outputs a rolling count value according to the third preset rolling output relation.
4. The turbo-scroll input method of claim 3, wherein: step (c) further comprises the steps of:
if the mouse is operated in the third accelerated output state, the mouse is maintained to be operated in the third accelerated output state, and the mouse outputs the rolling count value again according to the third preset rolling output relation.
5. The turbo-scroll input method according to claim 1, wherein: the mouse has at least one sequential higher acceleration output state, each higher acceleration output state corresponding to a predetermined rolling output relationship of time input to cumulative count output, wherein step (c) further comprises the steps of:
if the mouse is operated in the second accelerated output state, the mouse is switched to a first higher accelerated output state in at least one higher accelerated output state, and the mouse outputs a rolling count value according to a preset rolling output relation corresponding to the first higher accelerated output state.
6. The turbo-scroll input method of claim 5, wherein: step (c) further comprises the steps of:
if the mouse is operated in one of the at least one higher accelerated output state but not the last higher accelerated output state in the at least one higher accelerated output state, switching the mouse to the next higher accelerated output state and enabling the mouse to output a scroll count value according to a preset scroll output relation corresponding to the next higher accelerated output state; or
If the mouse is operated in the last higher accelerated output state of the at least one higher accelerated output state, the mouse is maintained to be operated in the last higher accelerated output state, and the mouse is enabled to output the scroll count value again according to the preset scroll output relation corresponding to the last higher accelerated output state.
7. The turbo-scroll input method according to claim 1, wherein: the turbo-scroll input method further comprises the steps of:
when the mouse judges that the accumulated value does not exceed the preset value, if the mouse operates in the first accelerated output state or the second accelerated output state, the mouse is switched to the original output state.
8. The turbo-scroll input method according to claim 1, wherein: the rate of change of the accumulated count output versus the time input for the first predetermined scrolling output relationship is decreasing.
9. The turbo-scroll input method according to claim 1, wherein: the first predetermined scrolling output relationship has a first initial output rate of accumulated count output versus time input, and the second predetermined scrolling output relationship has a second initial output rate of accumulated count output versus time input, the second initial output rate being greater than the first initial output rate.
10. The turbo-scroll input method according to claim 1, wherein: the turbo-scroll input method further comprises the steps of:
and after the output of the mouse is finished according to the first preset rolling output relation or the second preset rolling output relation, switching the mouse to the original output state.
11. A mouse, comprising:
a scroll input receiving component;
an output interface; and
a microcontroller electrically connected to the rolling input receiving assembly and the output interface, the microcontroller having an original output state, a first accelerated output state and a second accelerated output state, the microcontroller storing a first predetermined rolling output relationship of a first time input corresponding to the first accelerated output state to a first accumulated count output and a second predetermined rolling output relationship of a second time input corresponding to the second accelerated output state to a second accumulated count output,
wherein the microcontroller senses a scroll operation applied to the scroll input receiving element via the scroll input receiving element, accumulates a scroll count associated with the scroll operation within a predetermined period of time via the scroll input receiving element to generate an accumulated value, and when the microcontroller determines that the accumulated value is greater than a predetermined value,
if the microcontroller operates in the original output state, the microcontroller switches to the first accelerated output state and outputs a first rolling count value to the outside via the output interface according to the first predetermined rolling output relationship, wherein the first predetermined rolling output relationship corresponds to a first cubic polynomial function between a first time input and a first cumulative count output, and the first rolling count value is output according to the first cumulative count output at the first time input, or
If the microcontroller operates in the first accelerated output state, the microcontroller switches to the second accelerated output state and outputs a second rolling count value to the outside through the output interface according to a second preset rolling output relation, wherein the second preset rolling output relation corresponds to a second cubic polynomial function between a second time input and a first accumulated counting output, and the second rolling count value is output according to the second accumulated counting output in the second time input.
12. The mouse of claim 11, wherein: when the microcontroller judges that the accumulated value is larger than the preset value, if the microcontroller operates in the second accelerated output state, the microcontroller maintains the operation in the second accelerated output state and outputs the rolling count value to the outside through the output interface again according to the second preset rolling output relation.
13. The mouse of claim 11, wherein: the microcontroller has a third accelerated output state, stores a third preset rolling output relation of time input corresponding to the third accelerated output state to accumulated counting output, and when the microcontroller judges that the accumulated value is greater than the preset value, if the microcontroller operates in the second accelerated output state, the microcontroller switches to the third accelerated output state and outputs a rolling counting value to the outside through the output interface according to the third preset rolling output relation.
14. The mouse of claim 13, wherein: when the microcontroller judges that the accumulated value is larger than the preset value, if the microcontroller operates in the third accelerated output state, the microcontroller maintains the operation in the third accelerated output state and outputs the rolling count value to the outside through the output interface again according to the third preset rolling output relation.
15. The mouse of claim 11, wherein: the microcontroller has at least one sequential higher accelerated output state, each higher accelerated output state corresponds to a predetermined rolling output relationship of time input to accumulated counting output, the predetermined rolling output relationship corresponding to at least one higher accelerated output state is stored in the microcontroller, when the microcontroller judges that the accumulated value is greater than the predetermined value, if the microcontroller operates in the second accelerated output state, the microcontroller switches to a first higher accelerated output state of the at least one higher accelerated output state and outputs a rolling count value to the outside through the output interface according to the predetermined rolling output relationship corresponding to the first higher accelerated output state.
16. The mouse of claim 15, wherein: when the microcontroller judges that the accumulated value is larger than the preset value,
if the microcontroller is operating in one of the at least one higher accelerated output state but not the last higher accelerated output state of the at least one higher accelerated output state, the microcontroller switches to the next higher accelerated output state and outputs a rolling count value to the outside via the output interface according to a predetermined rolling output relationship corresponding to the next higher accelerated output state, or
If the microcontroller operates in the last higher accelerated output state of the at least one higher accelerated output state, the microcontroller maintains the operation in the last higher accelerated output state and outputs the rolling count value to the outside through the output interface again according to the preset rolling output relation corresponding to the last higher accelerated output state.
17. The mouse of claim 11, wherein: when the microcontroller judges that the accumulated value does not exceed the preset value, if the microcontroller operates in the first accelerated output state or the second accelerated output state, the microcontroller is switched to the original output state.
18. The mouse of claim 11, wherein: the rate of change of the accumulated count output versus the time input for the first predetermined scrolling output relationship is decreasing.
19. The mouse of claim 11, wherein: the first predetermined scrolling output relationship has a first initial output rate of accumulated count output versus time input, and the second predetermined scrolling output relationship has a second initial output rate of accumulated count output versus time input, the second initial output rate being greater than the first initial output rate.
20. The mouse of claim 11, wherein: after the microcontroller finishes the external output through the output interface according to the first preset rolling output relation or the second preset rolling output relation, the microcontroller is switched to the original output state.
21. The mouse of claim 11, wherein: the rolling input receiving assembly comprises a roller and a sensor arranged close to the roller, the sensor is electrically connected with the microcontroller, the microcontroller senses the rotation angle of the roller through the sensor, and the rolling operation is the action of rotating the roller.
22. An accelerated rolling input method for a mouse, the mouse comprising a rolling input receiving assembly, the rolling input receiving assembly being capable of accepting rolling operation, the mouse having an original output state, a first accelerated output state and a second accelerated output state, when the mouse is in the original output state, the mouse outputting a rolling count value proportional to an actual rotation amount of the rolling input receiving assembly, characterized in that when the mouse is in the first accelerated output state, the mouse outputting a first rolling count value according to a first predetermined rolling output relationship, wherein the first predetermined rolling output relationship corresponds to a first cubic polynomial function between a first time input and a first cumulative count output, the first rolling count value being output according to the first cumulative count output at the first time input, when the mouse is in the second accelerated output state, the mouse outputs a second rolling count value according to a second preset rolling output relationship, wherein the second preset rolling output relationship corresponds to a second cubic polynomial function between a second time input and a first accumulated count output, the second rolling count value is output according to the second accumulated count output when the second time input occurs, the second rolling count value output by the second preset rolling output relationship is larger than the first rolling count value output by the first preset rolling output relationship, and the accelerated rolling input method comprises the following steps:
(a) detecting whether the rolling operation applied to the rolling input receiving unit meets a triggering condition;
(b) when the rolling operation is judged not to meet the triggering condition, the mouse is kept in the original output state; and
(c) when the rolling operation is judged to meet the triggering condition, the following steps are executed:
(c1) if the mouse is judged to be in the original output state before the scroll operation is applied, the mouse is enabled to enter the first accelerated output state, and the mouse is maintained in the first accelerated output state and is kept for a first preset time period; and
(c2) if the mouse detects another scroll operation meeting the trigger condition before the first preset time period is ended, enabling the mouse to enter the second accelerated output state, and enabling the mouse to be maintained in the second accelerated output state for a second preset time period; or
(c3) If the mouse does not detect another scroll operation meeting the trigger condition before the first preset time period is ended, the mouse restores the original output state after the first preset time period is ended.
23. The turbo-scroll input method of claim 22, wherein: step (c) further comprises:
(c4) if the mouse detects another scroll operation meeting the trigger condition before the second preset time period is ended, the mouse is enabled to enter the second accelerated output state again, and the mouse is preset to be maintained in the second accelerated output state again for the second preset time period; or
(c5) And if the mouse does not detect another scroll operation meeting the triggering condition before the second preset time period is ended, the mouse restores the original output state after the second preset time period is ended.
24. An accelerated rolling input method for mouse, which contains rolling input receiving component and microcontroller, said rolling input receiving component can accept rolling operation, said mouse has original output state, first accelerated output state and second accelerated output state, when said mouse is in said original output state, said mouse outputs rolling counting value proportional to said rolling input receiving component actual rotation quantity, said microcontroller is connected with said rolling input receiving component, characterized in that said microcontroller stores acceleration flag and acceleration grade, said flag and acceleration grade are Boolean variables, when said mouse is in said first accelerated output state, said mouse can accept rolling operation
When in an output state, the mouse outputs a first rolling count value according to a first preset rolling output relation, wherein the first preset rolling output relation corresponds to a first cubic polynomial function between first time input and first accumulated count output, and the first rolling count value is output according to the first accumulated count output when the first time input is carried out; when the mouse is in the second accelerated output state, the mouse outputs a second rolling count value according to a second predetermined rolling output relationship, wherein the second predetermined rolling output relationship corresponds to a second cubic polynomial function between a second time input and a first cumulative counting output, the second rolling count value is output according to the second cumulative counting output when the second time input, the second rolling count value output by the second predetermined rolling output relationship is greater than the first rolling count value output by the first predetermined rolling output relationship, and the accelerated rolling input method comprises the following steps:
(a) applying a scrolling operation to the scroll input receiving element;
(b) judging whether the rolling operation meets a triggering condition;
(c) when the scrolling operation is judged to satisfy the triggering condition, the step (c) further comprises the following steps: the microcontroller reads the acceleration flag and determines whether the value of the acceleration flag is true;
(c1) if the judgment result is no, the microcontroller sets the value of the acceleration flag to be true and sets the acceleration level to be 1, and sets the input time point to be 0 corresponding to the setting ending time point.
25. The turbo-scroll input method of claim 24, wherein: step (c) further comprises the steps of:
(c2) if the judgment result is true, judging whether the acceleration level reaches the maximum value, if so, keeping the acceleration level unchanged, and setting the input time point to be 0 second corresponding to the set ending time point; if not, the acceleration level is increased by 1, and the input time is set to 0 second corresponding to the set end time.
CN201710581581.6A 2017-07-17 2017-07-17 Mouse and accelerated rolling input method for same Active CN107544693B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710581581.6A CN107544693B (en) 2017-07-17 2017-07-17 Mouse and accelerated rolling input method for same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710581581.6A CN107544693B (en) 2017-07-17 2017-07-17 Mouse and accelerated rolling input method for same

Publications (2)

Publication Number Publication Date
CN107544693A CN107544693A (en) 2018-01-05
CN107544693B true CN107544693B (en) 2020-09-01

Family

ID=60971109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710581581.6A Active CN107544693B (en) 2017-07-17 2017-07-17 Mouse and accelerated rolling input method for same

Country Status (1)

Country Link
CN (1) CN107544693B (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382848A (en) * 2007-09-04 2009-03-11 达方电子股份有限公司 Mouse device with function for accelerating windows rolling and method therefor
JP3162701U (en) * 2010-03-17 2010-09-16 ダーフォン エレクトロニクス コーポレイション Mouse device with function to accelerate scrolling of window
CN201673460U (en) * 2010-03-23 2010-12-15 精元电脑股份有限公司 Directional input device
US8587521B2 (en) * 2010-07-30 2013-11-19 Hewlett-Packard Development Company, L.P. Scrolling inertia
CN103425297B (en) * 2012-05-21 2016-10-26 光宝电子(广州)有限公司 Input equipment and the method controlling scrolling speed thereof
EP3035167B1 (en) * 2014-12-18 2018-07-04 Société Civile "GALILEO 2011" Computer input device with smart scroll

Also Published As

Publication number Publication date
CN107544693A (en) 2018-01-05

Similar Documents

Publication Publication Date Title
TWI660293B (en) Method of accelerating scrolling input and mouse
CN105045454B (en) A kind of terminal false-touch prevention method and terminal
JP5646111B2 (en) Method and apparatus for intuitively wrapping a list within a user interface
TWI605359B (en) Gesture identification method and apparatus applied in a touchpad
TWI478015B (en) Method for controlling electronic apparatus and apparatus and computer program product using the method
US20070091075A1 (en) Method for window operation on a touchpad using a touch defined original point
US20090135152A1 (en) Gesture detection on a touchpad
WO2012024003A1 (en) Graphics rendering methods for satisfying minimum frame rate requirements
CN104007932A (en) Touch point recognition method and device
CN102224488A (en) Interpreting gesture input including introduction or removal of a point of contact while a gesture is in progress
EP3557405A1 (en) Display control method and device of flexible display screen
WO2014118602A1 (en) Emulating pressure sensitivity on multi-touch devices
US20110069028A1 (en) Method and system for detecting gestures on a touchpad
CN108111766B (en) Camera rotation control method, terminal and medium product
US20090160794A1 (en) Method for Scroll Control on Window by a Touch Panel
CN110456927B (en) Operation mapping method and device between devices and computer device
US9594497B2 (en) Method for scroll bar control on a touchpad and touchpad with a scroll bar control function
CN111475088B (en) Page scrolling method and device, storage medium and terminal equipment
CN107544693B (en) Mouse and accelerated rolling input method for same
CN106293051B (en) Gesture-based interaction method and device and user equipment
CN108604142B (en) Touch screen device operation method and touch screen device
CN108132721B (en) Method for generating drag gesture, touch device and portable electronic equipment
EP3012715A1 (en) Electronic device, method for receiving input, and program
US20070126708A1 (en) Method for gesture detection on a touch control bar with button and scroll bar functions
CN110456978B (en) Touch control method, system, terminal and medium for touch terminal

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant