code: def handle_input(self, event):
          
          self.update_timeval()
          self.events = []
          code = self._get_event_key_code(event)
  
          if code in self.codes:
              new_code = self.codes[code]
          else:
              new_code = 0
          event_type = self._get_event_type(event)
          value = self._get_key_value(event, event_type)
          scan_event, key_event = self.emulate_press(
              new_code, code, value, self.timeval)
  
          self.events.append(scan_event)
          self.events.append(key_event)
          # End with a sync marker
          self.events.append(self.sync_marker(self.timeval))
          # We are done
          self.write_to_pipe(self.events)
docs: Process they keyboard input.