docs: def axis_updated(self, event: InputEvent, prefix=None):
          """
          Called to process an absolute axis event from evdev, this is called internally by the controller implementations
  
          :internal:
  
          :param event:
              The evdev event to process
          :param prefix:
              If present, a named prefix that should be applied to the event code when searching for the axis
          """
          if prefix is not None:
              axis = self.axes_by_code.get(prefix + str(event.code))
          else:
              axis = self.axes_by_code.get(event.code)
          if axis is not None:
              axis.receive_device_value(event.value)
          else:
              logger.debug('Unknown axis code {} ({}), value {}'.format(event.code, prefix, event.value))