docs: def keyboard(self, default=None, heading=None, hidden=False):
          '''Displays the keyboard input window to the user. If the user does not
          cancel the modal, the value entered by the user will be returned.
  
          :param default: The placeholder text used to prepopulate the input field.
          :param heading: The heading for the window. Defaults to the current
                          addon's name. If you require a blank heading, pass an
                          empty string.
          :param hidden: Whether or not the input field should be masked with
                         stars, e.g. a password field.
          '''
          if heading is None:
              heading = self.addon.getAddonInfo('name')
          if default is None:
              default = ''
          keyboard = xbmc.Keyboard(default, heading, hidden)
          keyboard.doModal()
          if keyboard.isConfirmed():
              return keyboard.getText()