WO2013098436A1 - Optical navigation method and system for a pointing device that is suitable for computer systems - Google Patents

Optical navigation method and system for a pointing device that is suitable for computer systems Download PDF

Info

Publication number
WO2013098436A1
WO2013098436A1 PCT/ES2012/000324 ES2012000324W WO2013098436A1 WO 2013098436 A1 WO2013098436 A1 WO 2013098436A1 ES 2012000324 W ES2012000324 W ES 2012000324W WO 2013098436 A1 WO2013098436 A1 WO 2013098436A1
Authority
WO
WIPO (PCT)
Prior art keywords
optical sensors
displacement information
gestures
displacement
user
Prior art date
Application number
PCT/ES2012/000324
Other languages
Spanish (es)
French (fr)
Inventor
Pablo PÉREZ TRABADO
Kevin Raymond BLANCKAERT
Original Assignee
Universidad De Malaga
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 Universidad De Malaga filed Critical Universidad De Malaga
Publication of WO2013098436A1 publication Critical patent/WO2013098436A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/0202Constructional details or processes of manufacture of the input device
    • G06F3/021Arrangements integrating additional peripherals in a keyboard, e.g. card or barcode reader, optical scanner
    • G06F3/0213Arrangements providing an integrated pointing device in a keyboard, e.g. trackball, mini-joystick
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means

Definitions

  • the present invention relates, in general, to the field of navigation methods and more specifically to optical navigation methods for pointing devices in computer equipment.
  • the use of signaling devices can take more than two thirds of the time we are in front of a computer, with the mouse being the predominant one in use among all of them. Because the mouse is usually positioned on the side of the keyboard, it forces the user's neck and arm muscles to be in an unnatural position. This, together with the repetitive actions that the use of the mouse usually entails, increases stress on these parts of the human body, resulting in possible occurrences of musculoskeletal ailments due to repetitive activities, such as carpal tunnel syndrome.
  • Trackball does not eliminate this problem, but only Change the affected joint.
  • a Trackball moves the pointer without the need to move the device because it has a sphere at the top, which usually moves with the thumb, and these movements translate into cursor movements. Thanks to this, the space needed to control the device decreases considerably.
  • trackball is not immune to the problems of repetitive action injuries, because it translates the ergonomics problems of the forearm and hands to the thumb joint.
  • optical mice In addition to the well-known traditional mechanical mouse, there are alternatives such as optical mice whose operation is based on incorporating an LED that illuminates the surface below, and they have a small camera that takes pictures of it at regular intervals. When comparing consecutive images, a sensor can calculate the displacements made, which will be translated into cursor displacements.
  • the optical mouse still has the same ergonomic problems as the conventional mouse, in addition to presenting difficulties to work on surfaces with high brightness, or on very smooth and uncommon surfaces, such as mirrors; the laser mice solve the problems of operation on difficult surfaces using a laser diode and detection of phase changes in the reflected light to follow the movement; however, its operation by a human user is identical to that of an optical mouse, so it does not incorporate any improvement in the field in the field of ergonomics.
  • 3D mice devices that not only detect movements in the horizontal plane, but also detect them in the vertical plane;
  • a signaling device is the Wii console controller.
  • This control can calculate its position using an infrared camera integrated in the device, which measures the displacements that it observes with respect to an infrared light emitter, which is positioned near the monitor or television. Its prolonged use can still cause muscle aches, since they do not usually allow having arms or hands at rest, causing fatigue and muscular stress.
  • gesture-guided interfaces are Touchpads and multi-touch touch screens, which have gained special acceptance with their use on devices such as the iPad or iPhone.
  • capacitive sensors such as the Touchpad
  • electronic problems may appear even by the mere presence (or absence) of grease on the user's skin, while the touch screens suffer from lack of precision.
  • Touchpads their integration into a laptop or notebook usually consumes a considerable area, which could be saved (or enlarged by the keyboard) if the presence of the signaling device is not necessary.
  • the operation of a Touchpad is based on the translation of capacitive variations in a dielectric in cursor movements and virtual (tap) keystrokes.
  • Touchpads are usually integrated in laptops and are also used in some desktops when there is little work space. To use them, simply move one or more fingers on the control surface; the movement produced with the fingers will translate to cursor displacements. Some have a control strip on one of the sides, which can be used to simulate the mouse wheel; an up or down movement corresponds to turning the mouse wheel in the same direction.
  • Touchpads do not always produce fluid movements, and multiple consecutive lateral finger movements are often necessary to move the cursor from one side of the monitor to the other, which is why users often end up using an external USB mouse.
  • the sensitivity problems of the Touchpad may be more noticeable when handled with partially or completely damp fingers, as occurs just after washing your hands. Additionally, due to the technology on which it is based, it is not possible to use a Touchpad with anything other than bare fingers.
  • the capacitive touchpad allows the detection of simultaneous keystrokes with multiple fingers, a feature called “multitouch” (“multitouch”).
  • multitouch a feature called “multitouch”
  • the use of multitouch sensors to signal commands to the computer through complex gestures has recently gained great popularity thanks, fundamentally, to the use of this technology by Apple for its laptops and iPads.
  • Trackpad is a device very similar to the touchpad, but multi-touch and oriented to use with gestures. Newer models do not have buttons, since clicks are made by pressing on the work surface. Although in spite of having better significant ones with respect to a touchpad, in the background the Trackpad still has the same electrical and ergonomic problems
  • a final group of pointing devices that has been developed as an alternative to classic devices are touch screens. They are manufactured using a wide variety of technologies; the most important are resistive, capacitive, SAW (Surface acoustic wave) and FTIR (Frustrated Total Infernal Reflection) technology.
  • SAW Surface acoustic wave
  • FTIR Finrustrated Total Infernal Reflection
  • the state of the art offers a multitude of options when it comes to having pointing devices for computer equipment, but, in general, none of the existing solutions is capable of simultaneously offering simple and intuitive operation like that of the conventional mouse, a comfortable and flexible use of gestures such as that of the Touchpad, and a physical configuration that minimizes, or completely eliminates, the ergonomics problems derived from the continued use and the execution of repetitive actions, which end up causing discomfort or even injury to the user.
  • the present invention serves to solve the aforementioned problem by providing an optical navigation method for a pointing device on a monitor of a computer system.
  • the method comprises the steps of:
  • the displacement information detected by the optical sensors is not equal to that of any preset gesture, move a cursor on the computer system monitor according to the displacement information detected on the optical sensors.
  • optical sensors arranged in line on a computer keyboard are used, in which the data collected by the lateral optical sensors activate different functionalities and gestures.
  • the invention may comprise detecting a click event by processing a tracking signal, such as the squal signal, and the displacement signals on a vertical axis and a horizontal axis, so that a click is detected when a variation in the tracking signal along with a certain time interval coincides with the absence of displacement data detected by the optical sensors in the vertical and horizontal axis.
  • a tracking signal such as the squal signal
  • the displacement signals on a vertical axis and a horizontal axis
  • Preset gestures may comprise scroll information that emulates the wheel spin of a computer mouse; scrolling information that emulates the well-known event of dragging a selection, usually performed using a computer mouse; scrolling information produced by the event of launching an application; offset information produced by the event of opening a file; offset information that produces the event of minimizing all open applications.
  • preset gestures that can be configured by the user associating any event with a sequence of gestures to be performed on the optical sensors.
  • Another aspect of the invention relates to an optical navigation system suitable for aiming and activating functions in a computer equipment.
  • the system comprises: a plurality of optical sensors that detect the displacement information of a user acting on them and provide them to a microcontroller;
  • a microcontroller that establishes communications between the plurality of optical sensors and a processing module to which it delivers the travel information detected by the plurality of optical sensors;
  • a processing module that:
  • a final aspect of the invention relates to a computer program comprising program code means adapted to perform the processing steps when said program is executed in a general purpose processor, a digital signal processor, an FPGA, an ASIC, a microprocessor, a microcontroller, or any other form of programmable hardware.
  • Figure 1 illustrates the system consisting of a sensor, lens and LED representing the state of the art.
  • Figure 2 represents an embodiment of the invention on a computer keyboard.
  • Figure 3 represents a flow chart of the smoothing algorithm used in an embodiment of the invention.
  • Figure 4 depicts a flow chart of the acceleration algorithm used in an embodiment of the invention.
  • An LED diode 1 illuminates the surface beneath an optical sensor 2, detecting microscopic irregularities; its arrangement can be seen in figure 1.
  • a prismatic lens 3 placed at the bottom of the sensor is responsible for concentrating in the sensor chamber the light reflected on the surface under the mouse. 3.
  • the sensor camera takes pictures of the illuminated surface at regular intervals, and delivers this data to a digital signal processor called DSP (Digital Signal Processor).
  • DSP Digital Signal Processor
  • the DSP obtains the values of the movements produced by detecting the displacement of said microscopic irregularities, and stores them in internal mouse registers.
  • an embodiment of the invention comprises a plurality of optical sensors similar to those used in optical mice, and which are integrated into a system where the light of one or more LEDs, guided by one or more prisms, provides the necessary lighting at a certain height above the sensors; This height corresponds to the focal length of the lens, or lens system, which concentrates in the sensor the light reflected from the object to be followed, and can be adjusted by changing said lens.
  • the invention offers a sliding surface located exactly at a height above the sensor equal to the focal length of its lens system; The surface has an opening on each sensor, which allows the passage of both the incident light on the finger or object and the light reflected by them.
  • a transparent sheet eg acetate
  • This sheet preserves the optical properties of the system, while ensuring that the finger or object slipped by the user is always kept at the correct distance from the sensor, and protects the lens or lens system from external contamination.
  • Obtain ID a data frame is sent via the RS-232 serial bus to the microcontroller; Upon receiving this message, the microcontroller will return a message with an identification of each sensor. This command is used to verify that the connection has been made correctly, as well as to ensure that the sensors continue to function correctly. The system uses this command for two different purposes:
  • microcontroller firmware data the firmware version of the microcontroller is checked. For this, the PC sends a command to the microcontroller requesting this information; If no errors occur, the microcontroller will reply to the PC with a data frame that will contain the version of the code loaded in the Microchip, along with the number of sensors for which it is programmed.
  • the invention in its different embodiments, may choose different configurations in the placement of the sensors.
  • One of them would be in the form of a triangle, placing a vertex in the lower part, where a sensor is placed mainly to record the displacements, while the other two vertices aligned in the upper part house another 2 sensors that do functions similar to the buttons of a conventional mouse.
  • Another embodiment chooses to place a sensor on the left, mainly intended to pick up the movements of the finger on it, and two other sensors located on its right but following an upward curve, so that they are accessible to the other fingers and perform functions similar to the buttons of a conventional mouse.
  • the preferred embodiment of the invention comprises three fully aligned sensors, in which the central sensor is the one chosen to perform the displacements and the lateral ones for the accessory functions, similar to a conventional computer mouse.
  • the preferred location of the invention places the 3 sensors on a computer keyboard just above the cursor arrows, as illustrated in Figure 2, but the invention can also be arranged on any other surface of the computer or electronic device, such as For example, on the edge of an e-book reader or tablet, which offers an adequate position and distance between the sensors, or can even be placed on a device external to the computer, connected to it by a serial bus such as USB .
  • the system enters the normal mode of operation, in which a set of stages is cyclically repeated as can be seen below:
  • the PC sends a command to the microcontroller that allows it to obtain displacement information, which includes the deltas values (accumulated displacement value since the last iteration), motion (indicator of whether or not any movement has been detected in the present iteration) and squal (assessment of the detection quality during the present iteration) of each of the sensors in the system.
  • the microcontroller is responsible for carrying out the necessary reading operations through the sensor serial buses, and returns a single frame to the PC, which groups all the sensor data.
  • a processing stage begins in the so-called processing module, and in which different algorithms are used to compare the displacement information obtained by the optical sensors with the displacement information of pre-established gestures, which They are associated with the execution of one or more events.
  • the processing module identifies any gesture Preset enters a stage in which it interacts with the operating system of the computer equipment to produce the mouse or keyboard events associated with said preset gestures.
  • the event that occurs is the movement of the pointer on the screen in response to the movements of the user's fingers on the optical sensors.
  • the raw values obtained by the optical sensors are transformed into information on the movements made by the user, which is subsequently stored so that it can be available later.
  • This stage is also responsible for identifying the appearance of gestures from the raw data of the sensors, using for this purpose stored information on the conformation of the gestures (what activation of which sensors triggers which gesture, and what command it has associated).
  • the processing module transforms the data of each sensor into a direction of movement indicator for said sensor (NONE, LEFT, RIGHT, UP, DOWN, TAP, the latter corresponding to a complete click, with raising and lowering of the finger).
  • the displacement information that is used to define a gesture is therefore composed of an ordered time sequence of this type of indicators.
  • the programming of a defined gesture such as running your finger through the three sensors, from left to right, is recorded as the time sequence of indicators (with certain tolerance margins in the timing between indicator and indicator):
  • the processing at this stage compares the latest data obtained from the sensors with the previous contents, to identify the beginning and end of a movement of a finger or object on any of the sensors. Each time the completion of one of these movements is detected, it is checked whether the sequence of the last sensor activations corresponds to that programmed for any gesture; If so, the command to be issued is determined, and it sends the corresponding request to the next stage, discussed above, of interaction with the operating system.
  • the order is sent to move the mouse cursor on the screen to the stage of interaction with the operating system.
  • the invention may comprise a smoothing algorithm with which to solve a problem This may occur because the readings offered by a user's finger movement sensors on them may not be uniform and introduce spurious values.
  • the actual offset values of a current and previous iteration are taken as input to produce uniform and constant final values.
  • Figure 3 illustrates this process. It begins by comparing the displacement in the current iteration with the displacement in the previous iteration 31, for this it is checked if they have the same sense 32, in the case that it is not so it is concluded that the smoothed displacement is the same as the current displacement 33 and the process is over.
  • the displacements do not have the same direction, it is checked whether the magnitude of the previous displacement is greater than the magnitude of the current displacement 34, if not, it is concluded that the smoothed displacement is the same as the current displacement 33 and the process. In the event that the magnitude of the preceding displacement is greater than the magnitude of the current displacement, it is checked if the magnitude of the current displacement is greater than a certain number that acts as threshold 35, if not, it is concluded that the smoothed displacement is the same as the current offset 33 and the process is terminated.
  • a correction is calculated that is half of the difference between the magnitudes of the current displacement and the previous 36, then the current displacement value is modified by a magnitude equal to the calculated correction 37 and subsequently it is checked if the correction has changed the direction of the offset 38. If the direction has changed, it is concluded that the smoothed offset is equal to zero 40, however, if the correction has not changed the direction of the displacement, said correction 39 is applied to the current displacement and the process is terminated.
  • An acceleration algorithm can also be included to solve the problem derived from the difference in resolution between the sensor and a typical computer screen. If the movement of the fingers on the sensors is translated directly to the screen, several passes are necessary to move the pointer from one side of the screen to the other. Therefore, an algorithm that multiplies the amplitude of the movement gradually is used in one embodiment of the invention. This means that for small displacements, which require greater precision, no acceleration is applied and instead, as the displacement is greater, the pointer displacement is greatly amplified, the more the greater the displacement. Figure 4 illustrates this process.
  • the preferred embodiment of the invention uses an acceleration function defined by sections, which fits approximately a polynomial function, which gives the best result the higher its degree.
  • the user has the possibility to modify the definition of sections to implement any function, and thus adjust the acceleration behavior to the one that is most comfortable and practical.
  • the acceleration algorithm consists of a list of acceleration-threshold pairs, and for each offset value obtained from the sensor, the smallest threshold that is greater than or equal to that offset is used.
  • the result of the algorithm returns the input value multiplied by the acceleration value linked to that threshold found as we see in Figure 4.
  • the first is to obtain the current displacement 41, then a first threshold 42 is set and then enters a loop in which the current displacement is compared with a threshold 43 that changes to a greater threshold 46 as long as the current displacement is greater than said threshold and as long as a maximum threshold is not exceeded 45.
  • the loop is exited and it is concluded that the final displacement is equal to the current displacement multiplied by the acceleration associated with threshold 44 and the process is terminated.
  • the invention may also include global acceleration parameters, which affect all displacements equally.
  • This acceleration adjusts the relative movement of the cursor on the screen to its resolution, so that increasing the resolution of the desktop (for example, switching to 1280x1024 from 1024 x 768) does not translate into the need to swipe your finger over the navigation sensor when we move the cursor from side to side of the screen.
  • these two values can be changed dynamically by the user.
  • the invention may also comprise an algorithm for detecting the pulsations made on any of the sensors.
  • This algorithm analyzes the values of the squal and motion signals that are delivered by the sensor, looking for the appearance of characteristic patterns that identify the presence of a pulse, and are described below.
  • the squal signal is a signal generated by the optical sensor that delivers, in real time, an assessment of the quality of the tracking that the sensor is making of a possible surface located in its visual field, and consists, for each image captured, in the number of microscopic irregularities that are visible to the sensor in said image.
  • a high squal value indicates the detection of many irregularities, which implies a good quality in the detection of surface displacement, while a low squal value indicates that few irregularities are detected, and the monitoring will be poor; in the most extreme case squal is 0, indicating that the sensor does not detect any surface, which usually occurs when there is no surface on the sensor, or there is but is very removed from it, at a distance much greater than the focal length of the lens or lens system.
  • the motion signal is a signal generated by the sensor to indicate if it has detected displacements ⁇ and / or Ay on the surface since the last time they were read on the sensor, through its serial communications bus, the values of these displacements; a value of 0 in this signal indicates that no movement has been detected since the last reading.
  • the present invention additionally proposes a pulse detection algorithm that takes into account the following properties, determined by the analysis of traces of actual use of squal and motion signals:
  • the readings of the sensor data during a pulse deliver only a few iterations in which the motion value is non-zero, while during a movement the number of iterations with non-zero motion is much greater, even when squal has value changes of a magnitude comparable to those of a pulsation.
  • the pulse detection algorithm used in an embodiment of the invention uses the following rules:
  • a pulse is delimited by an activation movement (lowering of the finger on the sensor), followed after a certain time not exceeding a certain limit by a deactivation movement (raising of the finger), delimited respectively by a certain increase and a certain decrease of the squal signal.
  • the algorithm averages its values in a certain number of iterations, for example the last 25 iterations, and verifies that the change in squal has occurred in a short time interval (maximum three iterations), and that there has been no systematic activation of motion during a certain number of iterations before and after that change in squal; Only if both conditions are met, the algorithm considers the change in squal as a pulse.
  • the pulse detection algorithm, the click detection algorithm and the acceleration algorithm are executed simultaneously.
  • the mouse events that are handled comprise the horizontal movement of the mouse cursor; vertical scrolling of the mouse cursor; the amount of movement, also called scroll, of the mouse wheel; flags indicating a mouse status such as "left button pressed"; Event time frames and additional information that will often not be used but reserves a field for it.
  • another embodiment of the invention uses the standardized mechanisms offered by the operating system for the generation of keyboard events, and also comprises: the codes corresponding to the keyboard events associated with each gesture that use them; time frames between consecutive presses and for the complete sequence; and additional information about the event, which will often not be used but for which a field is reserved.
  • the execution of all these events depends directly on the association established with the gestures preset in the invention, which can also be configured by the user.
  • the movements of pointer movements are simpler since they only require the movement of the user's fingers on the sensors to move the cursor on the screen.
  • the invention offers in one of its embodiments a large number of possibilities thanks to the detection of gestures and the multiple combinations that result from the use of 3 sensors.
  • gestures can help to accelerate frequent operations, and they are extremely useful when they are easy to remember. This is achieved with the use of intuitive gestures, and with a limited number of gestures, since a too large amount overwhelms the user. In this way, a very short learning time is needed and their use is facilitated repeatedly.
  • the operation of gesture detection is as follows: periodically new data from the sensors arrive at the processing module; if in an iteration movements appear in a certain sensor after a sufficiently long period of inactivity, it is considered that a new sensor activation has begun. In successive iterations the system continues to process the sensor data normally until, during a certain number of iterations, no movements are detected.
  • the movement must not trigger any action, either because it does not correspond to any gesture or because it is part of a gesture that involves several sensors, and the others have not yet been activated.
  • two modes of operation can be distinguished: a "normal mode” and a “gesture mode".
  • a "normal” mode the central sensor is used to move the cursor and make clicks that emulate the click on the left mouse button, while in the "gestures” mode the three sensors are used to perform gestures exclusively.
  • the processing module has predetermined a series of gesture associations (sensor activations) to frequently used commands, which gives the user the possibility to start using the system from the first moment, without having than program it but without restricting its ability to subsequently alter, or completely eliminate, these assignments.
  • the assignments used in the preferred embodiment of the invention can be seen in the following tables where on the one hand the movement to be performed on each sensor is indicated and on the other hand the command to which it would be equivalent (the user can modify it to his liking to configure it in a way different).
  • an embodiment of the invention apart from using a predetermined set of associations of gestures to commands, provides the user freedom to be able to program gestures definitions (that is, sensor activation sequences) and assignments of these gestures to commands at your leisure and convenience.
  • gestures definitions that is, sensor activation sequences
  • Gesture customization allows you to associate an arbitrary path (temporary sequence of sensor activations) with a command, which can be composed of an arbitrary number of events (operating system actions such as a mouse button click or a mouse click). key), actions (set of events that occur at the same time, such as pressing the "control" key and the "c” key simultaneously) or groups of actions (commands that are executed in order);
  • the sequence for this is:
  • the application also allows you to define commands that consist of launching an application and / or opening a file.
  • the rest of the assignment process includes the steps of selecting a command (group of actions) and selecting a sequence of sensor activations.
  • the sensors must be activated in the desired order;
  • the gesture may involve a sensor, or several.
  • the user will be asked to repeat the activation sequence a total of three times; This is done to be sure that the input data has been read correctly, as well as to allow the user to correct a movement in case it was wrong; what is achieved through a voting procedure, so that it is enough that the movements have been carried out identically twice for the gesture to be approved.
  • the invention includes a graphical user interface (GUI), which is an application that the end user uses to control the start-up or shutdown of the complete system, configure it, or to obtain and graphically represent information about its operation and sensor data.
  • GUI graphical user interface
  • the configuration may comprise the number of sensors in the system, the acceleration parameters of the sensors, the values of the horizontal and vertical scales and the serial port through which communications with the microcontroller will be established.
  • the invention can incorporate in one of its embodiments, by way of improvement, a strip with a slight roughness around the opening of the sensors, in the flat acetate surface on which the finger slides, which serves to that, when passing over the fingertip, the user has a tactile feedback of the position of the finger with Regarding the sensor window. This allows, without looking, to know if the finger is properly placed on top of the sensor, or even to locate the central sensor and differentiate it from the side sensors without having to take your eyes off the screen.
  • a final aspect of the invention in one of its embodiments is the possibility of being adapted for different disabilities with the need only to make minor modifications to the preferred embodiment.
  • the combination of the use of optical sensors and their arrangement in a number and configuration specifically oriented to the spatio-temporal correlation of their data allows the design of valid input devices for people with disabilities of such nature that makes it impossible for anyone to use of the other existing devices in the market. For example:
  • This disability can occur, for example, in the case of a person who, as a result of prolonged exposure to severe cold, has suffered severe freezing of the extremities to have had to have his fingers amputated of both hands, remaining only with the hands and stumps of the fingers; Other examples of accidents that can lead to this disability would be a work accident in which a machine has crushed the fingers of both hands to its operator, or the loss of the usual fingers in the explosives manipulators who have been surprised by the outbreak of a load.
  • mice or touchpads even optical
  • the present invention in one of its embodiments comprises an input device with full and wide functionality.
  • the invention uses a configuration of three sensors arranged in line, and the spatio-temporal correlation of the data from the three sensors; however, the specific distance that each pair of sensors must separate is not fixed, but depends solely on how the spatial sequence of sensor activation is interpreted and the time that elapses between these activations.
  • the invention can be scaled in size so that it can be used with a fingerless hand exactly the same as it would be used with a single finger; the only difference would be that the distances to be moved by the hand will be, logically, greater than those to be moved by the finger.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)

Abstract

The invention relates to an optical navigation method and system for a pointing device on a monitor of a computer system, and includes: detecting by means of a plurality of optical sensors movement information generated by a user on said plurality of optical sensors; in a processing module, comparing the movement information obtained by the optical sensors with movement information of a series of predefined gestures, which are associated with the execution of one or more events; if the movement information detected by the optical sensors is equal to the movement information of any predefined gesture, executing the event, or events, associated with said predefined gesture; if the movement information detected by the optical sensors is different from that of any predefined gesture, moving a cursor on the monitor of the computer system in accordance with the movement information detected on the optical sensors.

Description

MÉTODO Y SISTEMA DE NAVEGACIÓN ÓPTICO PARA UN DISPOSITIVO APUNTADOR APROPIADO PARA EQUIPOS INFORMÁTICOS  METHOD AND SYSTEM OF OPTICAL NAVIGATION FOR AN APPROPRIATE POINTING DEVICE FOR COMPUTER EQUIPMENT
CAMPO TÉCNICO DE LA INVENCIÓN TECHNICAL FIELD OF THE INVENTION
La presente invención se refiere, en general, al campo de los métodos de navegación y más específicamente a los métodos de navegación ópticos para dispositivos apuntadores en equipos informáticos. The present invention relates, in general, to the field of navigation methods and more specifically to optical navigation methods for pointing devices in computer equipment.
ANTECEDENTES DE LA INVENCIÓN BACKGROUND OF THE INVENTION
En general se llama dispositivos señalizadores a aquellos dispositivos que nos permiten traducir movimientos de nuestro cuerpo en entradas de control de un computador. Este tipo de dispositivos existe desde hace más de 60 años, siendo el "ratón" uno de los primeros, y seguramente el más conocido actualmente. El primer modelo de ratón de ordenador fue inventado por Doug Engelbart en el año 1963, y patentado en el año 1970. In general, it is called signaling devices to those devices that allow us to translate movements of our body into control inputs of a computer. This type of device exists for more than 60 years, the "mouse" being one of the first, and surely the best known today. The first computer mouse model was invented by Doug Engelbart in 1963, and patented in 1970.
Pese a que era mucho más cómodo de usar que las alternativas, el uso del ratón no se generalizó hasta los años 80. Hasta entonces no había habido una gran necesidad de dispositivos apuntadores, pero eso cambió cuando se empezó a popularizar el uso de interfaces gráficas de usuario (GUI), sustituyendo a la terminal de línea de comando que hasta entonces había predominado. En particular, hasta entonces todos los procesadores de texto utilizaban el teclado, y no tenían necesidad de un dispositivo señalizador.  Although it was much more convenient to use than the alternatives, the use of the mouse was not widespread until the 1980s. Until then there had been no great need for pointing devices, but that changed when the use of graphic interfaces began to popularize of user (GUI), replacing the command line terminal that until then had predominated. In particular, until then all word processors used the keyboard, and had no need for a pointing device.
Fue muy prometedor desde sus principios, y se ha fabricado usando diversos tipos de tecnología - mecánicos, ópticos, láser, etc. Pese a su edad, y pese a los grandes avances tecnológicos de las últimas décadas, no se ha encontrado todavía un dispositivo de entrada alternativo que combine de igual forma fiabilidad, comodidad de uso, practicidad y que además resulte ergonómico.  It was very promising since its inception, and has been manufactured using various types of technology - mechanical, optical, laser, etc. Despite its age, and despite the great technological advances of the last decades, an alternative input device has not yet been found that combines in the same way reliability, comfort of use, practicality and that is also ergonomic.
El uso de dispositivos señalizadores puede ocupar más de dos tercios del tiempo que estemos delante de un computador, siendo el ratón el que predomina en uso entre todos ellos. Debido a que el ratón se suele posicionar a un lado del teclado, obliga a los músculos del cuello y del brazo del usuario a estar en una posición antinatural. Esto, en conjunto con las acciones repetitivas que suele conllevar el uso del ratón, aumenta el estrés sobre estas partes del cuerpo humano, resultando en posibles apariciones de dolencias músculo-esqueléticas por actividades repetitivas, como el síndrome del túnel carpal.  The use of signaling devices can take more than two thirds of the time we are in front of a computer, with the mouse being the predominant one in use among all of them. Because the mouse is usually positioned on the side of the keyboard, it forces the user's neck and arm muscles to be in an unnatural position. This, together with the repetitive actions that the use of the mouse usually entails, increases stress on these parts of the human body, resulting in possible occurrences of musculoskeletal ailments due to repetitive activities, such as carpal tunnel syndrome.
El uso de dispositivos como el "trackball" no elimina este problema, sino que sólo cambia la articulación afectada. Un Trackball mueve el puntero sin la necesidad de tener que mover el dispositivo gracias a que dispone de una esfera en su parte superior, que por norma general se mueve con el dedo pulgar, y estos movimientos se traducen en desplazamientos del cursor. Gracias a ello disminuye considerablemente el espacio necesario para controlar el dispositivo. Sin embargo, el trackball no es inmune a los problemas de lesiones por acción repetitiva, porque traslada los problemas de ergonomía del antebrazo y las manos a la articulación del dedo pulgar. The use of devices such as "trackball" does not eliminate this problem, but only Change the affected joint. A Trackball moves the pointer without the need to move the device because it has a sphere at the top, which usually moves with the thumb, and these movements translate into cursor movements. Thanks to this, the space needed to control the device decreases considerably. However, trackball is not immune to the problems of repetitive action injuries, because it translates the ergonomics problems of the forearm and hands to the thumb joint.
Además del conocido ratón mecánico tradicional, existen alternativas como los ratones ópticos cuyo funcionamiento se basa en incorporar un LED que ilumina la superficie que está por debajo, y tienen una pequeña cámara que saca fotos de ésta a intervalos regulares. Al comparar imágenes consecutivas, un sensor puede calcular los desplazamientos realizados, que serán traducidos a desplazamientos del cursor. El ratón óptico sigue teniendo los mismos problemas de ergonomía que el ratón convencional, además de presentar dificultades para trabajar sobre superficies con mucho brillo, o sobre superficies muy lisas y poco comunes, como los espejos; los ratones láser solucionan los problemas de operación sobre superficies difíciles usando un diodo láser y detección de cambios de fase en la luz reflejada para seguir el movimiento; sin embargo, su operación por un usuario humano es idéntica a la de un ratón óptico, por lo que no incorpora mejora ninguna en el campo en el campo de la ergonomía. También existen ratones 3D, dispositivos que no sólo detectan movimientos en el plano horizontal, sino que también los detectan en el plano vertical; un dispositivo señalizador de este tipo es el mando de la consola Wii . Este mando puede calcular su posición utilizando una cámara de infrarrojos integrada en el dispositivo, que mide los desplazamientos que observa con respecto a una emisora de luz infrarroja, que está posicionada cerca del monitor o la televisión. Su uso prolongado sigue pudiendo producir dolores musculares, ya que no suelen permitir el tener brazos o manos en reposo, provocando cansancio y estrés muscular.  In addition to the well-known traditional mechanical mouse, there are alternatives such as optical mice whose operation is based on incorporating an LED that illuminates the surface below, and they have a small camera that takes pictures of it at regular intervals. When comparing consecutive images, a sensor can calculate the displacements made, which will be translated into cursor displacements. The optical mouse still has the same ergonomic problems as the conventional mouse, in addition to presenting difficulties to work on surfaces with high brightness, or on very smooth and uncommon surfaces, such as mirrors; the laser mice solve the problems of operation on difficult surfaces using a laser diode and detection of phase changes in the reflected light to follow the movement; however, its operation by a human user is identical to that of an optical mouse, so it does not incorporate any improvement in the field in the field of ergonomics. There are also 3D mice, devices that not only detect movements in the horizontal plane, but also detect them in the vertical plane; Such a signaling device is the Wii console controller. This control can calculate its position using an infrared camera integrated in the device, which measures the displacements that it observes with respect to an infrared light emitter, which is positioned near the monitor or television. Its prolonged use can still cause muscle aches, since they do not usually allow having arms or hands at rest, causing fatigue and muscular stress.
En los últimos años han aparecido otros dispositivos de entrada que tienen una interfaz basada en gestos. Esta interfaz intenta convertir acciones que producimos de forma (casi) natural en señales de entrada, dando una operación mucho más intuitiva. Su éxito también se debe a que evitan tener que sujetar un cuerpo voluminoso en la mano. Ejemplos de estos dispositivos son el mando de la consola Wii, los ¡Pad y el Kinect de la Xbox.  In recent years other input devices have appeared that have a gesture-based interface. This interface tries to convert actions that we produce (almost) naturally into input signals, giving a much more intuitive operation. Their success is also because they avoid having to hold a bulky body in their hands. Examples of these devices are the Wii console controller, the ¡Pad and the Xbox Kinect.
Sin embargo, a pesar de tener una interfaz más intuitiva, estos aparatos consumen muchos recursos del sistema, especialmente en el caso de los interfaces sin contacto físico basados en procesamiento de imagen. En estos sistemas una o más cámaras capturan imágenes que luego son procesadas para identificar los gestos realizados y convertirlos en señales de entrada para el sistema operativo. En general, los problemas que plantean estos tipos de dispositivos de entrada son tres: requieren un hardware relativamente costoso (cámaras, telémetros por ultrasonidos o infrarrojos, etc.). However, despite having a more intuitive interface, these devices consume many system resources, especially in the case of physical contactless interfaces based on image processing. In these systems one or more cameras capture images that are then processed to identify the gestures made and convert them into input signals for the operating system. In general, the problems posed by these types of input devices are three: they require relatively expensive hardware (cameras, ultrasonic or infrared rangefinders, etc.).
si hacen el procesamiento de las imágenes usando la CPU del ordenador pueden tener un impacto negativo en el rendimiento del mismo, porque este procesamiento suele requerir una considerable potencia de cálculo. Si se quiere evitar este problema, es necesario incorporar un procesador propio al sistema sensor (como en el caso de la Kinect), lo que contribuye a encarecerlo aún más.  If they process the images using the computer's CPU, they can have a negative impact on the performance of the computer, because this processing usually requires considerable computing power. If you want to avoid this problem, it is necessary to incorporate your own processor into the sensor system (as in the case of the Kinect), which helps to make it even more expensive.
- en general, el rendimiento de estos sistemas sólo es adecuado para aplicaciones como los videojuegos, en las que las condiciones de trabajo y distancias al sensor están estrictamente determinadas, y en las que el vocabulario de posibles gestos es limitado. Sin embargo, en sistemas de propósito general aparecen problemas de resolución de la cámara y de iluminación, y este tipo de tecnología no siempre es capaz de discriminar correctamente una mano o brazo del entorno que lo rodea, apareciendo a veces la necesidad de artificios de ayuda a la segmentación de la imagen (como, por ejemplo, el uso de guantes blancos).  - in general, the performance of these systems is only suitable for applications such as video games, in which the working conditions and distances to the sensor are strictly determined, and in which the vocabulary of possible gestures is limited. However, in general-purpose systems, camera resolution and lighting problems appear, and this type of technology is not always able to correctly discriminate a hand or arm from the surrounding environment, sometimes the need for assistive devices appears. to the segmentation of the image (such as the use of white gloves).
Otro ejemplo de interfaces guiados por gestos son los Touchpads y pantallas táctiles multitoque, que han ganado especial aceptación con su uso en dispositivos como el iPad o el iPhone. Sin embargo, en los sistemas con sensores capacitivos (como el Touchpad) pueden aparecer problemas electrónicos incluso por la mera presencia (o ausencia) de grasa en la piel del usuario, mientras las pantallas táctiles adolecen de falta de precisión. Además, en el caso de los Touchpads, su integración en un portátil o notebook suele consumir una considerable superficie, que podría ahorrarse (o dedicarse a agrandar el teclado) de no ser necesaria la presencia del dispositivo señalizador. El funcionamiento de un Touchpad se basa en la traducción de variaciones capacitivas en un dieléctrico en movimientos del cursor y pulsaciones (tap) virtuales. Los Touchpads suelen estar integrados en los ordenadores portátiles y se usan también en algunos sobremesas cuando se dispone de poco espacio de trabajo. Para usarlos, basta con mover uno o varios dedos sobre la superficie de control; el movimiento producido con los dedos se traducirá a desplazamientos del cursor. Algunos tienen una franja de control en uno de los laterales, que se puede usar para simular la rueda del ratón; un movimiento hacia arriba o hacia abajo se corresponde con girar la rueda del ratón en ese mismo sentido. Another example of gesture-guided interfaces are Touchpads and multi-touch touch screens, which have gained special acceptance with their use on devices such as the iPad or iPhone. However, in systems with capacitive sensors (such as the Touchpad) electronic problems may appear even by the mere presence (or absence) of grease on the user's skin, while the touch screens suffer from lack of precision. In addition, in the case of Touchpads, their integration into a laptop or notebook usually consumes a considerable area, which could be saved (or enlarged by the keyboard) if the presence of the signaling device is not necessary. The operation of a Touchpad is based on the translation of capacitive variations in a dielectric in cursor movements and virtual (tap) keystrokes. Touchpads are usually integrated in laptops and are also used in some desktops when there is little work space. To use them, simply move one or more fingers on the control surface; the movement produced with the fingers will translate to cursor displacements. Some have a control strip on one of the sides, which can be used to simulate the mouse wheel; an up or down movement corresponds to turning the mouse wheel in the same direction.
Los touchpads no siempre producen movimientos fluidos, y con frecuencia son necesarios múltiples movimientos laterales consecutivos del dedo para desplazar el cursor de un lado del monitor hacia otro, razón por la cual es frecuente que los usuarios acaben recurriendo a conectar un ratón USB externo. Los problemas de sensibilidad del Touchpad se pueden notar más cuando se maneja con dedos parcialmente o completamente húmedos, como ocurre justo después de haberse lavado las manos. Adicionalmente, debido a la tecnología en la que está basado, no es posible usar un Touchpad con otra cosa que no sean los dedos desnudos. Touchpads do not always produce fluid movements, and multiple consecutive lateral finger movements are often necessary to move the cursor from one side of the monitor to the other, which is why users often end up using an external USB mouse. The sensitivity problems of the Touchpad may be more noticeable when handled with partially or completely damp fingers, as occurs just after washing your hands. Additionally, due to the technology on which it is based, it is not possible to use a Touchpad with anything other than bare fingers.
Los Touchpad capacitivos permiten la detección de pulsaciones simultaneas con múltiples dedos, característica llamada "multitoque" ("multitouch"). El uso de sensores multitoque para señalizar comandos al ordenador mediante gestos complejos ha ganado recientemente gran popularidad gracias, fundamentalmente, al uso de esta tecnología por Apple para sus portátiles e iPads.  The capacitive touchpad allows the detection of simultaneous keystrokes with multiple fingers, a feature called "multitouch" ("multitouch"). The use of multitouch sensors to signal commands to the computer through complex gestures has recently gained great popularity thanks, fundamentally, to the use of this technology by Apple for its laptops and iPads.
En particular, Apple ha comercializado un dispositivo llamado "Trackpad", que es un dispositivo muy parecido al touchpad, pero multitoque y orientado al uso con gestos. Los modelos más nuevos no tienen botones, ya que los clicks se realizan haciendo pulsaciones sobre la superficie de trabajo. Aunque a pesar de disponer de mejores significativas con respecto a un touchpad, en el fondo el Trackpad sigue teniendo los mismos problemas eléctricos y de ergonomía  In particular, Apple has commercialized a device called "Trackpad", which is a device very similar to the touchpad, but multi-touch and oriented to use with gestures. Newer models do not have buttons, since clicks are made by pressing on the work surface. Although in spite of having better significant ones with respect to a touchpad, in the background the Trackpad still has the same electrical and ergonomic problems
Un último grupo de dispositivos apuntadores que se viene desarrollando como alternativa a los dispositivos clásicos son las pantallas táctiles. Se fabrican utilizando una gran variedad de tecnologías; las más importantes son resistivas, capacitivas, de tecnología SAW (Surface acoustic wave) y tecnología FTIR (Frustrated Total Infernal Reflection).  A final group of pointing devices that has been developed as an alternative to classic devices are touch screens. They are manufactured using a wide variety of technologies; the most important are resistive, capacitive, SAW (Surface acoustic wave) and FTIR (Frustrated Total Infernal Reflection) technology.
Presentan importantes ventajas como que no hacen necesario el cambiar el cursor de un lado de la pantalla a otro, ya que podemos acceder directamente a la posición deseada al tocarla con un dedo. No se requieren periféricos adicionales para desplazar el cursor. Mejoran las propiedades de ergonomía de la mayoría de las alternativas, y poseen interfaces muy intuitivas. Pero, a pesar de la facilidad de uso, estos dispositivos tienen una serie de desventajas, que han impedido que se hayan popularizado tanto como el ratón convencional:  They have important advantages as they do not need to change the cursor from one side of the screen to another, since we can directly access the desired position by touching it with a finger. No additional peripherals are required to move the cursor. They improve the ergonomic properties of most alternatives, and have very intuitive interfaces. But, despite the ease of use, these devices have a number of disadvantages, which have prevented them from becoming popular as much as the conventional mouse:
• En algunas aplicaciones donde se haga un abundante uso de los dispositivos señalizadores, como por ejemplo los videojuegos, estos dispositivos resultan frecuentemente demasiado lentos y poco prácticos ya que le impide al usuario ver todos los elementos de la pantalla. • In some applications where there is an abundant use of signaling devices, such as videogames, these devices are often too slow and impractical since it prevents the user from seeing all the screen elements.
• Suelen ser bastante costosos. • Debido a que el dispositivo señalizador es el propio monitor, si se avería cualquiera de las dos funcionalidades el coste para reemplazarlos es bastante elevado. • They are usually quite expensive. • Because the signaling device is the monitor itself, if either of the two functionalities is damaged, the cost to replace them is quite high.
En resumen, el estado de la técnica ofrece multitud de opciones a la hora de disponer de dispositivos apuntadores para equipos informáticos, pero, en general, ninguna de las soluciones existentes es capaz de ofrecer simultáneamente un manejo sencillo e intuitivo como el del ratón convencional, un uso cómodo y flexible de gestos como el del Touchpad, y una configuración física que minimice, o elimine totalmente, los problemas de ergonomía derivados del uso continuado y la ejecución de acciones repetitivas, que acaban ocasionando molestias o incluso lesiones para el usuario. In summary, the state of the art offers a multitude of options when it comes to having pointing devices for computer equipment, but, in general, none of the existing solutions is capable of simultaneously offering simple and intuitive operation like that of the conventional mouse, a comfortable and flexible use of gestures such as that of the Touchpad, and a physical configuration that minimizes, or completely eliminates, the ergonomics problems derived from the continued use and the execution of repetitive actions, which end up causing discomfort or even injury to the user.
SUMARIO DE LA INVENCIÓN SUMMARY OF THE INVENTION
La presente invención sirve para resolver el problema anteriormente mencionado proporcionando un método de navegación óptico para un dispositivo apuntador en un monitor de un sistema informático. El método comprende los pasos de: The present invention serves to solve the aforementioned problem by providing an optical navigation method for a pointing device on a monitor of a computer system. The method comprises the steps of:
- detectar por medio de al menos 2 sensores ópticos una información de desplazamiento generada por un usuario sobre dichos sensores ópticos; comparar la información de desplazamiento obtenida por los sensores ópticos con información de desplazamiento de unos gestos preestablecidos, que llevan asociados la ejecución de uno o varios eventos; - detecting by means of at least 2 optical sensors a travel information generated by a user on said optical sensors; comparing the displacement information obtained by the optical sensors with displacement information of a predetermined gestures, which are associated with the execution of one or more events;
si la información de desplazamiento detectada por los sensores ópticos es igual a la información de desplazamiento de algún gesto preestablecido, ejecutar el evento, o eventos, asociado a dicho gesto preestablecido;  if the displacement information detected by the optical sensors is equal to the displacement information of any preset gesture, execute the event, or events, associated with said preset gesture;
si la información de desplazamiento detectada por los sensores ópticos no es igual a la de ningún gesto preestablecido desplazar un cursor en el monitor del sistema informático de acuerdo a la información de desplazamiento detectada sobre los sensores ópticos.  If the displacement information detected by the optical sensors is not equal to that of any preset gesture, move a cursor on the computer system monitor according to the displacement information detected on the optical sensors.
En la realización preferente de la invención se utilizan 3 sensores ópticos dispuestos en línea sobre un teclado de ordenador, en la que los datos recogidos por los sensores ópticos laterales activan distintas funcionalidades y gestos. In the preferred embodiment of the invention 3 optical sensors arranged in line on a computer keyboard are used, in which the data collected by the lateral optical sensors activate different functionalities and gestures.
Adicionalmente la invención puede comprender detectar un evento de click procesando una señal de seguimiento, como por ejemplo la señal squal, y las señales de desplazamiento en un eje vertical y un eje horizontal, de forma que se detecta un click cuando en un determinado intervalo de tiempo coinciden una variación en la señal de seguimiento junto con la ausencia de datos de desplazamiento detectados por los sensores ópticos en el eje vertical y horizontal. Additionally, the invention may comprise detecting a click event by processing a tracking signal, such as the squal signal, and the displacement signals on a vertical axis and a horizontal axis, so that a click is detected when a variation in the tracking signal along with a certain time interval coincides with the absence of displacement data detected by the optical sensors in the vertical and horizontal axis.
Los gestos preestablecidos pueden comprender información de desplazamiento que emula el giro de la rueda de un ratón de ordenador; información de desplazamiento que emula el conocido evento de arrastrar una selección, habitualmente realizado mediante un ratón de ordenador; información de desplazamiento que produce el evento de lanzar una aplicación; información de desplazamiento que produce el evento de abrir un fichero; información de desplazamiento que produce el evento de minimizar todas las aplicaciones abiertas. O también gestos preestablecidos que pueden ser configurados por el usuario asociando cualquier evento con una secuencia de gestos a realizar sobre los sensores ópticos.  Preset gestures may comprise scroll information that emulates the wheel spin of a computer mouse; scrolling information that emulates the well-known event of dragging a selection, usually performed using a computer mouse; scrolling information produced by the event of launching an application; offset information produced by the event of opening a file; offset information that produces the event of minimizing all open applications. Or also preset gestures that can be configured by the user associating any event with a sequence of gestures to be performed on the optical sensors.
Otro aspecto de la invención se refiere a un sistema de navegación óptico apropiado para apuntar y activar funciones en un equipo informático. El sistema comprende: una pluralidad de sensores ópticos que detectan la información de desplazamiento de un usuario actuando sobre ellos y se los proporciona a un microcontrolador;  Another aspect of the invention relates to an optical navigation system suitable for aiming and activating functions in a computer equipment. The system comprises: a plurality of optical sensors that detect the displacement information of a user acting on them and provide them to a microcontroller;
un microcontrolador que establece las comunicaciones entre la pluralidad de sensores ópticos y un módulo de procesamiento al que entrega la información de desplazamiento detectada por la pluralidad de sensores ópticos;  a microcontroller that establishes communications between the plurality of optical sensors and a processing module to which it delivers the travel information detected by the plurality of optical sensors;
un módulo de procesamiento que:  a processing module that:
o detecta por medio de al menos 2 sensores ópticos una información de desplazamiento generada por un usuario sobre dichos sensores ópticos; o compara la información de desplazamiento con información de desplazamiento de unos gestos preestablecidos que llevan asociados la ejecución de unos eventos;  or detects by means of at least 2 optical sensors a travel information generated by a user on said optical sensors; or compares the displacement information with displacement information of pre-established gestures that are associated with the execution of some events;
o si la información de desplazamiento detectada por los sensores ópticos es igual a la información de desplazamiento de algún gesto preestablecido, ejecutar el evento asociado a dicho gesto preestablecido;  or if the displacement information detected by the optical sensors is equal to the displacement information of some preset gesture, execute the event associated with said preset gesture;
o si la información de desplazamiento no es igual a la información de desplazamiento de ningún gesto preestablecido, desplazar un cursor en el monitor del sistema informático de acuerdo a la información de desplazamiento detectada sobre los sensores ópticos. Un último aspecto de la invención se refiere a un programa informático que comprende medios de código de programa adaptados para realizar las etapas del procesamiento cuando dicho programa se ejecuta en un procesador de propósito general, un procesador de señal digital, una FPGA, un ASIC, un microprocesador, un microcontrolador, o cualquier otra forma de hardware programable. or if the displacement information is not equal to the displacement information of any preset gesture, move a cursor on the computer system monitor according to the displacement information detected on the optical sensors. A final aspect of the invention relates to a computer program comprising program code means adapted to perform the processing steps when said program is executed in a general purpose processor, a digital signal processor, an FPGA, an ASIC, a microprocessor, a microcontroller, or any other form of programmable hardware.
Las características y ventajas anteriores no limitan la presente invención, y los expertos en la técnica reconocerán características y ventajas adicionales tras la lectura de la siguiente descripción detallada, y en vista de los dibujos adjuntos.  The above features and advantages do not limit the present invention, and those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and in view of the accompanying drawings.
DESCRIPCIÓN DE LOS DIBUJOS DESCRIPTION OF THE DRAWINGS
Para completar la descripción que está realizándose y con objeto de ayudar a una mejor comprensión de las características de la invención, según un ejemplo preferido de realización práctica de la misma, se adjunta a la descripción como parte integrante de la misma un juego de dibujos en los que, a modo de ilustración y de manera no restrictiva, se ha representado lo siguiente: To complete the description that is being made and in order to help a better understanding of the features of the invention, according to a preferred example of practical realization thereof, a set of drawings is attached to the description as an integral part thereof. which, by way of illustration and in a non-restrictive manner, the following has been represented:
La figura 1 ilustra el sistema compuesto por un sensor, lente y LED que representa el estado de la técnica.  Figure 1 illustrates the system consisting of a sensor, lens and LED representing the state of the art.
La figura 2 representa una realización de la invención sobre un teclado de ordenador. Figure 2 represents an embodiment of the invention on a computer keyboard.
La figura 3 representa un diagrama de flujo del algoritmo de suavizado utilizado en una realización de la invención. Figure 3 represents a flow chart of the smoothing algorithm used in an embodiment of the invention.
La figura 4 representa un diagrama de flujo del algoritmo de aceleración utilizado en una realización de la invención.  Figure 4 depicts a flow chart of the acceleration algorithm used in an embodiment of the invention.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN DETAILED DESCRIPTION OF THE INVENTION
A continuación desarrollaremos una realización de la invención. Pero para entender el funcionamiento es conveniente entender primero el funcionamiento de un ratón óptico, que es el siguiente: Next we will develop an embodiment of the invention. But to understand the operation it is convenient to first understand the operation of an optical mouse, which is as follows:
1. Un diodo LED 1 ilumina la superficie que se encuentra debajo de un sensor óptico 2, detectando irregularidades microscópicas; su disposición puede verse en la figura 1.1. An LED diode 1 illuminates the surface beneath an optical sensor 2, detecting microscopic irregularities; its arrangement can be seen in figure 1.
2. Una lente prismática 3 colocada en la parte inferior del sensor se encarga de concentrar en la cámara del sensor la luz reflejada en la superficie debajo del ratón. 3. La cámara del sensor saca fotografías de la superficie iluminada a intervalos regulares, y entrega estos datos a un procesador digital de señales llamado DSP (Digital Signal Processor). 2. A prismatic lens 3 placed at the bottom of the sensor is responsible for concentrating in the sensor chamber the light reflected on the surface under the mouse. 3. The sensor camera takes pictures of the illuminated surface at regular intervals, and delivers this data to a digital signal processor called DSP (Digital Signal Processor).
4. Comparando las imágenes, el DSP obtiene los valores de los movimientos producidos detectando el desplazamiento de dichas irregularidades microscópicas, y los almacena en registros internos del ratón.  4. By comparing the images, the DSP obtains the values of the movements produced by detecting the displacement of said microscopic irregularities, and stores them in internal mouse registers.
Por tanto para entender el uso que se hace en esta invención de los sensores ópticos, y cómo recogen el desplazamiento pasando el dedo sobre ellos, es de gran ayuda pensar en un ratón óptico dado la vuelta respecto de su posición normal. De esta forma, una realización de la invención comprende una pluralidad de sensores ópticos similares a los usados en los ratones ópticos, y que se encuentran integrados en un sistema donde la luz de uno o varios diodos LED, guiada por uno o varios prismas, proporciona la iluminación necesaria a una cierta altura sobre los sensores; esta altura corresponde a la distancia focal de la lente, o sistema de lentes, que concentra en el sensor la luz reflejada desde el objeto a seguir, y puede ajustarse cambiando dicha lente. Therefore, in order to understand the use made of optical sensors in this invention, and how they pick up the displacement by passing their finger over them, it is helpful to think of an optical mouse turned over its normal position. Thus, an embodiment of the invention comprises a plurality of optical sensors similar to those used in optical mice, and which are integrated into a system where the light of one or more LEDs, guided by one or more prisms, provides the necessary lighting at a certain height above the sensors; This height corresponds to the focal length of the lens, or lens system, which concentrates in the sensor the light reflected from the object to be followed, and can be adjusted by changing said lens.
A esa altura es a la que se desliza sobre el sensor el dedo del usuario (u otro objeto al efecto), de forma que la cámara del sensor realizará fotografías a intervalos regulares que, al comparar una imagen con la siguiente, permitirán detectar el movimiento del dedo u objeto. Para facilitar el correcto paso del dedo sobre el sensor, la invención ofrece una superficie de deslizamiento situada exactamente a una altura sobre el sensor igual a la distancia focal de su sistema de lentes; la superficie presenta sobre cada sensor una apertura, que permite el paso tanto de la luz incidente sobre el dedo u objeto como de la luz reflejada por éstos. En una de las realizaciones de la invención se incorpora una lámina transparente (por ejemplo, de acetato) sobre la superficie de la apertura. Esta lámina preserva las propiedades ópticas del sistema, al mismo tiempo que garantiza que el dedo u objeto deslizado por el usuario se mantiene siempre a la distancia correcta del sensor, y protege la lente o sistema de lentes de contaminación del exterior.  At that height it is at which the user's finger (or other object for this purpose) slides over the sensor, so that the sensor camera will take photographs at regular intervals that, when comparing an image with the following, will allow to detect the movement of the finger or object. To facilitate the correct passage of the finger over the sensor, the invention offers a sliding surface located exactly at a height above the sensor equal to the focal length of its lens system; The surface has an opening on each sensor, which allows the passage of both the incident light on the finger or object and the light reflected by them. In one of the embodiments of the invention a transparent sheet (eg acetate) is incorporated on the opening surface. This sheet preserves the optical properties of the system, while ensuring that the finger or object slipped by the user is always kept at the correct distance from the sensor, and protects the lens or lens system from external contamination.
A partir de aquí, en una realización particular utilizaremos 3 sensores ópticos, por ejemplo del tipo Avago ADNS-5020-EN, con un microcontrolador como por ejemplo un Microchip PIC16F877 y un módulo de procesamiento. El microcontrolador proporciona una interfaz, en este caso RS-232, entre un PC y los sensores, realizando las operaciones de lectura y escritura a bajo nivel contra estos últimos. Esta comunicación indirecta involucra tanto el envío de comandos desde el PC a los sensores como la recepción en el PC de datos procedentes de los sensores. La secuencia de las operaciones para el arranque del sistema que se llevan a cabo para la inicialización son: From here, in a particular embodiment we will use 3 optical sensors, for example of the Avago ADNS-5020-EN type, with a microcontroller such as a Microchip PIC16F877 and a processing module. The microcontroller provides an interface, in this case RS-232, between a PC and the sensors, performing low-level read and write operations against the latter. This indirect communication involves both sending commands from the PC to the sensors and receiving data from the sensors on the PC. The sequence of operations for system startup which are carried out for initialization are:
1. Resetear los sensores: En el arranque del sistema, es siempre conveniente hacer un reset de los sensores. Para ello, se mandará una trama de datos por el bus serie RS- 232 hacia el microcontrolador. Si todo ha ido bien, éste contestará al PC con otra trama indicando el éxito de la operación. 1. Reset the sensors: At system startup, it is always convenient to reset the sensors. For this, a data frame will be sent via the RS-232 serial bus to the microcontroller. If everything went well, it will answer the PC with another frame indicating the success of the operation.
2. Obtener ID: se manda una trama de datos por el bus serie RS-232 hacia el microcontrolador; al recibir este mensaje, el microcontrolador devolverá un mensaje con una identificación de cada sensor. Este comando sirve para comprobar que se ha realizado correctamente la conexión, así como para asegurarnos de que los sensores siguen funcionando correctamente. El sistema emplea este comando con dos fines distintos:  2. Obtain ID: a data frame is sent via the RS-232 serial bus to the microcontroller; Upon receiving this message, the microcontroller will return a message with an identification of each sensor. This command is used to verify that the connection has been made correctly, as well as to ensure that the sensors continue to function correctly. The system uses this command for two different purposes:
a) Como mecanismo de "keepalive": el microcontrolador lo utiliza, de forma rutinaria y periódica, para verificar que el sistema completo sigue funcionando correctamente.  a) As a "keepalive" mechanism: the microcontroller uses it, routinely and periodically, to verify that the entire system continues to function properly.
b) Como mecanismo de verificación explícita del comportamiento de los sensores, caso de haber recibido una respuesta negativa, o anómala, a la ejecución de un comando.  b) As a mechanism for explicit verification of the behavior of the sensors, in case of receiving a negative or anomalous response to the execution of a command.
3 Obtener datos del firmware del microcontrolador: se comprueba la versión de fírmware del microcontrolador. Para ello el PC envía al microcontrolador un comando solicitando ésta información; si no se producen errores, el microcontrolador contestará al PC con una trama de datos que contendrá la versión del código cargado en el Microchip, junto con el número de sensores para el que está programado.  3 Obtain microcontroller firmware data: the firmware version of the microcontroller is checked. For this, the PC sends a command to the microcontroller requesting this information; If no errors occur, the microcontroller will reply to the PC with a data frame that will contain the version of the code loaded in the Microchip, along with the number of sensors for which it is programmed.
4. Cambiar la resolución de la cámara de los sensores: Los sensores trabajan con cierta resolución, expresada en cpi (counts per inch). En el caso del sensor Avago ADNS-5020-EN, hay dos posibles resoluciones con las cuales podemos trabajar: 500 y 1000 cpi. Para cambiar la resolución de 500 a 1000, o viceversa, se manda una trama al microcontrolador. Si se realiza con éxito la operación, el microcontrolador devolverá otra trama como confirmación. El PC, por tanto, inicializa los sensores a la resolución seleccionada por el usuario.  4. Change the resolution of the sensor camera: The sensors work with a certain resolution, expressed in cpi (counts per inch). In the case of the Avago ADNS-5020-EN sensor, there are two possible resolutions with which we can work: 500 and 1000 cpi. To change the resolution from 500 to 1000, or vice versa, a frame is sent to the microcontroller. If the operation is successful, the microcontroller will return another frame as confirmation. The PC, therefore, initializes the sensors to the resolution selected by the user.
La invención, en sus diferentes realizaciones, puede optar por distintas configuraciones en la colocación de los sensores. Una de ellas sería en forma de triángulo, situando un vértice en la parte inferior, donde se coloca un sensor destinado principalmente a registrar los desplazamientos, mientras los otros dos vértices alineados en la parte superior alojan otros 2 sensores que hacen funciones similares a los botones de un ratón convencional. The invention, in its different embodiments, may choose different configurations in the placement of the sensors. One of them would be in the form of a triangle, placing a vertex in the lower part, where a sensor is placed mainly to record the displacements, while the other two vertices aligned in the upper part house another 2 sensors that do functions similar to the buttons of a conventional mouse.
Otra realización opta por situar un sensor a la izquierda, destinado principalmente a recoger los desplazamientos del dedo sobre él, y otros dos sensores situados a su derecha pero siguiendo una curva ascendente, de modo que son accesibles para los otros dedos y realizan funciones similares a los botones de un ratón convencional.  Another embodiment chooses to place a sensor on the left, mainly intended to pick up the movements of the finger on it, and two other sensors located on its right but following an upward curve, so that they are accessible to the other fingers and perform functions similar to the buttons of a conventional mouse.
La realización preferente de la invención comprende sin embargo tres sensores alineados totalmente, en la que el sensor central es el elegido para realizar de forma habitual los desplazamientos y los laterales para las funciones accesorias, de forma similar a un ratón convencional de ordenador. La ubicación preferente de la invención sitúa los 3 sensores en un teclado de ordenador justo por encima de las flechas de cursor, como se ilustra en la figura 2, pero la invención puede disponerse también en cualquier otra superficie del ordenador o dispositivo electrónico, como por ejemplo en el borde de un lector de libros electrónico o de un tablet, que ofrezca una posición y distancia adecuada entre los sensores, o incluso pueden colocarse en un dispositivo externo al ordenador, unido al mismo por un bus serie como, por ejemplo, USB.  The preferred embodiment of the invention, however, comprises three fully aligned sensors, in which the central sensor is the one chosen to perform the displacements and the lateral ones for the accessory functions, similar to a conventional computer mouse. The preferred location of the invention places the 3 sensors on a computer keyboard just above the cursor arrows, as illustrated in Figure 2, but the invention can also be arranged on any other surface of the computer or electronic device, such as For example, on the edge of an e-book reader or tablet, which offers an adequate position and distance between the sensors, or can even be placed on a device external to the computer, connected to it by a serial bus such as USB .
Una vez inicializado el sistema, según una realización preferente de la invención el sistema entra en el modo normal de operación, en el que se repite cíclicamente un conjunto de etapas como el que puede verse a continuación:  Once the system is initialized, according to a preferred embodiment of the invention, the system enters the normal mode of operation, in which a set of stages is cyclically repeated as can be seen below:
Una primera etapa de comunicaciones en la que el PC lee a través del microcontrolador los datos obtenidos por los sensores del sistema. Para ello, el PC envía al microcontrolador un comando que le permite obtener una información de desplazamiento, que comprende los valores de los deltas (valor de desplazamiento acumulado desde la última iteración), motion (indicador de si se ha detectado o no algún movimiento en la presente iteración) y squal (valoración de la calidad de la detección durante la presente iteración) de cada uno de los sensores del sistema. El microcontrolador se encarga de hacer las operaciones de lectura necesarias a través de los buses serie de los sensores, y devuelve al PC una única trama, que agrupa todos los datos de los sensores. A first stage of communications in which the PC reads through the microcontroller the data obtained by the system sensors. To do this, the PC sends a command to the microcontroller that allows it to obtain displacement information, which includes the deltas values (accumulated displacement value since the last iteration), motion (indicator of whether or not any movement has been detected in the present iteration) and squal (assessment of the detection quality during the present iteration) of each of the sensors in the system. The microcontroller is responsible for carrying out the necessary reading operations through the sensor serial buses, and returns a single frame to the PC, which groups all the sensor data.
- Obtenidos los datos de los sensores, empieza una etapa de procesamiento en el llamado módulo de procesamiento, y en la que se utilizan distintos algoritmos para comparar la información de desplazamiento obtenida por los sensores ópticos con la información de desplazamiento de unos gestos preestablecidos, que llevan asociados la ejecución de uno o varios eventos.  - Once the sensor data has been obtained, a processing stage begins in the so-called processing module, and in which different algorithms are used to compare the displacement information obtained by the optical sensors with the displacement information of pre-established gestures, which They are associated with the execution of one or more events.
En el caso de que el módulo de procesamiento identifique algún gesto preestablecido se entra en una etapa en la que se interacciona con el sistema operativo del equipo informático para producir los eventos del ratón o del teclado asociados a dichos gestos preestablecidos. En el caso de no utilizar gestos el evento que se produce es el desplazamiento del puntero por la pantalla en respuesta a los movimientos de los dedos del usuario sobre los sensores ópticos. In the event that the processing module identifies any gesture Preset enters a stage in which it interacts with the operating system of the computer equipment to produce the mouse or keyboard events associated with said preset gestures. In the case of not using gestures, the event that occurs is the movement of the pointer on the screen in response to the movements of the user's fingers on the optical sensors.
Entrando más en detalle en la etapa de procesamiento, y siguiendo una realización de la invención, los valores en bruto obtenidos por los sensores ópticos son transformados en información sobre los movimientos realizados por el usuario, que es posteriormente almacenada para poder tenerla disponible más adelante. Entering in more detail in the processing stage, and following an embodiment of the invention, the raw values obtained by the optical sensors are transformed into information on the movements made by the user, which is subsequently stored so that it can be available later.
Esta etapa también se encarga de identificar la aparición de gestos a partir de los datos en bruto de los sensores, usando para ello información almacenada sobre la conformación de los gestos (qué activación de qué sensores dispara qué gesto, y qué comando tiene asociado).  This stage is also responsible for identifying the appearance of gestures from the raw data of the sensors, using for this purpose stored information on the conformation of the gestures (what activation of which sensors triggers which gesture, and what command it has associated).
El módulo de procesamiento transforma los datos de cada sensor en un indicador de dirección de movimiento para dicho sensor (NINGUNO, IZQUIERDA, DERECHA, ARRIBA, ABAJO, TAP, correspondiendo este último a un click completo, con subida y bajada del dedo). La información de desplazamiento que se maneja para definir un gesto está, por tanto, compuesta por una secuencia temporal ordenada de este tipo de indicadores. Como ejemplo, la programación de un gesto definido como el pasar el dedo por los tres sensores, de izquierda a derecha, se registra como la secuencia temporal de indicadores (con ciertos márgenes de tolerancia en la temporización entre indicador e indicador) :  The processing module transforms the data of each sensor into a direction of movement indicator for said sensor (NONE, LEFT, RIGHT, UP, DOWN, TAP, the latter corresponding to a complete click, with raising and lowering of the finger). The displacement information that is used to define a gesture is therefore composed of an ordered time sequence of this type of indicators. As an example, the programming of a defined gesture such as running your finger through the three sensors, from left to right, is recorded as the time sequence of indicators (with certain tolerance margins in the timing between indicator and indicator):
SENSOR1 - DERECHA + SENSOR2 - DERECHA + SENSOR3 - DERECHA SENSOR1 - RIGHT + SENSOR2 - RIGHT + SENSOR3 - RIGHT
El procesamiento en esta etapa va comparando los últimos datos obtenidos de los sensores con los contenidos anteriores, para identificar el comienzo y final de un desplazamiento de un dedo u objeto sobre alguno de los sensores. Cada vez que se detecte la finalización de uno de estos desplazamientos se comprueba si la secuencia de las últimas activaciones de sensor se corresponde con la programada para algún gesto; en caso afirmativo, se determina el comando que debe lanzarse, y remite la petición correspondiente a la siguiente etapa, comentada anteriormente, de interacción con el sistema operativo. The processing at this stage compares the latest data obtained from the sensors with the previous contents, to identify the beginning and end of a movement of a finger or object on any of the sensors. Each time the completion of one of these movements is detected, it is checked whether the sequence of the last sensor activations corresponds to that programmed for any gesture; If so, the command to be issued is determined, and it sends the corresponding request to the next stage, discussed above, of interaction with the operating system.
Si se detectan movimientos en el sensor que no son interpretados como gestos, sino de navegación o desplazamiento del cursor, se manda la orden para desplazar el cursor del ratón en pantalla a la etapa de interacción con el sistema operativo.  If movements in the sensor are detected that are not interpreted as gestures, but of navigation or cursor movement, the order is sent to move the mouse cursor on the screen to the stage of interaction with the operating system.
La invención puede comprender un algoritmo de suavizado con el que solventar un problema que puede producirse a causa de que las lecturas que ofrecen los sensores del desplazamiento de los dedos de un usuario sobre ellos pueden no ser uniformes e introducir valores espurios. Se tienen en cuenta como entrada los valores de desplazamiento reales de una iteración actual y de la anterior para producir unos valores finales uniformes y constantes. La figura 3 ilustra este proceso. Se comienza comparando el desplazamiento en la iteración actual con el desplazamiento en la iteración anterior 31 , para ello se comprueba si tienen el mismo sentido 32, en el caso de que no sea así se concluye que el desplazamiento suavizado es igual que el desplazamiento actual 33 y se termina el proceso. The invention may comprise a smoothing algorithm with which to solve a problem This may occur because the readings offered by a user's finger movement sensors on them may not be uniform and introduce spurious values. The actual offset values of a current and previous iteration are taken as input to produce uniform and constant final values. Figure 3 illustrates this process. It begins by comparing the displacement in the current iteration with the displacement in the previous iteration 31, for this it is checked if they have the same sense 32, in the case that it is not so it is concluded that the smoothed displacement is the same as the current displacement 33 and the process is over.
En el caso de que los desplazamientos no tengan el mismo sentido se comprueba si la magnitud del desplazamiento anterior es mayor que la magnitud del desplazamiento actual 34, en caso negativo se concluye que el desplazamiento suavizado es igual que el desplazamiento actual 33 y se termina el proceso. En el caso de que la magnitud del desplazamiento precedente sea mayor que la magnitud del desplazamiento actual se comprueba si la magnitud del desplazamiento actual es mayor que un cierto número que actúa como umbral 35, en caso negativo se concluye que el desplazamiento suavizado es igual que el desplazamiento actual 33 y se termina el proceso.  If the displacements do not have the same direction, it is checked whether the magnitude of the previous displacement is greater than the magnitude of the current displacement 34, if not, it is concluded that the smoothed displacement is the same as the current displacement 33 and the process. In the event that the magnitude of the preceding displacement is greater than the magnitude of the current displacement, it is checked if the magnitude of the current displacement is greater than a certain number that acts as threshold 35, if not, it is concluded that the smoothed displacement is the same as the current offset 33 and the process is terminated.
En el caso de que la magnitud de desplazamiento actual sea mayor que el umbral, se calcula una corrección que es la mitad de la diferencia entre las magnitudes del desplazamiento actual y el anterior 36, a continuación se modifica el valor del desplazamiento actual en una magnitud igual a la corrección calculada 37 y posteriormente se comprueba si al aplicar la corrección se ha cambiado el sentido del desplazamiento 38. Si el sentido ha cambiado se concluye que el desplazamiento suavizado es igual a cero 40, en cambio, si la corrección no ha cambiado el sentido del desplazamiento, se aplica dicha corrección 39 al desplazamiento actual y se termina el proceso.  In the event that the magnitude of the current displacement is greater than the threshold, a correction is calculated that is half of the difference between the magnitudes of the current displacement and the previous 36, then the current displacement value is modified by a magnitude equal to the calculated correction 37 and subsequently it is checked if the correction has changed the direction of the offset 38. If the direction has changed, it is concluded that the smoothed offset is equal to zero 40, however, if the correction has not changed the direction of the displacement, said correction 39 is applied to the current displacement and the process is terminated.
También puede incluirse un algoritmo de aceleración para solucionar el problema derivado de la diferencia de resolución entre el sensor y una pantalla de ordenador típica. Si el movimiento de los dedos sobre los sensores se traduce directamente a la pantalla son necesarias varias pasadas para desplazar el puntero de un lado al otro de la pantalla. Por ello se utiliza en una realización de la invención un algoritmo que multiplica la amplitud del movimiento de forma gradual. Esto significa que para desplazamientos pequeños, que requieren mayor precisión, no se aplica aceleración ninguna y en cambio, a medida que el desplazamiento es mayor se amplifica considerablemente el desplazamiento del puntero, tanto más cuanto mayor es el desplazamiento. La figura 4 ilustra este proceso.  An acceleration algorithm can also be included to solve the problem derived from the difference in resolution between the sensor and a typical computer screen. If the movement of the fingers on the sensors is translated directly to the screen, several passes are necessary to move the pointer from one side of the screen to the other. Therefore, an algorithm that multiplies the amplitude of the movement gradually is used in one embodiment of the invention. This means that for small displacements, which require greater precision, no acceleration is applied and instead, as the displacement is greater, the pointer displacement is greatly amplified, the more the greater the displacement. Figure 4 illustrates this process.
Para permitir un control fino de la magnitud de la aceleración en función de la amplitud del desplazamiento, la realización preferente de la invención usa una función de aceleración definida por tramos, que se ajusta aproximadamente a una función polinomial, que da tanto mejor resultado cuanto mayor sea su grado. Sin embargo, el usuario tiene la posibilidad de modificar la definición de tramos para implementar cualquier función, y ajusfar así el comportamiento de la aceleración al que más cómodo y práctico le resulte. To allow fine control of the magnitude of the acceleration as a function of the amplitude of the displacement, the preferred embodiment of the invention uses an acceleration function defined by sections, which fits approximately a polynomial function, which gives the best result the higher its degree. However, the user has the possibility to modify the definition of sections to implement any function, and thus adjust the acceleration behavior to the one that is most comfortable and practical.
El algoritmo de la aceleración consta de una lista de pares aceleración-umbral, y para cada valor de desplazamiento obtenido del sensor se usa el umbral más pequeño que sea mayor o igual que ese desplazamiento. El resultado del algoritmo devuelve el valor de entrada multiplicado por el valor de la aceleración ligado a ese umbral encontrado tal y como vemos en la figura 4. Lo primero es obtener el desplazamiento actual 41 , a continuación se fija un primer umbral 42 y posteriormente se entra en un bucle en el que se compara el desplazamiento actual con un umbral 43 que va cambiando a un umbral mayor 46 mientras el desplazamiento actual sea mayor que dicho umbral y siempre y cuando no se llegue a superar un umbral máximo 45. Cuando el desplazamiento no es mayor que el umbral o cuando se alcanza el umbral máximo se sale del bucle y se concluye que el desplazamiento final es igual al desplazamiento actual multiplicado por la aceleración asociada al umbral 44 y se termina el proceso.  The acceleration algorithm consists of a list of acceleration-threshold pairs, and for each offset value obtained from the sensor, the smallest threshold that is greater than or equal to that offset is used. The result of the algorithm returns the input value multiplied by the acceleration value linked to that threshold found as we see in Figure 4. The first is to obtain the current displacement 41, then a first threshold 42 is set and then enters a loop in which the current displacement is compared with a threshold 43 that changes to a greater threshold 46 as long as the current displacement is greater than said threshold and as long as a maximum threshold is not exceeded 45. When the displacement it is not greater than the threshold or when the maximum threshold is reached, the loop is exited and it is concluded that the final displacement is equal to the current displacement multiplied by the acceleration associated with threshold 44 and the process is terminated.
Adicionalmente a esta aceleración por tramos, la invención puede incluir también parámetros de aceleración global, que afectan a todos los desplazamientos por igual. Esta aceleración ajusta el movimiento relativo del cursor en pantalla a la resolución de la misma, de forma que el aumentar la resolución del escritorio (por ejemplo, pasar a 1280x1024 desde 1024 x 768) no se traduzca en necesidad de pasar más veces el dedo sobre el sensor de navegación cuando movemos el cursor de lado a lado de la pantalla. Para esta aceleración, existen dos valores, llamados escala vertical y escala horizontal, que se multiplican respectivamente por todos los desplazamientos Ay y Δχ, incrementándolos o decrementándolos. De forma análoga a cómo ocurre con los valores de la aceleración por tramos, estos dos valores se pueden cambiar de forma dinámica por el usuario. In addition to this acceleration by sections, the invention may also include global acceleration parameters, which affect all displacements equally. This acceleration adjusts the relative movement of the cursor on the screen to its resolution, so that increasing the resolution of the desktop (for example, switching to 1280x1024 from 1024 x 768) does not translate into the need to swipe your finger over the navigation sensor when we move the cursor from side to side of the screen. For this acceleration, there are two values, called vertical scale and horizontal scale, which are multiplied respectively by all the displacements Ay and Δ χ , increasing or decreasing them. Similarly to how it happens with the acceleration values by sections, these two values can be changed dynamically by the user.
El resumen del procedimiento global seguido por una de las realizaciones de la invención para calcular los desplazamientos horizontales y verticales del cursor del ratón sería éste:  The summary of the overall procedure followed by one of the embodiments of the invention to calculate the horizontal and vertical displacements of the mouse cursor would be this:
1. Obtener los valores de los desplazamientos en bruto del sensor (reales, no calculados) de la iteración actual y la anterior. 1. Obtain the values of the sensor raw displacements (actual, not calculated) of the current and previous iteration.
2. Aplicar a cada uno de estos valores la aceleración correspondiente. 3. Pasar estos dos valores como argumentos a la función de suavizado para obtener un desplazamiento uniforme, tanto para los desplazamientos en el eje horizontal Δχ como para los desplazamientos en el eje vertical Ay. 2. Apply the corresponding acceleration to each of these values. 3. Pass these two values as arguments to the smoothing function to obtain a uniform displacement, both for the displacements on the horizontal axis Δχ and for the displacements on the vertical axis Ay.
4. Aplicar al resultado el valor de la escala horizontal y vertical respectivamente.  4. Apply the value of the horizontal and vertical scale to the result respectively.
5. Enviar los valores obtenidos para la ejecución de los eventos pertinentes durante la etapa de Interacción con el sistema operativo.  5. Send the values obtained for the execution of the relevant events during the Interaction stage with the operating system.
También de forma adicional la invención puede comprender un algoritmo para detectar las pulsaciones realizadas sobre cualquiera de los sensores. Este algoritmo analiza los valores de las señales squal y motion que son entregadas por el sensor, buscando la aparición de patrones característicos que identifican la presencia de una pulsación, y que se describen a continuación. Additionally, the invention may also comprise an algorithm for detecting the pulsations made on any of the sensors. This algorithm analyzes the values of the squal and motion signals that are delivered by the sensor, looking for the appearance of characteristic patterns that identify the presence of a pulse, and are described below.
La señal squal (Surface Quality) es una señal generada por el sensor óptico que entrega, en tiempo real, una valoración de la calidad del seguimiento que el sensor está haciendo de una posible superficie situada en su campo visual, y consiste, para cada imagen capturada, en el número de irregulandades microscópicas que son visibles para el sensor en dicha imagen. Un valor alto de squal indica la detección de muchas irregularidades, lo que conlleva una buena calidad en la detección del desplazamiento de la superficie, mientras un valor bajo de squal indica que se detectan pocas irregularidades, y el seguimiento será pobre; en el caso más extremo squal es 0, indicando que el sensor no detecta ninguna superficie, lo que habitualmente ocurre cuando no hay ninguna superficie sobre el sensor, o la hay pero está muy retirada del mismo, a una distancia mucho mayor que la distancia focal de la lente o sistema de lentes.  The squal signal (Surface Quality) is a signal generated by the optical sensor that delivers, in real time, an assessment of the quality of the tracking that the sensor is making of a possible surface located in its visual field, and consists, for each image captured, in the number of microscopic irregularities that are visible to the sensor in said image. A high squal value indicates the detection of many irregularities, which implies a good quality in the detection of surface displacement, while a low squal value indicates that few irregularities are detected, and the monitoring will be poor; in the most extreme case squal is 0, indicating that the sensor does not detect any surface, which usually occurs when there is no surface on the sensor, or there is but is very removed from it, at a distance much greater than the focal length of the lens or lens system.
Por su parte, la señal motion es una señal generada por el sensor para indicar si ha detectado desplazamientos Δχ y/o Ay en la superficie desde la última vez que se leyeron en el sensor, a través de su bus serie de comunicaciones, los valores de estos desplazamientos; un valor de 0 en esta señal indica que no se ha detectado movimiento ninguno desde la última lectura.  For its part, the motion signal is a signal generated by the sensor to indicate if it has detected displacements Δχ and / or Ay on the surface since the last time they were read on the sensor, through its serial communications bus, the values of these displacements; a value of 0 in this signal indicates that no movement has been detected since the last reading.
La presente invención propone adicionalmente un algoritmo de detección de pulsaciones que tiene en cuenta las siguientes propiedades, determinadas mediante el análisis de trazas de uso real de las señales squal y motion:  The present invention additionally proposes a pulse detection algorithm that takes into account the following properties, determined by the analysis of traces of actual use of squal and motion signals:
1. En general, las lecturas de los datos de los sensores durante una pulsación entregan sólo unas pocas iteraciones en que el valor de motion sea no nulo, mientras que durante un movimiento el número de iteraciones con motion no nulo es mucho mayor, incluso cuando squal tiene cambios de valor de una magnitud equiparable a los de una pulsación. 1. In general, the readings of the sensor data during a pulse deliver only a few iterations in which the motion value is non-zero, while during a movement the number of iterations with non-zero motion is much greater, even when squal has value changes of a magnitude comparable to those of a pulsation.
2. Para que el uso de motion permita discriminar adecuadamente si la variación de squal es o no parte de un movimiento no basta con analizar motion en el momento en que cambia squal, sino que se necesita extender este análisis a un cierto intervalo de tiempo alrededor de la variación de squal.  2. In order for the use of motion to adequately discriminate whether or not the squal variation is part of a movement, it is not enough to analyze motion at the time the squal changes, but it is necessary to extend this analysis to a certain interval of time around of the squal variation.
Por ejemplo, teniendo en cuenta estas propiedades, el algoritmo de detección de pulsaciones usado en una realización de la invención usa las siguientes reglas: For example, taking these properties into account, the pulse detection algorithm used in an embodiment of the invention uses the following rules:
1. Una pulsación está delimitada por un movimiento de activación (bajada del dedo sobre el sensor), seguido tras un cierto tiempo no superior a un cierto límite por un movimiento de desactivación (subida del dedo), delimitados respectivamente por un cierto incremento y un cierto decremento de la señal squal. 1. A pulse is delimited by an activation movement (lowering of the finger on the sensor), followed after a certain time not exceeding a certain limit by a deactivation movement (raising of the finger), delimited respectively by a certain increase and a certain decrease of the squal signal.
2. Para discriminar correctamente estos ciertos incrementos y decrementos en squal el algoritmo promedia sus valores en un cierto número de iteraciones, por ejemplo las últimas 25 iteraciones, y comprueba que el cambio en squal se ha producido en un breve intervalo de tiempo (máximo tres iteraciones), y que no se haya producido activación sistemática de motion durante un cierto número de iteraciones antes y después de ese cambio en squal; sólo si se cumplen ambas condiciones el algoritmo considera como una pulsación el cambio en squal.  2. To correctly discriminate these certain increases and decreases in squal the algorithm averages its values in a certain number of iterations, for example the last 25 iterations, and verifies that the change in squal has occurred in a short time interval (maximum three iterations), and that there has been no systematic activation of motion during a certain number of iterations before and after that change in squal; Only if both conditions are met, the algorithm considers the change in squal as a pulse.
En una de las realizaciones de la invención, sobre los datos procedentes de los sensores ópticos, se ejecutan simultáneamente el algoritmo de detección de pulsaciones, el algoritmo de detección de clicks y el algoritmo de aceleración. In one of the embodiments of the invention, on the data coming from the optical sensors, the pulse detection algorithm, the click detection algorithm and the acceleration algorithm are executed simultaneously.
Respecto a la etapa de interacción con el sistema operativo, se puede ver más en detalle la relación que se establece entre los gestos preestablecidos y los eventos asociados. En una realización de la invención los eventos de ratón que se manejan comprenden el desplazamiento en horizontal del cursor del ratón; el desplazamiento en vertical del cursor del ratón; la cantidad de movimiento, también llamado scroll, de la rueda del ratón; flags indicando un estado del ratón como por ejemplo "botón izquierdo pulsado"; marcos de tiempo de los eventos e información adicional que a menudo no será utilizada pero se reserva un campo para ello.  Regarding the stage of interaction with the operating system, you can see in more detail the relationship established between the pre-established gestures and the associated events. In one embodiment of the invention the mouse events that are handled comprise the horizontal movement of the mouse cursor; vertical scrolling of the mouse cursor; the amount of movement, also called scroll, of the mouse wheel; flags indicating a mouse status such as "left button pressed"; Event time frames and additional information that will often not be used but reserves a field for it.
En cuanto al uso de la invención para el envío por gestos de secuencias de pulsaciones de teclas al sistema operativo y aplicaciones del ordenador, otra realización de la invención usa para ello los mecanismos estandarizados ofrecidos por el sistema operativo para la generación de eventos de teclado, y comprende además: los códigos correspondientes a los eventos de teclado asociados a cada gesto que los use; marcos de tiempo entre pulsaciones consecutivas y para la secuencia completa; e información adicional sobre el evento, que con frecuencia no será utilizada pero para la que se reserva un campo. Regarding the use of the invention for the sending by gestures of sequences of pulsations of keys to the operating system and computer applications, another embodiment of the invention uses the standardized mechanisms offered by the operating system for the generation of keyboard events, and also comprises: the codes corresponding to the keyboard events associated with each gesture that use them; time frames between consecutive presses and for the complete sequence; and additional information about the event, which will often not be used but for which a field is reserved.
La ejecución de todos estos eventos depende directamente de la asociación que se establece con los gestos preestablecidos en la invención, que pueden ser también configurados por el usuario. Los movimientos de desplazamientos del puntero son más sencillos ya que sólo requieren del desplazamiento de los dedos del usuario sobre los sensores para desplazar el cursor por la pantalla. Sin embargo la invención ofrece en una de sus realizaciones una gran cantidad de posibilidades gracias a la detección de gestos y a las múltiples combinaciones que se derivan de la utilización de 3 sensores.  The execution of all these events depends directly on the association established with the gestures preset in the invention, which can also be configured by the user. The movements of pointer movements are simpler since they only require the movement of the user's fingers on the sensors to move the cursor on the screen. However, the invention offers in one of its embodiments a large number of possibilities thanks to the detection of gestures and the multiple combinations that result from the use of 3 sensors.
El uso de gestos puede ayudar para acelerar operaciones frecuentes, y resultan extremadamente útiles cuando son fáciles de recordar. Esto se consigue con el uso de gestos intuitivos, y con un número limitado de gestos, ya que una cantidad demasiado grande agobia al usuario. De esta forma se necesita un tiempo de aprendizaje muy corto y se facilita el uso de los mismos de forma repetida. Siguiendo una realización de la invención el funcionamiento de la detección de gestos es como sigue: de forma periódica nuevos datos procedentes de los sensores llegan al módulo de procesamiento; si en una iteración aparecen movimientos en un determinado sensor después de un periodo de inactividad suficientemente largo, se considera que ha comenzado una nueva activación del sensor. En las iteraciones sucesivas el sistema continúa procesando normalmente los datos del sensor hasta que, durante un número de iteraciones determinado, no se detecten movimientos. Cuando esto ocurre se considera que la activación del sensor ha terminado, y los datos de desplazamiento en el eje x, Δχ, y los datos de desplazamiento en el eje y, Ay, se utilizarán para determinar la dirección y el sentido del movimiento realizado por el dedo, conformando una información de desplazamiento. Llegado a este punto se comprueba si el movimiento realizado se corresponde con algún gesto preestablecido, y pueden darse dos casos:  The use of gestures can help to accelerate frequent operations, and they are extremely useful when they are easy to remember. This is achieved with the use of intuitive gestures, and with a limited number of gestures, since a too large amount overwhelms the user. In this way, a very short learning time is needed and their use is facilitated repeatedly. Following an embodiment of the invention, the operation of gesture detection is as follows: periodically new data from the sensors arrive at the processing module; if in an iteration movements appear in a certain sensor after a sufficiently long period of inactivity, it is considered that a new sensor activation has begun. In successive iterations the system continues to process the sensor data normally until, during a certain number of iterations, no movements are detected. When this occurs, it is considered that the activation of the sensor is over, and the displacement data on the x-axis, Δχ, and the displacement data on the y-axis, Ay, will be used to determine the direction and direction of movement performed by the finger, forming a scroll information. At this point, it is checked whether the movement made corresponds to a pre-established gesture, and two cases can occur:
1. El movimiento realizado no debe disparar ninguna acción, bien porque no se corresponde con ningún gesto o bien porque es parte de un gesto que involucra varios sensores, y los otros aún no se han activado. 1. The movement must not trigger any action, either because it does not correspond to any gesture or because it is part of a gesture that involves several sensors, and the others have not yet been activated.
2. Se ha detectado que el movimiento realizado en el sensor, y los movimientos producidos en los otros sensores, constituyen un gesto, por lo que se determinará el comando asociado y los eventos asociados al mismo serán ejecutados por la parte de la invención que interacciona con el sistema operativo usado en el equipo informático. 2. It has been detected that the movement made in the sensor, and the movements produced in the other sensors, constitute a gesture, so that the associated command and the events associated with it will be executed by the part of the invention that interacts with the operating system used in the computer equipment.
Finalmente todas las variables involucradas volverán a tomar su valor inicial por defecto, y el proceso se volverá a repetir la próxima vez que se detecten movimientos. Finally, all the variables involved will return to their initial default value, and the process will be repeated the next time movements are detected.
En una realización de la invención en la que se cuenta con tres sensores alineados pueden distinguirse dos modos de funcionamiento: un "modo normal" y un "modo gestos". En el modo "normal" el sensor central se utiliza para desplazar el cursor y hacer pulsaciones que emulan al click sobre el botón izquierdo del ratón, mientras en el modo "gestos" los tres sensores se utilizan para realizar gestos exclusivamente.  In one embodiment of the invention in which there are three aligned sensors, two modes of operation can be distinguished: a "normal mode" and a "gesture mode". In the "normal" mode the central sensor is used to move the cursor and make clicks that emulate the click on the left mouse button, while in the "gestures" mode the three sensors are used to perform gestures exclusively.
En una realización de la invención el módulo de procesamiento tiene predeterminadas una serie de asociaciones de gestos (activaciones de los sensores) a comandos de uso frecuente, lo que da al usuario la posibilidad de empezar a usar el sistema desde el primer momento, sin tener que programarlo pero sin restringir por ello su capacidad de posteriormente alterar, o eliminar totalmente, estas asignaciones. Las asignaciones usadas en la realización preferente de la invención pueden verse en las siguientes tablas donde por un lado se indica el movimiento a realizar sobre cada sensor y por otro lado el comando al que equivaldría (el usuario puede modificarlo a su gusto para configurarlo de forma distinta).  In one embodiment of the invention, the processing module has predetermined a series of gesture associations (sensor activations) to frequently used commands, which gives the user the possibility to start using the system from the first moment, without having than program it but without restricting its ability to subsequently alter, or completely eliminate, these assignments. The assignments used in the preferred embodiment of the invention can be seen in the following tables where on the one hand the movement to be performed on each sensor is indicated and on the other hand the command to which it would be equivalent (the user can modify it to his liking to configure it in a way different).
Para el modo "normal": For "normal" mode:
Activación de los sensores Comando equivalente Sensor activation Equivalent command
Hacia la izquierda en el sensor izquierdo Doble click  To the left on the left sensor Double click
Hacia arriba en el sensor izquierdo Mostrar el escritorio  Up on the left sensor Show the desktop
Hacia abajo en el sensor izquierdo 'Drag' (pulsación continua) del botón  Down on the left 'Drag' (continuous press) of the button
izquierdo del ratón  left mouse
Movimientos en el sensor central Desplazar el cursor del ratón Movements in the central sensor Move the mouse cursor
Pulsación en el sensor central Click izquierdo  Press on the central sensor Left click
Pulsación en el sensor derecho Click Derecho Click on the right sensor Right click
Hacia la izquierda en el sensor derecho Seleccionar un bloque de texto  To the left on the right sensor Select a block of text
Hacia arriba en el sensor derecho Cambiar a modo de gestos Para el modo "gestos": Up on the right sensor Switch to gesture mode For the "gestures" mode:
Figure imgf000020_0001
Figure imgf000020_0001
Cabría destacar las ventajas que supone esta utilización de la invención en tareas como por ejemplo el arrastre ("drag"), que requiere la pulsación continua del botón izquierdo del ratón. Al manejar un ratón convencional en arrastres que requieren mantener pulsado el botón del ratón, a veces ocurre que sin querer soltamos el dedo, o simplemente produce molestias mantenerlo pulsado durante mucho tiempo seguido. Este problema se soluciona en la invención propuesta dando la posibilidad al usuario de no sólo realizar un click normal, sino también de activar una pulsación que se mantiene activa, sin necesidad de actuación física con el dedo, hasta que se libera al realizar un gesto específico u otro click. Para iniciar esta pulsación virtual sostenida, basta con mover un dedo hacia abajo en el sensor izquierdo, y se repetirá la misma acción (o se pulsará el click del sensor central) para desactivar la pulsación. It should be noted the advantages of this use of the invention in tasks such as dragging, which requires the continuous pressing of the left mouse button. When handling a conventional mouse on trawlers that require the mouse button to be held down, sometimes it happens that we unintentionally release the finger, or it simply causes discomfort to keep it pressed for a long time. This problem is solved in the proposed invention by giving the user the possibility of not only performing a normal click, but also activating a pulse that remains active, without the need for physical action with the finger, until it is released when making a specific gesture or another click. To initiate this sustained virtual pulsation, simply move a finger down on the left sensor, and the same action will be repeated (or the central sensor click will be pressed) to deactivate the pulsation.
La tarea de seleccionar un bloque de texto también merece ser destacada. Es frecuente tener que seleccionar un bloque de texto que se sale de los límites de la pantalla, lo que, con un ratón convencional, requiere realizar un movimiento de scroll, o de rueda de ratón, al tiempo que se mantienen pulsados la tecla shift y el botón izquierdo del ratón. Esta acción puede resultar problemática a veces, generando movimientos de scroll no deseados, y provocando frustración al usuario. Para simplificar esta acción, la invención propuesta ofrece una solución mucho más sencilla: una vez se ha realizado un click al principio del texto a seleccionar, el usuario traslada el cursor del ratón hasta el final del bloque que desea seleccionar, y realiza entonces un movimiento hacia la izquierda en el sensor derecho; basta con eso para seleccionar todo el texto comprendido desde donde se hizo el click inicial hasta donde se encuentre el cursor del ratón actualmente. Esto simplifica esta operación y la hace mucho más práctica.  The task of selecting a block of text also deserves to be highlighted. It is common to have to select a block of text that goes beyond the limits of the screen, which, with a conventional mouse, requires a scroll, or mouse wheel movement, while holding down the shift and The left mouse button. This action can be problematic at times, generating unwanted scroll movements, and causing frustration to the user. To simplify this action, the proposed invention offers a much simpler solution: once a click has been made at the beginning of the text to be selected, the user moves the mouse cursor to the end of the block to be selected, and then makes a move to the left on the right sensor; just enough to select all the text from where the initial click was made to where the mouse cursor is currently. This simplifies this operation and makes it much more practical.
Para acabar con lo referente a gestos, una realización de la invención, aparte de usar un conjunto predeterminado de asociaciones de gestos a comandos, proporciona al usuario libertad para poder programar a su gusto y conveniencia definiciones de gestos (es decir, de secuencias de activación de sensores) y asignaciones de estos gestos a comandos. A continuación se describe el proceso que se sigue para modificar dichos gestos. La personalización de gestos permite asociar una trayectoria (secuencia temporal de activaciones de sensores) arbitraria a un comando, que puede estar compuesto por un número arbitrario de eventos (acciones del sistema operativo como puede ser una pulsación del botón del ratón o la pulsación de una tecla), acciones (conjunto de eventos que se dan a la vez como puede ser pulsar la tecla "control" y la tecla "c" simultáneamente) o grupos de acciones (comandos que se ejecutan ordenadamente); la secuencia para ello es: To end with respect to gestures, an embodiment of the invention, apart from using a predetermined set of associations of gestures to commands, provides the user freedom to be able to program gestures definitions (that is, sensor activation sequences) and assignments of these gestures to commands at your leisure and convenience. The following describes the process that is followed to modify these gestures. Gesture customization allows you to associate an arbitrary path (temporary sequence of sensor activations) with a command, which can be composed of an arbitrary number of events (operating system actions such as a mouse button click or a mouse click). key), actions (set of events that occur at the same time, such as pressing the "control" key and the "c" key simultaneously) or groups of actions (commands that are executed in order); The sequence for this is:
1. Definir los grupos de acciones que se quiere asociar al gesto. 1. Define the groups of actions that you want to associate with the gesture.
2. Programar la trayectoria, y asignarla al comando o eventos que se deseen.  2. Program the trajectory, and assign it to the desired command or events.
Adicionalmente la aplicación también permite definir comandos que consistan en el lanzamiento de una aplicación y/o en la apertura de un fichero. Additionally, the application also allows you to define commands that consist of launching an application and / or opening a file.
Una vez definido el comando, o grupo de acciones asociados al gesto, el resto de proceso de asignación comprende los pasos de seleccionar un comando (grupo de acciones) y seleccionar una secuencia de activaciones de sensores.  Once the command, or group of actions associated with the gesture, is defined, the rest of the assignment process includes the steps of selecting a command (group of actions) and selecting a sequence of sensor activations.
Para la definición del gesto deben activarse los sensores en el orden deseado; el gesto puede involucrar un sensor, o varios. Se pedirá al usuario que repita la secuencia de activaciones un total de tres veces; esto se hace para estar seguro de que los datos de entrada se hayan leído correctamente, además de para permitir al usuario corregir un movimiento en caso de que se haya equivocado; lo que se logra mediante un procedimiento de votación, de forma que basta que los movimientos hayan sido realizados idénticamente dos veces para que se apruebe el gesto.  To define the gesture, the sensors must be activated in the desired order; The gesture may involve a sensor, or several. The user will be asked to repeat the activation sequence a total of three times; This is done to be sure that the input data has been read correctly, as well as to allow the user to correct a movement in case it was wrong; what is achieved through a voting procedure, so that it is enough that the movements have been carried out identically twice for the gesture to be approved.
Opcionalmente, la invención incluye un interfaz gráfico de usuario (GUI), que es una aplicación que el usuario final utiliza para controlar la puesta en marcha o parada del sistema completo, configurarlo, o para obtener y representar gráficamente información sobre el funcionamiento del mismo y datos de los sensores. La configuración puede comprender el número de sensores del sistema, los parámetros de aceleración de los sensores, los valores de las escalas horizontal y vertical y el puerto de serie a través del cual se establecerán las comunicaciones con el microcontrolador.  Optionally, the invention includes a graphical user interface (GUI), which is an application that the end user uses to control the start-up or shutdown of the complete system, configure it, or to obtain and graphically represent information about its operation and sensor data. The configuration may comprise the number of sensors in the system, the acceleration parameters of the sensors, the values of the horizontal and vertical scales and the serial port through which communications with the microcontroller will be established.
De forma adicional, la invención puede incorporar en una de sus realizaciones, a modo de mejora, una franja con una ligera rugosidad alrededor de la apertura de los sensores, en la superficie plana de acetato sobre la que se desliza el dedo, que sirve para que, al pasar por encima la yema del dedo, el usuario tenga una realimentación táctil de la posición del dedo con respecto a la ventana del sensor. Esto permite, sin necesidad de mirar, saber si el dedo está bien puesto encima del sensor, o incluso localizar el sensor central y diferenciarlo de los sensores laterales sin necesidad de retirar la vista de la pantalla. Additionally, the invention can incorporate in one of its embodiments, by way of improvement, a strip with a slight roughness around the opening of the sensors, in the flat acetate surface on which the finger slides, which serves to that, when passing over the fingertip, the user has a tactile feedback of the position of the finger with Regarding the sensor window. This allows, without looking, to know if the finger is properly placed on top of the sensor, or even to locate the central sensor and differentiate it from the side sensors without having to take your eyes off the screen.
Un último aspecto de la invención en una de sus realizaciones es la posibilidad de ser adaptada para distintas minusvalías con necesidad sólo de realizar pequeñas modificaciones sobre la realización preferente. La combinación del uso de sensores ópticos y de su disposición en un número y configuración orientados específicamente a la correlación espacio-temporal de sus datos permite el diseño de dispositivos de entrada válidos para personas con discapacidades de tal naturaleza que les haga imposible el uso de cualquiera de los otros dispositivos existentes en el mercado. Por ejemplo:  A final aspect of the invention in one of its embodiments is the possibility of being adapted for different disabilities with the need only to make minor modifications to the preferred embodiment. The combination of the use of optical sensors and their arrangement in a number and configuration specifically oriented to the spatio-temporal correlation of their data allows the design of valid input devices for people with disabilities of such nature that makes it impossible for anyone to use of the other existing devices in the market. For example:
- Persona sin dedos: Esta discapacidad puede ocurrir, por ejemplo, en el caso de una persona que, como consecuencia de una exposición prolongada a un frío intenso, haya sufrido congelaciones de las extremidades lo suficientemente severas como para haberle tenido que ser amputados los dedos de las dos manos, quedando sólo con las manos y muñones de los dedos; otros ejemplos de accidentes que pueden conducir a esta minusvalía serían un accidente laboral en que una máquina haya aplastado los dedos de ambas manos a su operador, o la pérdida de los dedos habitual en los manipuladores de explosivos a los que ha sorprendido el estallido de una carga.  - Person without fingers: This disability can occur, for example, in the case of a person who, as a result of prolonged exposure to severe cold, has suffered severe freezing of the extremities to have had to have his fingers amputated of both hands, remaining only with the hands and stumps of the fingers; Other examples of accidents that can lead to this disability would be a work accident in which a machine has crushed the fingers of both hands to its operator, or the loss of the usual fingers in the explosives manipulators who have been surprised by the outbreak of a load.
Tras semejante amputación, esta persona ha quedado esencialmente inutilizada para usar ratones o touchpads (incluso ópticos): After such an amputation, this person has been essentially disabled to use mice or touchpads (even optical):
1. - El ratón puede ser movido sólo con la mano, pero el problema aparece a la hora de pulsar los botones, al carecer de dedos. 1. - The mouse can be moved only by hand, but the problem appears when pressing the buttons, lacking fingers.
2. - Análogamente, es posible que con la mano se pudiera mover un cursor usando un touchpad capacitivo. Si la superficie del touchpad (o trackpad) es lo suficientemente grande, podría usarse la mano entera para mover el cursor, pero de nuevo el problema aparece a la hora de las pulsaciones de botón, porque incluso aunque se puedan hacer dando golpecitos ("taps") sobre el touchpad, probablemente la superficie de contacto de toda una mano (o de un muñón de dedo) no será detectada correctamente a la hora de identificar una pulsación. 2. - Similarly, it is possible that by hand you could move a cursor using a capacitive touchpad. If the surface of the touchpad (or trackpad) is large enough, the entire hand could be used to move the cursor, but again the problem appears at the time of the button presses, because even if they can be done tapping ("taps ") on the touchpad, probably the contact surface of an entire hand (or a finger stump) will not be correctly detected when identifying a touch.
3. - El uso de un touchpad óptico del tipo de las conocidas Blackberry resulta también, como mínimo, problemático. Puede suponerse que el dispositivo reconozca correctamente la superficie de la mano para mover el cursor, pero lo que sin duda es mucho más complicado es presionar el sensor con la mano para lograr el click, por el pequeño tamaño del sensor comparado con el de la mano. 4.- Finalmente, las pantallas táctiles pueden ser operadas con la mano, o con los muñones de los dedos, pero la superficie de contacto es tan grande que el objeto en pantalla sobre el que se debe colocar la extremidad debe ser muy grande, lo que limita drásticamente las posibilidades de usar aplicaciones no desarrolladas específicamente para esa persona. 3. - The use of an optical touchpad of the type known as Blackberry is also at least problematic. It can be assumed that the device correctly recognizes the surface of the hand to move the cursor, but what is undoubtedly much more complicated is to press the sensor with the hand to achieve the click, for the small size of the sensor compared to that of the hand. 4.- Finally, the touch screens can be operated with the hand, or with the stumps of the fingers, but the contact surface is so large that the object on the screen on which the limb should be placed must be very large, which drastically limits the possibilities of using applications not developed specifically for that person.
Para este tipo de discapacidad, en cambio, la presente invención en una de sus realizaciones comprende un dispositivo de entrada de funcionalidad completa y amplia. La invención usa una configuración de tres sensores dispuestos en línea, y la correlación espacio-temporal de los datos procedentes de los tres sensores; sin embargo, la distancia concreta que debe separar cada pareja de sensores no es fija, sino que depende únicamente de cómo se interprete la secuencia espacial de activación de sensores y el tiempo que transcurra entre estas activaciones. For this type of disability, however, the present invention in one of its embodiments comprises an input device with full and wide functionality. The invention uses a configuration of three sensors arranged in line, and the spatio-temporal correlation of the data from the three sensors; however, the specific distance that each pair of sensors must separate is not fixed, but depends solely on how the spatial sequence of sensor activation is interpreted and the time that elapses between these activations.
Esto significa que se puede escalar en tamaño la invención para que pueda ser usada con una mano sin dedos exactamente igual que como se usaría con un solo dedo; la única diferencia sería que las distancias que hay que mover la mano serán, lógicamente, mayores que las que hay que mover el dedo.  This means that the invention can be scaled in size so that it can be used with a fingerless hand exactly the same as it would be used with a single finger; the only difference would be that the distances to be moved by the hand will be, logically, greater than those to be moved by the finger.
Es fácil ver que, usando este modelo escalado de la invención, y combinándolo con el uso de gestos, el usuario discapacitado tiene un dispositivo de entrada con una capacidad funcional y expresiva que no puede ser alcanzada con ninguna de las alternativas actuales. Es interesante también hacer notar que el escalado de la invención sólo requiere aumentar las distancias entre sensores, pero ningún cambio en el hardware de sensores y procesamiento (y, por tanto, en el coste de la solución).  It is easy to see that, using this scaled model of the invention, and combining it with the use of gestures, the disabled user has an input device with a functional and expressive capacity that cannot be achieved with any of the current alternatives. It is also interesting to note that the scaling of the invention only requires increasing the distances between sensors, but no change in the sensor and processing hardware (and, therefore, in the cost of the solution).
- Persona sin manos (o brazos): Es un caso más extremo de la discapacidad anterior, y corresponde a una persona que, por accidente, enfermedad, o cualquier otra razón, ha perdido ambas manos (o, peor, ambos brazos, a una distancia más o menos cerca del hombro). - Person without hands (or arms): It is a more extreme case of the previous disability, and corresponds to a person who, by accident, illness, or any other reason, has lost both hands (or, worse, both arms, to a distance more or less close to the shoulder).
Con esta discapacidad debemos descartar cualquiera de los dispositivos de entrada convencionales del punto anterior, porque sin manos (o brazos) no es posible operar ratones, touchpads, trackpads o pantallas táctiles. Sin embargo, si la persona sigue teniendo al menos un pie sigue siendo posible emplear una realización de la invención; una versión escalada de la realización preferente, que se emplea moviendo un pie sobre la superficie que contiene los sensores. La forma de emplear esta versión escalada (usando el sensor central para mover el cursor, y desplazamientos laterales sobre los tres sensores para activar gestos y pulsaciones) puede recordar un poco a la forma como un músico utiliza el pie para accionar la pedalera de graves de un órgano. With this disability we must discard any of the conventional input devices from the previous point, because without hands (or arms) it is not possible to operate mice, touchpads, trackpads or touch screens. However, if the person still has at least one foot it is still possible to employ an embodiment of the invention; a scaled version of the preferred embodiment, which is used by moving one foot on the surface containing the sensors. The way to use this scaled version (using the central sensor to move the cursor, and lateral displacements on the three sensors to activate gestures and pulsations) can remind a little of the way a musician uses the foot to operate the bass pedal of an organ
Obsérvese que en este texto, el término "comprende" y sus derivaciones (tal como "comprendiendo", etc.) no han de entenderse en un sentido excluyente, es decir, estas expresiones no deben interpretarse como que excluyen la posibilidad de que lo que se describe y define pueda incluir otros elementos, etapas, etc. Note that in this text, the term "comprises" and its derivations (such as "understanding", etc.) are not to be understood in an exclusive sense, that is, these expressions should not be construed as excluding the possibility that what described and defined may include other elements, stages, etc.

Claims

REIVINDICACIONES
1. - Método de navegación óptico para un dispositivo apuntador en un monitor de un sistema informático caracterizado por que comprende: 1. - Optical navigation method for a pointing device on a monitor of a computer system characterized by comprising:
- detectar por medio de al menos 2 sensores ópticos una información de desplazamiento generada por un usuario sobre dichos sensores ópticos; comparar la información de desplazamiento obtenida por los sensores ópticos con información de desplazamiento de unos gestos preestablecidos, que llevan asociados la ejecución de uno o varios eventos;  - detecting by means of at least 2 optical sensors a travel information generated by a user on said optical sensors; comparing the displacement information obtained by the optical sensors with displacement information of a predetermined gestures, which are associated with the execution of one or more events;
si la información de desplazamiento detectada por los sensores ópticos es igual a la información de desplazamiento de algún gesto preestablecido, ejecutar el evento, o eventos, asociado a dicho gesto preestablecido;  if the displacement information detected by the optical sensors is equal to the displacement information of any preset gesture, execute the event, or events, associated with said preset gesture;
- si la información de desplazamiento detectada por los sensores ópticos no es igual a la de ningún gesto preestablecido desplazar un cursor en el monitor del sistema informático de acuerdo a la información de desplazamiento detectada sobre los sensores ópticos.  - if the displacement information detected by the optical sensors is not equal to that of any preset gesture, move a cursor on the computer system monitor according to the displacement information detected on the optical sensors.
2. - El método de la reivindicación 1 donde los datos de desplazamiento son detectados por 3 sensores ópticos dispuestos en línea sobre un teclado de ordenador, los datos recogidos por los sensores ópticos laterales activan distintas funcionalidades y gestos. 2. - The method of claim 1 wherein the displacement data is detected by 3 optical sensors arranged in line on a computer keyboard, the data collected by the lateral optical sensors activate different functionalities and gestures.
3. - El método de cualquiera de las reivindicaciones anteriores donde además se detecta un evento de click procesando una señal de seguimiento, y las señales de desplazamiento en un eje vertical y un eje horizontal, por tanto se detecta un click cuando en un determinado intervalo de tiempo coinciden una variación en la señal de seguimiento junto con ausencia de datos de desplazamiento detectados por los sensores ópticos en el eje vertical y horizontal. 3. - The method of any of the preceding claims wherein a click event is also detected by processing a tracking signal, and the displacement signals on a vertical axis and a horizontal axis, therefore a click is detected when at a certain interval A variation in the tracking signal coincides with the absence of displacement data detected by the optical sensors on the vertical and horizontal axis.
4. - El método de la reivindicación 3 donde la señal de seguimiento es squal 4. - The method of claim 3 wherein the tracking signal is squal
5. - El método de cualquiera de las reivindicaciones anteriores donde los gestos preestablecidos comprenden información de desplazamiento que emula el giro de la rueda de un ratón de ordenador. 5. - The method of any of the preceding claims wherein the pre-established gestures comprise displacement information that emulates the rotation of the wheel of a computer mouse.
6. - El método de cualquiera de las reivindicaciones anteriores donde los gestos preestablecidos comprenden información de desplazamiento que emula el conocido evento de arrastrar una selección, habitualmente realizado mediante un ratón de ordenador. 6. - The method of any of the preceding claims wherein the preset gestures comprise displacement information that emulates the known event of dragging a selection, usually made using a computer mouse.
7. - El método de cualquiera de las reivindicaciones anteriores donde los gestos preestablecidos comprenden información de desplazamiento que produce el evento de lanzar una aplicación. 7. - The method of any of the preceding claims wherein the pre-established gestures comprise displacement information produced by the event of launching an application.
8. - El método de cualquiera de las reivindicaciones anteriores donde los gestos preestablecidos comprenden información de desplazamiento que produce el evento de abrir un fichero. 8. - The method of any of the preceding claims wherein the pre-established gestures comprise displacement information produced by the event of opening a file.
9. - El método de cualquiera de las reivindicaciones anteriores donde los gestos preestablecidos comprenden información de desplazamiento que produce el evento de minimizar todas las aplicaciones abiertas. 9. - The method of any of the preceding claims wherein the preset gestures comprise displacement information that produces the event of minimizing all open applications.
10. - El método de cualquiera de las reivindicaciones anteriores donde los gestos preestablecidos son configurados por el usuario asociando cualquier evento con una secuencia de gestos a realizar sobre los sensores ópticos. 10. - The method of any of the preceding claims wherein the preset gestures are configured by the user associating any event with a sequence of gestures to be performed on the optical sensors.
11. - El método de cualquiera de las reivindicaciones anteriores donde la información de desplazamiento que los sensores ópticos detectan del usuario se produce actuando el usuario con los dedos sobre los sensores ópticos. 11. - The method of any of the preceding claims wherein the displacement information that the optical sensors detect from the user is produced by operating the user with the fingers on the optical sensors.
12. - El método de cualquiera de las reivindicaciones anteriores donde la información de desplazamiento que los sensores ópticos detectan del usuario se produce actuando el usuario sobre los sensores ópticos con cualquier parte de su cuerpo o con un objeto. 12. - The method of any of the preceding claims wherein the displacement information that the optical sensors detect from the user is produced by the user acting on the optical sensors with any part of his body or with an object.
13. - El método de la reivindicación 1 donde para el desplazamiento del cursor se utiliza un algoritmo de aceleración configurado para transmitir gradualmente el movimiento del usuario sobre los sensores ópticos. 13. - The method of claim 1 wherein an acceleration algorithm configured to gradually transmit the user's movement over the optical sensors is used for cursor movement.
14. - Sistema de navegación óptico apropiado para apuntar y activar funciones en un equipo informático; el sistema está caracterizado por comprender: 14. - Appropriate optical navigation system to point and activate functions in a computer equipment; The system is characterized by comprising:
una pluralidad de sensores ópticos que detectan la información de desplazamiento de un usuario actuando sobre ellos y se los proporcionan a un microcontrolador; un microcontrolador que establece las comunicaciones entre la pluralidad de sensores ópticos y un módulo de procesamiento al que entrega la información de desplazamiento detectada por la pluralidad de sensores ópticos; a plurality of optical sensors that detect the displacement information of a user acting on them and provide them to a microcontroller; a microcontroller that establishes communications between the plurality of optical sensors and a processing module to which it delivers the information of displacement detected by the plurality of optical sensors;
un módulo de procesamiento que:  a processing module that:
o detecta por medio de al menos 2 sensores ópticos una información de desplazamiento generada por un usuario sobre dichos sensores ópticos; o compara la información de desplazamiento con información de desplazamiento de unos gestos preestablecidos que llevan asociados la ejecución de unos eventos;  or detects by means of at least 2 optical sensors a travel information generated by a user on said optical sensors; or compares the displacement information with displacement information of pre-established gestures that are associated with the execution of some events;
o si la información de desplazamiento detectada por los sensores ópticos es igual a la información de desplazamiento de algún gesto preestablecido, ejecutar el evento asociado a dicho gesto preestablecido;  or if the displacement information detected by the optical sensors is equal to the displacement information of some preset gesture, execute the event associated with said preset gesture;
o si la información de desplazamiento no es igual a la información de desplazamiento de ningún gesto preestablecido, desplazar un cursor en el monitor del sistema informático de acuerdo a la información de desplazamiento detectada sobre los sensores ópticos.  or if the displacement information is not equal to the displacement information of any preset gesture, move a cursor on the computer system monitor according to the displacement information detected on the optical sensors.
15. - El sistema de la reivindicación 14 donde la pluralidad de sensores ópticos es 3 sensores ópticos dispuestos en línea sobre el teclado de un ordenador, donde el sensor óptico central recoge información de desplazamiento del usuario y los sensores ópticos laterales detectan clicks que activan distintas funcionalidades y gestos. 15. - The system of claim 14 wherein the plurality of optical sensors is 3 optical sensors arranged in line on the keyboard of a computer, wherein the central optical sensor collects user travel information and the lateral optical sensors detect clicks that activate different functionalities and gestures.
16. - El sistema de la reivindicación 15 donde la pluralidad de sensores ópticos se dispone inmediatamente encima de los cursores de un teclado de ordenador. 16. - The system of claim 15 wherein the plurality of optical sensors is arranged immediately above the cursors of a computer keyboard.
17. - Un programa informático que comprende medios de código de programa adaptados para realizar las etapas del método según cualquiera de las reivindicaciones 1 a 13 cuando dicho programa se ejecuta en un procesador de propósito general, un procesador de señal digital, una FPGA, un ASIC, un microprocesador, un microcontrolador, o cualquier otra forma de hardware programable. 17. - A computer program comprising program code means adapted to perform the steps of the method according to any of claims 1 to 13 when said program is executed in a general purpose processor, a digital signal processor, an FPGA, a ASIC, a microprocessor, a microcontroller, or any other form of programmable hardware.
PCT/ES2012/000324 2011-12-29 2012-12-27 Optical navigation method and system for a pointing device that is suitable for computer systems WO2013098436A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ES201132132A ES2416833B8 (en) 2011-12-29 2011-12-29 Method and optical navigation system for an appropriate pointing device for computer equipment.
ESP201132132 2011-12-29

Publications (1)

Publication Number Publication Date
WO2013098436A1 true WO2013098436A1 (en) 2013-07-04

Family

ID=48696376

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2012/000324 WO2013098436A1 (en) 2011-12-29 2012-12-27 Optical navigation method and system for a pointing device that is suitable for computer systems

Country Status (2)

Country Link
ES (1) ES2416833B8 (en)
WO (1) WO2013098436A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090139778A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation User Input Using Proximity Sensing
US20090195503A1 (en) * 2008-02-05 2009-08-06 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Reporting optical tracking data based on integrated resolution switching and surface detection
US20100315336A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Pointing Device Using Proximity Sensing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090139778A1 (en) * 2007-11-30 2009-06-04 Microsoft Corporation User Input Using Proximity Sensing
US20090195503A1 (en) * 2008-02-05 2009-08-06 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. Reporting optical tracking data based on integrated resolution switching and surface detection
US20100315336A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Pointing Device Using Proximity Sensing

Also Published As

Publication number Publication date
ES2416833B8 (en) 2015-03-03
ES2416833B1 (en) 2014-07-09
ES2416833A1 (en) 2013-08-02

Similar Documents

Publication Publication Date Title
US11755137B2 (en) Gesture recognition devices and methods
US11983326B2 (en) Hand gesture input for wearable system
US20220083880A1 (en) Interactions with virtual objects for machine control
KR102335132B1 (en) Multi-modal gesture based interactive system and method using one single sensing system
US8730169B2 (en) Hybrid pointing device
US20060028457A1 (en) Stylus-Based Computer Input System
US20150193023A1 (en) Devices for use with computers
WO2014003796A1 (en) Virtual hand based on combined data
JP6194355B2 (en) Improved devices for use with computers
TWI476639B (en) Keyboard device and electronic device
CN107135660A (en) A kind of false-touch prevention method, device and electronic equipment
US20140253486A1 (en) Method Using a Finger Above a Touchpad During a Time Window for Controlling a Computerized System
TWI788607B (en) Human computer interaction system and human computer interaction method
US20120206353A1 (en) Hybrid pointing device
US10222866B2 (en) Information processing method and electronic device
US10466812B2 (en) Enhancing input on small displays with a finger mounted stylus
ES2416833B1 (en) Optical navigation method for a pointing device on a monitor of a computer system
TW201537389A (en) Gesture recognition method for motion sensing detector
Morelli et al. Back-Pointer—Fitts' law analysis of natural mobile camera based interactions
Nguyen 3DTouch: Towards a Wearable 3D Input Device for 3D Applications
KR20210004567A (en) Electronic device
TW201504925A (en) Method for operating user interface and electronic device

Legal Events

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

Ref document number: 12863282

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12863282

Country of ref document: EP

Kind code of ref document: A1