CURSOR CONTROLLING METHOD AND DEVICEBACKGROUND OF THE INVENTIONField of the inventionThe present invention relates to a cursor controlling method and device. And especially to a method for controlling the movement and position of the cursor on a display screen with any resolution, precisely from pixel to pixel while moving the user's finger in a small defined region (smaller than 0.5 inch). It also relates to a cursor controlling device operated by a finger having improved ergonomics and which maps to the whole display screen. The method of the present invention may be used in a mouse, a track ball, a hand writing plate, a touch pad, a remote controller, a joystick, the operating panel of a notebook computer and any device which can detect the movement of the finger.
Description of the prior artThe cursor controlling technology generally used in a conventional computer display comprises a keyboard, a mouse, a track ball, a touch pad, and an optic pen, etc.
However, these conventional control devices are not very convenient for performing the cursor moving operation. For example, the well-known computer keyboard is ineffective because it suffers from a significant slow performing speed during controlling the cursor movement; the track ball is inconvenient due to the 3D operation, and the touch pad requires reciprocation of the finger to move the cursor over the entire display screen. According to a conventional mouse, the user must move the mouse within a large square area on a mouse pad or a smooth desk by moving his arm repeatedly. This is because the conventional mouse mostly employs a resolution of 400 dpi (that is, when the mouse moves through 0.06mm, the cursor on the display screen just moves by one pixel). In case the resolution of the display screen is 1280 dpi, the mouse must move through about 8cm to move the cursor through the entire display screen. The excessively long distance not only fails to meet the requirement of ergonomics body engineering and will make a user feel some pain in arm, but also shortens the useful life of the mouse. In order to shorten the moving distance, a mouse with 600 dpi (0.04mm/pixel) resolution a mouse with 800 dpi (0. 03mm/pixel) resolution have been developed. However, with respect to the user, 400 dpi is the highest resolution at which a human hand can still move the cursor from pixel to pixel precisely. Although even higher resolution of the mouse can shorten the moving distance, the human hand can hardly accurately control the location of the cursor which each time will jump by two or three pixels. Therefore, the higher resolution is meaningless. In addition, although the conventional mouse can shorten the moving distance by means of such a cursor controlling method that different speeds will lead to different displacement increments, the shortcomings will result that the moving range of the mouse will be uncertain and drift. Therefore, the conventional cursor controlling device cannot at the same time achieve both the advantages of small moving distance and accurate cursor control. In addition, the conventional mouse typically includes a downward roller ball and two encoder wheels to detect the movement of the finger, which needs a flat plane and needs to clean the roller ball frequently to avoid suffering from contamination, causing poor performance reliability.
For overcoming said defects described above, a positioning device of absolute coordinate type is designed. Examples of which are disclosed in U. S. Patent Nos.
4782327 and 4935728. However, the size of the devices described in these PatentApplications is larger, and complicated control process and circuit interfaces are required for controlling the cursor. The absolute coordinate structure of U. S. PatentNo. 4935728 is shown in Fig. 1. In this firmware design, the finger controllable section performs absolute coordinate movement, using two operation modes. As shown in Fig. 1, when the cursor is moved with a low speed vl, there is a fine operation mode in which fine displacements may be obtained on the display (pixel by pixel). If the cursor is moved with a high speed v2, the display distance with respectively to each bright and dark lattice is obtained by dividing the excess distance in the fine operation mode according to the excess bright and dark lattices obtained by the movement of optical grid pieces. However, in this design, it is possible that the resultant value will not be an integer, which is inconvenient in calculation. Moreover, such a structure cannot be used in all kinds of display, i. e., different hardware is needed to match different resolution. Otherwise, in operation, the cursor will appear to jump. For example, when a 320 points absolute coordinate structure is applied to a 640 points display, the cursor will only move one half of the display. At the boundary the front 310 points, the cursor will directly jump to another boundary of the display screen, and thus the cursor will not be properly positioned. Similarly, if the structure is used in an 800 or 1280 points display, the defect is more apparent. Therefore, in order to overcome such a problem, enlargement of the original structure is needed, but this will further increase the volume of original structure which has already occupied a large volume, and thus the operation will become further inconvenient.Consequently, in such design, different resolutions must be matched with different structures, which is generality unacceptable to users.
SUMMARY OF THE INVENTIONHowever, the inventors have disclosed in previously filed cases (U. S. PatentApplication Nos. 08/908,098 and 09/087.999) a method and device which eliminates much of the defects in the conventional positioning means, but the inventors of the present invention have made further improvements in the cursor controlling method and device in order to control the cursor more stable, and to be more useful to the user, for example, by moving more smoothly, fitting different users and situations, and by bein'j ! npp) ied in a high resolution display.
The cursor controlling method of the invention may be used in keyboards, mice, remote controller and other manual controlling meansThe cursor controlling device of the invention is used to control the displacement and location of a cursor on the display. The structure thereof may be generally used in all kinds of information carriers, such as optical grid pieces, magnetic disks, magnetic tapes, optic disks, touch pads, optic shift reflector, etc. The structure may be used in combinations of such media described above with the related reading set, which is well-suited to current application technology.
The cursor controlling device for controlling the movement and locating of a cursor on a display is used to detect the relative movement of the finger within a predetermined range divided by at least two coordinate axes, and to generate digital data. There are at least two registers corresponding to each coordinate axis for counting the data within different speed sections. The cursor controlling device applies the cursor controlling method as a single operating mode for detecting the movement of the finger and switching between at least two ratio constants according to variation of moving speed to control the moving distance of the cursor on the display.
The moving distance of the cursor on the display is positive proportional to the moving distance of the finger (or the hand) and the positive proportional constant is determined based on the different speed sections. The main features of the invention are as followings : (I) The moving distance of the finger controllable section is reduced to be equal to or smaller than 0. 5 inch ; the moving speed of the cursor on the display has different proportional ratios, which are proportional to the moving distance of the finger.
(2) Wherever the cursor moves to, it always has fine displacements around it.
(3) The moving speed and position of the cursor corresponds to the speed and position of the finger. If the finger moves fast, the speed of said cursor is increased correspondingly, and thus the operation will be steady, fast and precise.
(4) The cursor controlling device has least two registers for each axis so that the cursor on the display can move to the original point correctly.
These and other objects, features and advantages of the present invention will become more apparent from the following description and the appended claims, taken in connection with the accompanying drawings in which the preferred embodiments of the present invention are shown by way of illustrative example.
In conclusion, the present invention has the following advantages in comparison to the conventional cursor controlling method and devices : (1) All conventional cursor controlling devices could apply the cursor controlling method of the invention to overcome the disadvantages of applying the conventional cursor controlling method. The moving range of those cursor controlling devices with 400 dpi could be reduced to less than 0.5 inch by performing this method, and to much less than the range of the conventional cursor controlling device with 800 dpi (the moving range is 1.5 inch), while still always providing fine displacement around the cursor on any section of the display screen. As shown in Fig. 2, Cl is the fine displacement section, C2 is the mediate speed displacement section, while C3 is the high-speed displacement section. That is, the fine displacement section will be moved along with the moved fingers. The small moving range can prolong the using life of the cursor controlling device. In addition, during moving, it is unnecessary to move the arm to move the cursor controlling device. A user only needs to move the wrist within a small range. Even after a long period of use, the user will not feel tired and painful at the arm and shoulder. This totally meets the human body engineering.
(2) The cursor controlling method of the invention is applicable to any type of cursor controlling device and can be installed on any computer peripheral product such as a keyboard, notebook computer, joystick, mobile phone, internet phone or television remote controller in a minimum amount of space. A further practical embodiment is shown in Fig. 3. One face of this remote controller is installed with the finger controllable section of the present invention for operating by hand, and the lower side of the remote controller is installed with input keys for operating by the user. Such a design matches the requirement of ergonomics, so that the controller may suit the further development about the combination of the multi-media computers andTV (3) PC-TV, WEB-TV, HDTV are the trends in computing and communications.
However, the display screen with a higher resolution will make the moving range of the conventional cursor controlling device larger and harder to locate. The present invention only needs to set different ratio constants for controlling the displacement of the cursor precisely (pixel to pixel) under the condition of unchanged moving range of the fingers (as small as 0.5 inch). The invention improves the foregoing case by simply performing the procedure of adding 2 and subtracting 1 with respect to C 1. Now the procedure of adding 2 and subtracting 1 is performed with respect to the lower registers such as Cl, C2, and C3 etc. Thus the area of the fine displacement section is enlarged because there are also existing sub-fine displacement sections around the cursor. The disadvantages of the fine displacement section around the cursor being relatively reduced, and the speed change too much when the resolution of the display screen is increased. The invention also further includes a step of directly adding a value to the lower registers when the speed of the finger is within the higher speed section to make the value of these registers always approach an intermediate value (which may be half of their maximum values or assigned values). This improves the shortcoming of the foregoing case that the cursor is not sure to be approach the center of the fine displacement section at any time.
(4) The present invention has both the advantages of speed control (small moving range) and absolute coordinate (central point and boundary will not drift). It makes control of the cursor fast, stable, and precise.
(5) The absolute coordinate cursor controlling device of the present invention can be operated on a plane, a slope, a curved face or a rough face or even on a vertical face. It is important that the user doesn't need to clean up the roller. In contrast with the conventional structure, the X-axis and Y-axis of the operating palm are exactly theX-axis and Y-axis of the finger controllable section. Therefore the human thinking direction coincides with the human palm dynamic direction without affection the free position of the base seat. (It is noted that the X-axis and Y-axis of the conventional structure are determined by the base seat)(6) Compared with the conventional absolute coordinate controlling method, the method of the present invention achieves an easier location and has one single operation mode rather than two operation modes as the conventional device.
(7) K and C values can be set as necessary (by means of setting a driving program or switching from hardware) so that the present invention is suitable for various situations and different users. For example, it is rate to move the cursor pixel to pixel (adding value to register C1) and move the cursor to performing a function (2 to 3 mm, adding value to register C2) frequently when operating in widows mode. In such case, the users can choose a smaller Clmax and larger C2max to promote efficiency.
(8) The wireless cursor controlling device of the invention can eliminate the shortcoming of leakage in transmission existing in the conventional wireless product.
In addition, the device of the present invention can be used on non-planar face (such as a rough face, curved face or vertical face).
These and other objects, features and advantages of the present invention will become more apparent from the following description and the appended claims, taken in connection with the accompanying drawings in which preferred embodiment of the present invention are shown by way of illustrative example.
BRIEF DESCRIPTION OF THE DRAWINGSFig. 1 is a plane view of an absolute coordinate construction of prior art;Fig. 2 shows the fine displacement around the cursor;Fig. 3 shows the present invention is combined with a remote controller; Fig 4 is a flow chart of the cursor controlling method of the invention;Figs. 5 to 10 show a first embodiment of the cursor controlling device of the present invention ;Fig. 5 is a perspective exploded view of the first embodiment;Fig. 6 is a plane-assembled view of the first embodiment;Fig. 7 shows the operation of the first embodiment;Fig. 8 is a sectional view of the first embodiment ;Fig. 9 is a sectional view of another similar structure;Fig. 10 is a circuit diagram ofthe first embodiment;Figs. I I and 12 show the second embodiment of the cursor controlling device of the present invention ;Fig. I I shows the structure of the second embodiment; Fig. 12 is a circuit diagram of the second embodiment;Figs 13 to 19 show the third embodiment of the cursor controlling device of the present invention ;Fig. 13 is a plane view of the third embodiment;Fig. 14 shows the operation of the third embodiment ;Fig. 15 shows the structure of the third embodiment;Fig. 16 shows another similar structure;Fig. 17 shows the application in which the speed section is determined by the finger controllable section;Fig. 18 shows the application in which the speed section is determined and transmitted by the computer ; andFig. 19 shows the application in which an absolute rotation relative section is added.
Table I shows the definition of the symbols.
Table 2 shows all application formulas.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTIn the invention, a cursor controlling device is used to detect the movement of a finger and generating a digital signal (such as an optical signal, electrical signal, or magnetic signal etc). The cursor controlling method of the invention determines the speed of received data and which speed section (at least two different speed sections V1, V2,, Vn) the speed of the finger corresponding to. The speed sections correspond to different ratio constants K1, K2,..., Kn. The K value represents the constant by which displacement of the cursor moving on the display is proportional to the detected displacement of the finger.
For two different speed sections, the values of K1, K2 may be (1,2), (1,3), (1, 4), (2,4), etc. The values of K1 and K2 may be preset as default values, and the user may also select the values according to the driving program. Using the formula 1 :Cimax + C2max = C, and formula 2: (Kl * Clmax) + (K2 * C2max) = display distance, the maximum values Clmax and C2max (which have been preset as the default values according to the resolution of display) of the registers corresponding to different speed sections may be determined. Therefore, if the resolution of a display has been increased, it is possible simply to increase the value of K2 in order to have the fine displacement of the cursor match with the minimum displacement of the pixels for the display screen resolution. Although the value of K2 is increased with the increased in display resolution, the minimum displacement of a pixel is also reduced, and the cursor may be moved steadily on the display.
Example :Assuming that the resolution of X-axis of the display is 640 and assuming the minimum moving distance of the human hand is 0.06mm, i. e. the currently used 400 dpi (400 dot in one inch, 25.4mol400 z 0. 06mm) the displacement of the optical grid is equal to 196 X 0. 06mm=11. 76mm640 = (1 * Clmax) + (4 * C2max), K1=1, K2=4 196 =C lmax + C2max .'. C2max=148, Clmax=48 ; And the resolution of X-axis of the display is equal to 1024 ; 1024 = (1 * Clmax) + (7 * C2max), Kl=l, K2=7196 =C I max + C2max .'. C2max=138, Clmax=58 ; When the display resolution is increased from 640 to 1024, but the distance between pixels is reduced, then even though K2 is changed from 4 to 7, the smooth performance of the cursor moving on the display will not be affected. The cursor may be moved with a precise displacement from pixel to pixel on the display, no matter the change of the display resolution, in the precise displacement mode. Reduction of the distance of the optical grid is not achieved by reducing the illumination of optical grids and the distance of each grid, but instead the number of grids is decreased (in the prior art the original 320 grids is reduced to 200 grids), and thus when the finger controllable section is moved through one grid, the cursor of said display is not moved through 2 or 3 grids.
In the following, a practical application is described in order to prove that the moving range of the finger controllable section of the present invention may be within the area with a length of 0.5 inch even the resolution of the X-axis is 1280. Assume Kl=l, K2=5, and K3=10 for programming three different kinds of speeds which are proportional to the moving point of the display, wherein the number of grids with respect to the moving of X axis may be induced as the follows:X axis 1280= (1 * Clmax) + (5 * C2max) + (10 * C3max)= (1 * 20) + (5 * 20) + (10 * 116) .. Clmax=20, C2max=20, C3max=116 Cimax + C2max + C3max = 156Y axis 1024= (1 * Cimax) + (5 * C2max) + (10 * C3max)= (1 * 19) + (5*21) + (10*90) .. Clmax=19, C2max=21, C3max=90 Clmax + C2max + C3max = 130Thus, the programming distance for each grid is:X axis = 156 * 0. 06 = 9. 36mm, which is smaller than a half inch (12.52mm)Y axis = 130 * 0.06 = 7.8mm, which is smaller than a half inch (12.52mm)The other sets of the ratio constants are shown in Table 1.
In conclusion, programming n speed sections is possible by modifying formulas 1, 2 and 3 as formula 4,5 and 6.
From the aforementioned description, it will be appreciated that according to the technique of the present invention, the moving range of the present invention is substantially reduced to within an area of 0.5 inch so to match the requirement for moving by hand, and within such a finite range the absolute coordinate method may be performed so as to correspond with the whole display, and the automatic scroll as well as the function of fast moving to the boundary may be programmed.
In the foregoing case, in order to provide usable fine displacements around the cursor on the display screen, the fine displacement section is created around the cursor by means of adding 2 to the value of high speed register and subtracting 1 from the value of lowest speed register when the finger moves at high speed. This thoroughly improves the shortcoming of the invention described in U. S. Patent Nos.
4782327 and 4935728 that accurate location cannot be achieved after moving through the fine displacements. However, in practice, some disadvantages still exist as follows: 1. Although the usable fine displacement section is around the cursor, it cannot be sure that the cursor will be approach the center of the fine displacement section. 2.
Only C I tends to be approach Clmax/2, so that when the cursor moves, C2, C3... are often saturated. Therefore, when moving, it may take place that the speed jumps suddenly from the lowest speed to the highest speed to result in unstability. 3. When the resolution of the display screen increases, the distance from pixel to pixel on the display screen is shortened. At this time, the area of the fine displacement section on the display screen is relatively reduced and it becomes more difficult to locate the cursor than on a low-resolution display screen. 4. In a windows operation system, because the command operation is quite frequent, the travel for using register Cl will be longer, and while register C2 is very suitable for pixel-to-pixel operation because the command sections are all 3 to 4 mm squares), C2 does not execute the procedure of adding 2 and subtracting I so that C2 is often saturated and cannot be used.
In order to provide fully usable fine displacements no matter the cursor on the display screen is positively oriented or negatively oriented, i. e. to cause the cursor to always approach the center of the fine displacement section, unlike the method of the forgoing case, the cursor controlling method of the invention adds the step that the data value is directly added to cause the lowest-speed register to approach one half of the maximum value. This improves the shortcoming of the foregoing case that the cursor is not sure to be approach the center of the fine displacement section.
In addition, the foregoing case only performs the procedure of adding 2 and subtracting 1 with respect to register C1, while in the preferred embodiment, the procedure of adding 2 and subtracting 1 is performed with respect to C 1 and C2 and the procedure of directly adding 1 is added. Therefore, not only is it possible for Cl and C2 to approach the mediate value, but also the fine displacement section is enlarged from the original 40 (Clmax) to 120 (Clmax+2*C2max), the cursor can move at a more stable speed, and the command section can be more easily and quickly selected.
For convenience in describing the unique advantages of the present invention, the following is an example :Assuming that the resolution of X-axis of the display is 640;X axis 640= (1 * Clmax) + (2 * C2max) + (4 * C3max) = (1 * 40) + (2 * 40) + (4 * 130) .-. Clmax=40, C2max=40, C3max=130 Clmax + C2max + C3max = 210the displacement of the finger is equal to 210 * 0.06mm=12.6mmWhen the resolution of the display screen is increased, for example, to 1280, the maximum values of all the registers can be set to be twice the original value or the ratio constant of the high-speed register can be enlarged. These two methods are described as follows:When the resolution of the display screen is increased to 1280, we can directly set the values of Clmax, C2max, and C3max to be twice the original values (method one). However, that is not a good method by reason that this will make the relative travel become twice that of the original travel and enlarge the moving range.
Moreover, at the same finger moving speed, the cursor moving speed will become one half of the original speed. This increases the burden on the arm, but the fine displacement section will not be reduced, which is an advantage of this method.
In order not to increase the moving range of the finger, we can enlarge K3 (method 2). For example by increasing to 10 as follows:X axis 1280= (l * Cimax) + (2 * C2max) + (10 * C3max)= (1 * 40) + (2 * 40) + (10 * 145) .-. Clmax=40, C2max=40, C3max=116 Clmax + C2max + C3max = 196The displacement of the finger is equal to 196 * 0.06mm=11. 76mmAlthough this method can achieve the object of controlling the cursor on a highresolution display screen without increasing the moving range, this also results in two shortcomings. One is that because the value of K2 is too different from the value of K3, the speed change of the cursor is very great from lower speed to high speed or from high speed to low speed and not so stable as on a low-resolution display screen.
The other is that when the resolution of display screen doubles, Clmax and C2max remain unchanged so that the fine displacement section area on the display screen is smaller than that of a low-resolution display screen (becomes one fourth of the original area). Also, the moving speed in the fine displacement section will become one half of the original speed.
The above two methods have their advantages and disadvantages. Therefore, it is necessary to provide a better solution as follows: another register is added to execute the procedure of adding 2 and subtracting 1 and directly adding 1. Accordingly, a subfine displacement section exists around the cursor, whereby when the resolution of the display screen is increased, the area of the fine displacement section around the cursor will not be relatively reduced from the low speed to the high speed or from the high speed to the low speed, because C2 and C3 will always approach one half of the maximum value thereof, the speed of the cursor will be in proportion to the moving distance of the finger in the sequence of K2, K3..... and no excessively great change of the speed will result from saturation of the registers C2, C3... Therefore, the movement is smoother. The following is an example :X axis 1280= (1 * Clmax) + (2 * C2max) + (4 * C3max) + (10 * C4max)= (1 * 40) + (2 * 40) + (4 * 30) + (8 * 104).. Clmax=40, C2max=40, C3max=30, C4max=104 C 1 max + C2max + C3 max + C4max = 214 At this time, the fine displacement section is 240 (i. e., Clmax + 2*C2max + 4*C3max). It will occupy an area on a display screen of 1280 resolution equal to the area of the fine displacement section of the display screen of 640 resolution. In addition, due to adding of the register C3, the displacement increment is four times the finger moving increment. Therefore, the moving speed on the display screen of 1280 resolution is equal to the moving speed of the displacement increment of C2 on the display screen of 640 resolution. Accordingly, the area of the fine displacement section is not reduced (or is even enlarged) and the moving range is not increased (or is even reduced). The speed is stable and the command is selected as easily as in low resolution.
Also, the speed will not be slowed down in the fine displacement section. It can be known from the above that the present invention is smoothly applicable to a high resolution display screen without increasing the moving range and without reducing the area of fine displacement section as applicable to low resolution display screen.
Within the same small range, the moving of the cursor can be quickly and stable and accurately controlled.
A display screen of 2000 resolution is also currently commercially available.
However, the cursor controlling method of the present invention is applicable to any high-resolution display screen without increasing moving range and without reducing fine displacement section. A suitable number of registers can be added according to the resolution of the display screen.
Fig. 4 is the flow chart of the cursor controlling method, which explains how the cursor is moved to a positive direction for X-axis. The flow chart for theY-axis (or Zaxis) and the negative direction are similar. It is noted that the symbol in the flow chart are defined in Table 2.
The method begins by setting ratio constants K1, K2,..., Kn.; setting maximum values Clmax, C2max,..., Cnmax and initial values Clini, C2ini,.., Cnini of registersCl, C2,, Cn corresponding to different speed sections VI, V2,..., Vn (which are defined by speed levels) for each coordinate axis (step A), wherein n is at least 2. A cursor controlling device is used to detect the movement of the finger. When the finger moves in a positive direction, the procedure reads the data sent from the cursor controlling device (step B) and determines which of speed sections the speed of the finger (Vx) is within (step Cl, C2,..., Cn-l) by the speed of the data sent from the cursor controlling device. The procedure comprises the step Di that adds the data value to the register Ci until a resultant data value is at least equal to Cmax when the speed is within speed section Vi, adds a remainder value to the register Ci-1 until the value in register Ci-1 is at least equal to Ci-lmax, and then performs the same step with the other registers corresponding to Ci-2, Ci-3,..., Cl, Ci+1, Ci+2,..., Cn in order, wherein l < =i < n. The next step is to transmit the values in all registers and control the cursor based on the sum of the multiples of the respective ratio constants and values in registers (i. e. K1 * C1+ K2 * C2+... + Kn * Cn) as display value. For example, if the speed of the data sent from the cursor controlling device is less than the lowest level of speed v (1) (step C1), then the speed of the finger is within first speed section V1. Going to step D1, the method further determines whether the value stored in register Cl is greater than or equal to C 1 max. If not, then the value of C1 is increased by I (step ai) and the value transmitted. If the value recorded in register Cl is greater than or equal to Cimax, the displacement of the cursor will be set to be proportional to the displacement of the finger multiplied with a value K2. Then, the value in register C2 is increased (step a2), and the value transmitted. The control flow of the other registers may follow that of the register C2 with similar control flow described herein above.
The most important step in the flow chart is Dn. The step E1 is performed only when the register Cn is not greater or equal to Cnmax. In step Dn, the method determines whether the register Cn is a maximum value. If not, the procedure returns to step Dn-1 ; if yes, the procedure performs the step El. In step E1, it determines whether the register Cl is equal to an intermediate value (such as Clmax/2 or an assigned value). If not, the procedure goes to step F1 to perform step al or step bl (the procedure judges whether the fine displacement approach a half of the distance and causing data values in registers C1, C2,..., Ch to approach intermediate values) and then goes to step G ; if yes, the procedure goes to step E2. The step E2,..., Eh use the same control procedure as that in step E1 (wherein h is assigned some value less then n). Then the method proceeds to step an and to step G. In step Ei, the method determines whether the register Ci is equal to Cimax/2. If not, the procedure goes to step Fi to perform step ai or step bi and then goes to step G; if yes, then the procedure goes to the next step Ei+1. In consequence, as the cursor is moved to any object on the display, there are always fine displacements around the cursor.
The step ai mentioned above adds 1 to the value in registers Ci. The step bi mentioned above subtracts 1 from the register Ci and adds 2 to register Cn.
In the negative direction, the operating procedure is similar to that of Fig 4; and the Y-axis procedure or Z-axis procedure may follow that of the X-axis procedure with similar control flow described herein above. (i. e. speed Vx could be replaced by speed Vy or speed Vz)The flow chart of the invention mentioned in Fig 4 could be adjusted as follows without changing the spirit of the : 1. Step Di could adds the data value to the register Ci until Ci is at least equal toCmax and then add a remainder value to the registers corresponding to lowerspeed sections in any order.
2. It is not only when the speed of the finger is within the highest speed section thatthe procedure performs the step ai or bi, and the step ai or bi also do not need to beexclusively performed with CI. To explain clearly, the flow chart could be modifiedby mal ; in, the values in registers C1, C2,..., Ch approach each intermediate value(such as Clmax/2, C2max/2,.., Chmax/2) in order or in any order while increasingthe data value received in registers Cl, C2,..., Ch and Cj if the speed of receivingdata is within the speed section corresponding to register Cj for each axis, wherein 1-=h-j ; =n.
3. The method of the invention can set a reference constant k to divide the registersinto two subgroups. One subgroup, called the lower-speed group, includes registers Cl, C2,, Ck-1 and the other subgroup, called higher-speed group, includes registers C'k, Ck+l,..., Cn. When the speed of the data is within the speed sectionVk, Vu-1,, Vn (i. e. the speed of the data is more than v (k-l)), at least oneregister belonging to the lower-speed group is caused to approach intermediatevalues by adding N to the lower-speed group while subtracting N from higherspeed group, wherein N is an integer (may be-3,-5,0,6,10 etc). The integer N isused to speed up the approaching process.
4. There are two kinds of data reception. One is periodical transmission, while theother is real transmission once each counting data is read. Therefore, there are twokinds of determination of speed. The former utilizes the data value in a fixed timeto make a decision, while the latter makes a decision by means of the time interval of the similar counting.
5. In the case of the aforesaid periodical transmission, many counting signals can beprocessed at one time during the procedure rather than one signal at one time. Forexample, in case 10 counting signals at higher-speed section are received at onetime, at which time the value is such that register Cl is 5 less than Clmax/2 then 5can be added to register Cl at one time. In addition, many registers can theirassigned values at the same time. For example, the register Cl is 10 less thanC I max/2 and C2 is 3 more than C2max/2 when 7 counting signals are received, wecan cause registers C I and C2 to be equal to a medium value at the same time.
6 The circuit of the cursor controlling device can perform the steps of the method. Inother word, at least one of the speed determining, adding, data value causing, andcursor controlling means are performed by a circuit of the cursor controlling device.
7. A software program rather than a circuit can perform the steps of the method. Inother word, the cursor controlling device only generates and transfers digital data,while the speed determining, adding, data value causing, and cursor controllingmeans are performed in a driving program or a system program outside the cursor controHing device. In such case, the registers are set in these programs as variables.
8. The absolute coordinate values of the initial point on the display are subtractedfrom that of the ending point for deriving the effective relative display value so thatthe cursor controlling device will be compatible with computers designe d to usedtraditional cursor controlling devices.
9. The driving program has at least one acceleration ratio for adjusting the cursorcontrolling device to match the positive proportional positioning relation.
It is obviously that when the moving speed and positioning of the cursor on the display is matched with that of the finger, the advantages of stable, fast, and precise moving effets are obtained. The cursor controlling device has least two registers so that the finger controllable section may correctly return to an original point and so that the cursor also may correctly return to the original point correspondingly.
The cursor controlling method of the present invention may be used in keyboards, mice, remote controller and other manual controlling means. The movement and positioning of the cursor on the display may be controlled through a controlling circuit, driving program or system program.
Referring to the first embodiment of the present invention as shown in Fig. 5 andFig 6. The preferred device has a small volume and is sealed tightly to prevent dust and water, and in usage it will minimize the action of hands. Therefore, the defects in the prior art, such as large volume and ill positioning in usage, may be improved. The construction of the cursor controlling device illustrated in Figs. 5 and 6 is as :The two sets of data carriers 1, 2 each has a central shaft 11,21 disposed with a gear 12, 22. When pushed, the data carriers 1, 2 are rotated, being arranged perpendicular to each other, and each corresponds to a set of sensor 31,32 for reading 0 I signals ; Two slide bars 4,5 have faces each formed with a rack 41,51 facing the central shaft 11, 2 1 for meshing with the gears 12,22.
A finger controllable section 6 has an interior chamber 61 in which two clamping plates 641, 642 are disposed for supporting two ends of the central shafts 11, 21, the chamber 61 also receiving the two sensors 31,32 and the slide bars 4,5. Four sidewalls of the chamber are formed with through holes 62,63 for the slide bars 4, 5 to pass therethrough. The finger controllable section 6 restrains the slide bars 4,5 to move relative to and across each other.
According to the above arrangement, as shown in Fig. 7, after assembly, the data carriers 1, 2 are located on the finger controllable section 6 and moved along therewith. When the finger controllable section 6 is pushed and shifted, the slide bars 4,5 are moved back and forth. During operation, via the engagement between the racks 41, 51 and the gears 12,22, the data carriers 1, 2 representing X and Y-axes are rotated by a tixed number of circles. The sensors 31,32 then generate 0,1 signals of a fixed number of marks for use in absolute coordinate input matching.
As shown in Fig. 3A, the device of the present invention is operated with the firmware thereof Said finger controllable section may be installed on the keyboards, remote controllers, and the operating board of portable computers, mice or other products. Since the cursor controlling device of the present invention may be moved within an area with a length of 0.5 inch, the finger controllable section 1 installed on the firmware is well programmed. Basically, the present invention uses an absolute coordinate to map the whole display screen, and still has other space for automatically scrolling and for the cursor to move to the boundary. Thus, the present invention may be installed on a wireless remote controller with a minimum volume. A further practical embodiment is shown in Fig. 3B. One face of this remote controller is installed with the minimum finger controllable section 1 of the present invention for operating by hand. The lower side of the remote controller is installed with input keys for operating by the user. Such a design meets the requirement of ergonomics, so that the controller may suit the further development of combination multi-media computers and television.
Referring to Fig. 8, the central shafts 11,12 of the data carriers 1,2 and the slide bars 4,5 are arranged across each other on planes at different heights. Alternatively, as shown in Fig. 9, the central shafts 11, 12 of the data carriers 1,2 are positioned on planes at equal height and the slide bars 4,5 respectively lean on the central shafts 11, 12 from the upper side and the lower side. Therefore, the original four-layer structure is changed into a three-layer structure so as to reduce the height of the finger controllable section 6.
Referring to Figs. 5 to 9, by means of the novel assembly design of the present invention, the data carriers 1, 2 can be easily assembled as a general mouse without trouble. More importantly, the slide bars 4,5 can be widened to bear more great external force without breaking. Therefore, the product is more reliable and durable.
Figs. 8 and 9 show a preferred embodiment in which the slide bars 4,5 are slat-shaped with a stepped cross-section 42,52. Accordingly, the cooperative racks 41,51 can be snugly attache to the central shaft 11,21 and the gears 12,22 without a swinging gap. In addition, the slide bars can be thickened even further to increase the bending strength of the slide bars 4,5.
In addition, the bottom of the finger controllable section 6 can be disposed with a rotary section inserted in a corresponding socket formed on the surface of a baseboard The respective movable components are all disposed on the baseboard and freely ratable along with the housing for correctly inputting data. Also, the driving section of the data carriers 1,2 originally disposed with gears 12,22 can be alternatively simply a hollow shaft with a linear channel. The slide bars 4,5 are disposed with corresponding string bodies (not shown). A middle section of the string body is wound around the hollow shaft of the data carriers 1, 2 and then two ends of the string body are tied and fixed to the slide bars 4,5. Accordingly, the slide bars 4, 5 are movable for driving the data carriers 1,2 to rotate and achieve the same function.
In addition, it should be noted that according to the present invention, the human thinking direction can cooperate with the human palm dynamic direction without affecting of free position of the base seat to meet human body engineering.
Shown in Fig. 10 is an application circuit diagram of the preferred embodiment.
Light is emitted from the light emitting diode 31 a of the X axis optic sensing set 31 on the Hght emitting portion of a photoelectric circuit to optical grid pieces 1, the phaseXA generated by the bright and dark lattices being received by the optic transistor 31 b of the receiving portion, and the phase XB receiving by the optic transistor 31c. TheX axis moving signal is then checked out. Light is emitted from the light emitting diode 32a of the Y axis optic sensing set 32 on the light emitting portion of a photoelectric circuit to optical grid pieces 2, the phase YA generated by the bright and dark lattices being received by the optic transistor 32b of the receiving portion, and the phase YB receiving by the optic transistor 32c. The Y axis moving signal is then checked out. Subsequently the moving signals of the X axis and Y axis are transferred to control circuit 91 for calculating. The button key circuit 92 is installed with a left switch 92a, a medium switch 92b and a right switch 92c. The signals generated thereby are also transferred to control circuit 91. A steady voltage circuit 93 is used to supply steady power supply, and an output circuit 94 is used to transfer the signal amplified by control circuit 91 to a computer through a transmission line.
As described above, there are different groups of K2, K3... Kn applicable to manufacturing. For example, 1,2,3 or 1,3,5 can be selected. However, it depends on context which group is more suitable for a general user. For example, in the case of operation under a general window environment, where mainly the function keys under a window are selected, the larger group of K2... Kn can be selected. At this time, the moving speed is faster and the area needed by the finger is smaller. With respect to use of rafting software, more accuracy for the coordinate is required, so that the smaller group of K2... Kn is selected. In order to achieve the object of selection, the selection function can be placed in the driving program, enabling a user to modify the setting of ratio constants prior to use or in use. The modification can be made by entering the software to modify the setting or by switching with keys on the keyboard or a cursor controlling device. Alternatively, the selection function can be placed in the IC of the cursor controlling device and switched by the keys of the cursor controlling device. However, in those situations necessitating more fine displacement, it is necessary to adjust the value of C1. Therefore, alternatively, the selection function can be arranged on the software or hardware, so that the setting can be made by entering the software or by keys on the hardware.
Now referring to the second embodiment of the present invention as shown inFig. I I, in which the selection function is arranged on cursor controlling device 70 (as in the first embodiment or the conventional cursor controlling device), the different setting is switched by means of quickly pressing middle key 71 twice (Fig. llA), definin, other key, additionally arranging a key 73 (as shown in Fig. 11B), or additionally arranging a shifting switch 74 (as shown in Fig. 11C). For example, the user simply clicks the middle key (the key switch may be further programmed) to enable the cursor controlling device to operate at a different constant ratio set.
Several indicators 72 can be additionally disposed on the cursor controlling device for indicating for the user of the current group of set values. It should be noted that the above structures (such as indicators) can be arranged by modifying the conventional cursor controlling device such as mouse, track ball, hand writing plate, touch pad, etc.
Shown in Fig. 12 is an application circuit diagram of said embodiment, which is similar to that shown in Fig. 10 except that additional indicators 72 and an additional control circuit are included, and several more groups of setting of different C and K are available for selection.
Shown in Figs. 13,14,15,16,17,18 and 19 are application circuit diagrams of this embodiment. As shown in Figs. 13 and 14, the wireless finger controllable device includes :A finger controllable portion 1 which is freely movable on the device and includes a sensing section 11 and a transmitting section 12 corresponding to at least two-dimension movement.
A receiving section 21 disposed on hardware having a display for receiving the transmitted data. The hardware is a common domestic electrical appliance such as a computer or a television. The receiving section 21 can be alternatively disposed on a connecting seat 2 which is inserted into an output end 22 and adapted to the hardware.
The tmger controllable portion 1 in unit time wirelessly transmits the moving distance S by absolute coordinates to the receiving section 21, so that when a to c are transmitted, even though the b point might be lost due to external factor, as long as the final c point is read into the receiving section 21, the displacement increment of the finger controllable portion I can be accurately controlled (as shown in Fig. 14 (A)).
Therefore, the shortcomings of interval jump leak and re-input of the conventional structure (as shown is Fig. 14 (B)) are eliminated.
Accordingly, when inputting, an operator does not need to frequently raise and move his/her hand and the finger controllable portion 1 can be operated within a small range and precise location can be achieved.
Please refer to Figs. 15 and 17. The sensing section 11 of the finger controllable portion I of a general mouse is composed of two sets of rotary data carriers 111,113, two sensors 112, 114, a pushing ball body 115 and a unit time timer 116. The absolute coordinate is executed such that a fixed number of rotational circles of the data carriers 111, 113 determines the travel of X and Y axes. During movement, the speed section is located by the number of the different 0,1 data read by the timer 116 in unit time according to the sensors 112,114. Accordingly, a corresponding absolute coordinate is generated by the aforesaid patterned match mode. The transmitting section 12 transmits the data to the receiving section 21 and then the data are transmitted via the connecting seat 2 into the computer. Therefore, the finger displacement increments C1, C2... Cn in different speed sections correspond to the increment of a moving point number on the display screen for different lattice proportions K1, K2... Kn. Therefore, within a small moving range, the finger controllable section 1 can correspond to every points on the display screen and achieve the feature of absolute coordinate input.
Please refer to Figs. 16 and 17, which show another embodiment of the present invention. The sensing section 11 of the finger controllable portion 1 is alternatively composed of two sets of data carriers 117,119 which are movable across each other, two sensors 112, 114, a movement restricting body 118 disposed at the intersection and a unit time timer 116. The fixed number of the 0,1 data disposed on the data carriers 117,119 is the travel of X and Y axes. Identically, by means of the above patterned match mode, within a very small input range, the finger controllable portion I can correspond to every point on the display screen by absolute coordinate.
Please refer to Fig. 18. In application, the present invention can utilize the feature of wireless transmission to remove from the finger controllable portion 1 the processing portions in the above two examples for finger displacement increment C1, C2.. Cn in different speed sections and the corresponding increment of the moving point number on the display screen for different lattice proportions Kl, K2... Kn.
Alternatively, the receiving section 21 directly transmits the data into the main board and then correspondingly determines and transmits the data according to the relation moving distance/unit time = speed. Accordingly, the present invention can also execute the correspondence of normal absolute coordinate.
In addition, as shown in Fig. 19, whether the processing portions for the increment and speed are positioned in the finger controllable portion 1, the receiving section 21 or even directly in the hardware system, the rear end of the determination and transmission can all utilize an absolute-to-relative section 3 to send out a relative coordinate equivalent to the final displacement by way of absolute subtraction absolute equality. Therefore, when installing the absolute type wireless mouse of the present invention, it is unnecessary to install an additional driving program and the mouse is compatible with the already widely used relative coordinate system in the existin hardware main board so as to save the cost for development of compatible driving program and sale of additional disks.
Fig 19 more substantially presents an effective combination of the present invention, which achieves the following advantages: (1) The finger controllable section 1 provides the convenience that the movement and match can be made within a small area without tiredness of hand.
(2) The transmission of absolute coordinate type eliminates the jump and point action during data transmission and correct displacement data can be obtained.
(3) The absolute to relative section 3 makes the present invention free from additional driving program and enables the present invention to be easily compatible with the existing commonly used relative coordinate system.
It is noted that the cursor controlling devices are not limited to be the cursor controlling device mentioned above. They could be selected from the group of mouses, track balls, hand writing plates, and touch pads.
If the cursor controlling device is a conventional-type mouse, the digital data with respect to each optical grid piece of the mouse are installed with at least two registers.
An identification code signal is used to identify the driving program for actuating the positioning operation.
The aforementioned description is aimed at the preferred embodiment of the present invention. In the information carrier of the present invention, the optical grid pieces cooperate with the sensing sets of the reading set so that the information signals"0"and"1"are generated by the transparency and non-transparency of the light and dark lattices installed on the optical grid pieces. However, within the same structure and object, the information carrier may has the following different types:For example, the information carrier may be reset by a magnetic disk, the magnetic tapes adhered on the outer ring portion or on the periphery of the magnetic disk, or by the spacing on a peripheral magnetic tape installed with S and N polarization The reading set can then be formed by Hall components or magnetoresistive sensor, so that the information signals"0"and"1"may be identified.
If the information carrier is changed to be a touch pad, and the resistor layer with different frequencies are recorded on the spacer of the circumference, further electric connections are used as reading set so that different high or low voltages are generated during movement, and thus the information signals"0"and"1"may also be identified.
If the information carrier is changed to be a CD ROM, and the digital signals with different frequencies are recorded on the spacer of the circumference so that the movement may be detected by the reading head of the reading set, thus the information sinals"0"and"1"may also be identified.
If the information carrier is changed to be an optic-shifting reflecting mirror, and the textures with different refraction index are recorded on the spacer of the circumference, further optic sensors are used as reading set so that the conditions of having tight illumination or having no light illumination are generated during movement, and thus the information signals"0"and"1"may also be identified. While the present invention has been described with reference to the illustrative embodiment, this description is not intended to be constructed in a limited sense. Various modifications of the illustrative embodiment of the invention will be apparent to those skilled in the art on reference to this description. It is therefore contemplated that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.
From the aforementioned description, it is appreciated that by the technique of the present invention, the moving range of the present invention is substantially confined within an area of 0.5 inch so to meet the requirement for moving by hand, and within such a finite range the absolute coordinate method may be performed so as to correspond with the whole display, and the automatic scroll as well as the function of fast moving to the boundary may be programmed. The preferred embodiment has a small volume and is sealed tightly so to prevent dust and water, and in usage it will minimize the action of hands, and therefore, the defects in the prior art, such as large volume and ill positioning in usage, may be corrected. Thus, the present invention can be widely used in the industry.
While the present invention has been described with reference to the illustrative embodiment, this description is not intended to be construed in a limited sense.
Various modifications of the illustrative embodiment of the invention will be apparent to those skilled in the art on reference to this description. It is therefore completed that the appended claims will cover any such modifications or embodiments as fall within the true scope of the invention.
TABLE IVx represents the speed of the finger in X-axis.
Vy represents the speed of the finger in Y-axis.
Vz represents the speed of the finger in Z-axis. v (i) represents the speed level reference value of the moving speed of the finger.
Vi represents the speed section between the speed range from v (i-1) to v (i).
C 1 represents a register for registering the displacement of the finger at the lowest speed section VI.
C2 represents a register for registering the displacement of the finger at second speed section V2.
Ci represents a register for registering the displacement of the finger at ith speed section Vi.
Cn represents a register for registering the displacement of the finger at the highest speed section Vn.
C I max represents maximum value of register C 1.
C2max represents maximum value of register C2.
Cimax represents maximum value of register Ci.
Cnmax represents maximum value of register Cn.
Clini represents initial value of register C 1.
C2ini represents initial value of register C2.
Ciini represents initial value of register Ci.
Cnini represents initial value of register Cn.
Ki represents the ratio constants corresponding to speed section Vi? TABLE 2Formula 1. C I max+C2max = C Formula 2. (K1 * C1max) + ( (K2 * C2max) = display distance Formula 3 (K1 * C1 + ( (K2 * C2) = display valueFormula 4. Cl max+C2max = CFormula 5 (K1 * Climax) + ( (K2 * C2max) +... + (Kn * Cnmax) =display distance Formula 6 (K1 * C1) + ( (K2 * C2) +... + (Kn * Cn) = display value