code: def process_event(self, event):
          
          if isinstance(event, KeyboardEvent):
              if event.key_code in [Screen.ctrl("m"), Screen.ctrl("j")]:
                  self._scene.add_effect(
                      EnterLocation(
                          self._screen, self._longitude, self._latitude, self._on_new_location))
              elif event.key_code in [ord('q'), ord('Q'), Screen.ctrl("c")]:
                  raise StopApplication("User quit")
              elif event.key_code in [ord('t'), ord('T')]:
                  self._satellite = not self._satellite
                  if self._satellite:
                      self._size = _START_SIZE
              elif event.key_code == ord("?"):
                  self._scene.add_effect(PopUpDialog(self._screen, _HELP, ["OK"]))
              elif event.key_code == ord("+") and self._zoom <= 20:
                  if self._desired_zoom < 20:
                      self._desired_zoom += 1
              elif event.key_code == ord("-") and self._zoom >= 0:
                  if self._desired_zoom > 0:
                      self._desired_zoom -= 1
              elif event.key_code == ord("0"):
                  self._desired_zoom = 0
              elif event.key_code == ord("9"):
                  self._desired_zoom = 20
              elif event.key_code == Screen.KEY_LEFT:
                  self._desired_longitude -= 360 / 2 ** self._zoom / self._size * 10
              elif event.key_code == Screen.KEY_RIGHT:
                  self._desired_longitude += 360 / 2 ** self._zoom / self._size * 10
              elif event.key_code == Screen.KEY_UP:
                  self._desired_latitude = self._inc_lat(self._desired_latitude, -self._size / 10)
              elif event.key_code == Screen.KEY_DOWN:
                  self._desired_latitude = self._inc_lat(self._desired_latitude, self._size / 10)
              else:
                  return
  
              # Trigger a reload of the tiles and redraw map
              self._updated.set()
              self._screen.force_update()
docs: User input for the main map view.