def _update_input(self):
	interrupt_flags = self._seesaw.get_GPIO_interrupt_flag()

	# Read buttons and update self._buttons_state			
	if (interrupt_flags & self.SS_BUTTON_BITS) != 0:
		self._buttons_state = ~self._seesaw.digital_read_bulk(self.SS_BUTTON_BITS)
		self._buttons_state &= self.SS_BUTTON_BITS
		self._buttons_state >>= 1

	# Update self._rotary_encoder_delta
	if (interrupt_flags & self.ROTARY_BITS) == 0:
		self._rotary_encoder_delta = 0
	else:
		self._rotary_encoder_delta = self._seesaw.encoder_delta()