'Handle a new keypress and call the respective handlers.
Args:
e: the KeyPressEvent from Qt
Return:
True if the event was handled, False otherwise.'

def handle(self, e):

    handled = self._handle_special_key(e)
    if (handled or (not self._supports_chains)):
        return handled
    match = self._handle_single_key(e)
    if self._keystring:
        self.keystring_updated.emit(self._keystring)
    return (match != self.Match.none)
