docs: def receive_device_value(self, raw_value: int):
          """
          Set a new value, called from within the joystick implementation class when parsing the event queue.
  
          :param raw_value: the raw value from the joystick hardware
  
          :internal:
          """
          new_value = self._input_to_raw_value(raw_value)
          if self.button is not None:
              if new_value > (self.button_trigger_value + 0.05) > self.__value:
                  self.buttons.button_pressed(self.button.key_code)
              elif new_value < (self.button_trigger_value - 0.05) < self.__value:
                  self.buttons.button_released(self.button.key_code)
          self.__value = new_value
          if new_value > self.max:
              self.max = new_value
          elif new_value < self.min:
              self.min = new_value