def switch_on_reasonable_motion(self, mouse_x):
        """Switch mouse motion routine once a reasonable motion is made.

        After entering mouse edition mode, the first one or two mouse
        motion events might have been generated before moving the mouse
        to the center of screen, which would cause a big jump in the
        value not caused by the user's movement and therefore undesirable.

        Because of that, this method is set as the initial mouse motion
        routine to watch out for the positions of the mouse in the x axis.

        As soon as we detect a reasonable motion, we pass the value to
        the regular mouse motion routine and set such routine as the one
        to be used from now on.

        Parameters
        ==========
        mouse_x (integer)
            represents the position of the mouse on the screen,
            in the x axis.
        """
        ### the number 30 in this if-block is arbitrary; it must be a
        ### a small number and higher than 0 though, since it is
        ### compared with an absolute value (the result of abs());
        ###
        ### there are actually more nuances about this value, but I don't
        ### believe it is worthy studying it in depth; in summary, the
        ### higher this value, the higher the initial jump can be; since
        ### we don't want the initial jump to affect the value, we only
        ### allow the first small difference to be used.

        if abs(mouse_x - SCREEN_RECT.centerx) < 30:

            self.change_value_by_mouse_motion(mouse_x)
            self.mouse_motion_routine = self.change_value_by_mouse_motion
Switch mouse motion routine once a reasonable motion is made.

        After entering mouse edition mode, the first one or two mouse
        motion events might have been generated before moving the mouse
        to the center of screen, which would cause a big jump in the
        value not caused by the user's movement and therefore undesirable.

        Because of that, this method is set as the initial mouse motion
        routine to watch out for the positions of the mouse in the x axis.

        As soon as we detect a reasonable motion, we pass the value to
        the regular mouse motion routine and set such routine as the one
        to be used from now on.

        Parameters
        ==========
        mouse_x (integer)
            represents the position of the mouse on the screen,
            in the x axis.
        
nodezator/widget/intfloatentry/modes.py