the present gesture control method for interacting with a mobile or wearable device using a stream of sensor data as input data comprises steps of configuration of a user &# 39 ; s device and drift eliminating wherein predefining the set of initial poses of the user &# 39 ; s device ; predefining the commands and functionalities of user &# 39 ; s device associated to said initial poses ; adopting the each predefined initial pose for the desired functionality ; obtaining the signal of trigger activation ; acquiring data from at least one sensor ; using the first values of the sensor data to detect the predefined initial pose ; determining the functionality according to the predefined initial pose ; formatting the sensor data ( if required ) for said functionality ; interpreting the rest of values of the input data stream according to said functionality . the trigger activation is a function or command ( for example physical button , touch sensor , wireless trigger , sound , or light based trigger , orientation or acceleration based trigger , or any other threshold based trigger using various sensors ) initiated by device itself or by an external interaction . acquiring input data comprises numeric values representing quantifiable parameters ( for example orientation , acceleration , heading ) related to the mobile or wearable device use . the rest of the input data is managed by different functions , by the same function but with different parameters , ignored or managed by any other method . in an alternative embodiment , the present gesture control method for interacting with a mobile or wearable device using a stream of sensor data as input data comprises steps of configuration of user &# 39 ; s mobile or wearable device ; predefining the set of initial poses of the device ; predefining the functionalities associated to those initial poses ; adopting the initial pose for the desired functionality ; activating the trigger ; acquiring data from the sensors ; using the first values of the data to detect the initial pose ; determining the functionality according to the initial pose ; formatting the data ( if required ) for that functionality ; interpreting the rest of the input data stream according to that functionality . in the alternative embodiment , the trigger activation is a function or command initiated by the user ; acquiring input data comprises numeric values representing quantifiable parameters related to the mobile device use and the rest of the input data is managed by different functions , by the same function but with different parameters , ignored or managed by any other method . the nature of the sensor data used in the present invention as input data is for example inertial measurement unit ( imu ), camera , linear and / or angular accelerometer , magnetometer , gyroscope , color sensor , electrostatic field sensor , tilt sensor , gps , backlight , clock , battery level , status of a bluetooth connection or any other quantifiable parameter measuring unit related to the mobile or wearable device use or their combination . the sensor data is generated by the device comprising corresponding sensor or received in any way . in step of configuration of user &# 39 ; s device , the predefined poses of the user &# 39 ; s device are for example the orientation of the device , the movement of the device ( for example linear or nonlinear , oscillation or vibration , shaking , uniform or non uniform movement . the predefined functionalities assigned to predefined poses are specific commands to the device . the predefining of the initial poses comprises direct data values ( for example battery level , orientation of the device , etc .) and data derived from the direct data values ( for example if orientation changes fast the device is being shaken . if gps changes fast the user of mobile or wearable device is in transportation vehicle , etc .). therefore , some of the values of an initial pose are direct inputs from the user &# 39 ; s device ( e . g . orientation , shaking of the device ) and other values are circumstantial . the values chosen by the user are the key of the present invention , because the chosen values give the user the ability of selecting an initial pose ( shake the device , put it vertical , etc .) before activating the trigger . as the user knows the possible initial poses , the selection of a pose is equivalent to the selection of a command to the device ( type this letter , create a mouse pointer on the screen , switch off the tv , etc .). the activation trigger is for example a button on the device , a software function , the starting moment of a data streaming or any other method , function or command initiated by the user , by the device itself or by an external interaction . fig1 illustrates the problem known from prior art wherein the user , wearing a wristband 302 points to a screen 303 . the user is using his finger to point on the direction 201 , but the wristband is actually using the direction 202 as a pointing reference . when the user twist his hand 401 around his pointing finger , he expect the dot 101 a to do not move , but because of his human body is not accurate on that task , the dot will move to position 101 b . in addition , because of the wristband reference direction is slightly different , the same turn will move the dot 102 a to the position 102 b . fig2 explains elevation - heading - bank coordinates system , also called tait - bryan angles , cardan angles , nautical angles or yaw - pitch - roll , which is used in the method according to present invention . for properly fixing the reference system to the mobile or wearable device in a way that the values of the parameters ( elevation - heading - bank ) have a physical meaning directly related to the orientation and movements of the device ( user interaction ), first it is required to define a pointing direction on the device and a reference ( starting values ) for the bank ( roll ) and heading ( yaw ). all these parameters may be fixed by the target system , by the user or dynamically changed by any algorithm . for example , if the user wants to use his hand as an air - plane , the direction of the fingers could be the pointing direction and the palm of the hand facing down could be the zero - reference for the bank ( roll ). doing so , the angle of the fingers with the floor would be the elevation ( from − 90 to 90 degrees ) and the angle that the fingers turns in the horizontal plane would be the heading ( yaw ). as it is well known , this coordinates system is affected by the gimbal lock and therefore inconvenient for defining orientations where elevation is near vertical , because on that circumstance the heading and bank become uncertain / undefined . at this point it is important to underline that the present method do not discuss which algorithm is used for tracking the orientation ( for different applications and circumstances , different algorithms may be used , if necessary ). the present method focuses on the user interaction and the usage of the data , however it has being obtained . the elevation - heading - bank system is used in the present method in several following ways : accurate elevation in every circumstance : as accelerometer use to be the basic sensor and the accuracy on the ground direction is strongly trustful for a handheld device ( as long as the hand is not strongly shaking ), the elevation value can be used as accurate input data . accurate bank : as long as the elevation is not near - vertical , the calculation of the bank is also accurate and do not accumulate any errors . repeatability : if the device is on certain orientation , it moves and shakes and then go back to the same orientation , both elevation and bank will have the same values than before . heading could have drifted and accumulated errors , especially if there is no magnetometer to compensate them . even with magnetometer , if the user is moving inside a building , sitting in a moving train or other circumstances , heading may be affected , but not elevation and bank . instant translation into a virtual joystick : elevation can be used as a reference of the front - back movement of a virtual joystick and the bank for the right - left movement . no extra conversions or calculations are required . instant access to elevation and bank values : even if the device is in sleep mode and imu sensors disconnected , activating a trigger it is possible to wake up accelerometer and obtain , in milliseconds , the value of the elevation and bank . ( only accelerometer is required for all the previous cases , so this is possible even in extremely simple wearables without gyroscope ). instant translation into a screen pointer : elevation can be used as a reference of the vertical movement on a screen and the heading for the horizontal movement . no extra conversions or calculations are required . absolute or relative values . depending on the application , could be interesting , for example , to use a relative heading value that can be reset dynamically to avoid drift or other errors while using absolute or relative elevation and bank indistinctly . smooth twists ( virtual dial manipulation ). as explained before , if the user tries to twist the device around a pointing direction , he will be quite accurate on the turned angle ( the bank ) but will fail to keep the same pointing direction ( will change the heading and elevation accidentally ). just adding an offset variable to the elevation and heading it is instant to fix the values of elevation and heading during the twist movements . the result is that when the user twist his hand or activates any possible trigger , the heading and elevation can be frozen and the bank value can be used as an accurate input . this match perfectly with a use case where the user pick up in the air a virtual dial and turns clockwise or counterclockwise for adjusting a value , like the volume of a music player , for example . fig3 illustrates some examples of orientations according to the present invention defined by elevation ( 1 , 2 , 3 , 4 , 5 ) and bank ( a , b , c ). as explained before , for vertical orientations ( 1 & amp ; 5 ) the bank is undefined . these orientations can be easily understood by the user and may be used as starting orientations for different functionalities . for example , starting on 2 b and moving to 2 a - 2 c ( changing the bank angle ) may be regulating the music volume . fig4 illustrates the drift problem from prior art , if user wearing smart wristband 102 points to screen 101 it is expected to see cursor in location 103 which is intuitive , not location 104 , for example . according to the present invention the drift eliminating is carried out , when user detects drift of comfort window , by moving limb or other body part wearing sensor to edge of comfort window . it may or may not include haptic , visible or audible feedback to user . fig5 and fig6 illustrate the present invention , for example if user 102 points to screen 101 , then cursor may appear at location 104 because of different uncertainties and drift . user can easily and intuitively come out of situation by moving hand into new position as shown on image fig6 . this behavior is known from computer mouse . if cursor hits the border , sensor can be moved more and more further but cursor remains at edge of screen . fig7 describes the present invention more specifically . according to present invention such “ screen border ” is applied in real world . for wearables , there is no strict physical screen but comfort window of limb or body movement . in this embodiment , the initial poses of miniature wearable device ( for example smart ring or jewelry ) is predefined and functionalities associated to the initial poses are predefined to configure the user &# 39 ; s device . to eliminate the drift , the predefined poses are adopted to associated functionalities , for example the movement , orientation and pose of miniature device corresponds to cursor movements on screen and associated commands and functions , for example select , click , drag , drop , scroll , move back and forward while surfing in internet or browsing media , display or hide the cursor , type letters and punctuation marks . on fig7 marks actual comfort zone for user and 101 is erroneous location of comfort window as understood by wearable device ( or device which uses wearable as input sensory ). when the trigger is activated and corresponding signal is obtained , the user manipulates cursor 104 a right - lower using limb which is carried out by using the first values of acquired data from the sensor of user &# 39 ; s miniature wearable device to detect the initial pose and to determine the functionality according to the predefined initial pose . because cursor instantly hits border of comfort window 101 known for wearable , window location is adjusted accordingly by formatting the data for this functionality . when user manipulates cursor from 104 a to 104 b , window 101 location is adjusted to new location 105 . to ensure better user experience this process provide feedback to user — visual , haptic or other . on fig8 it is assumed that user wants to use pencil tool to draw line on screen . moving limb on x and y axes user can draw line ( while trigger is activated , for example ). pressing single button ( or any other trigger ) activates drawing , releasing button ( or any other trigger ) makes pencil move around freely without drawing . in existing user interfaces , extra menu is displayed to allow user to select eraser and other tools . current invention adds function of tool selection to borders of screen or any other realm user is working in . for example , user can move cursor up and touch border 101 to select pencil , make drawings and then touch border 102 to select eraser . this can be applied to any border or any corner of screen or any other realm of user . for example wearable devices like vr headsets can use turning head left , right , up or down to activate same functionalities . user may get or not get feedback about selected tool . it can be changed shape of cursor , audible signal or haptic feedback .