Read one character from stdin.

        If stdin is not a tty or set `getch_enabled`=False, read input as one line.
        :return: unicode:

def getch(self):
        """
        Read one character from stdin.

        If stdin is not a tty or set `getch_enabled`=False, read input as one line.
        :return: unicode:
        """
        ch = self._get_one_char()
        if self.keep_input_clean:
            self.clear_input_buffer()

        try:
            # accept only unicode characters (for Python 2)
            uch = to_unicode(ch, 'ascii')
        except UnicodeError:
            return ''

        return uch if self._check_key_repeat(uch) else ''