code: def handle_key(self, key):
          
          try:
              func = None
              if key.is_sequence:
                  try:
                      func = self.config.keymap[key.name]
                  except:
                      try:
                          func = self.config.keymap[key.code]
                      except:
                          func = self.config.keymap[str(key)]
              else:
                  func = self.config.keymap[str(key)]
  
              if func in self.valid_key_funcs:
                  getattr(self, func)()
          except:
              raise
docs: Handle a keypress. Concrete subclasses can implement this method if
          custom keypresses need to be handled other than for exit and scrolling.