[Urwid] Urwid on Win32
Ian Ward
ian at excess.org
Thu Aug 24 09:04:00 EDT 2006
I've CC'd this message to the pdcurses list as well.
Gottfried Ganßauge wrote:
> Being interested in the hachoir file dissector (http://www.hachoir.org)
> I managed to compile a _curses-Module under Windows using pdcurses
> (http://pdcurses.sourceforge.net/).
> This started running quite fine but didn't accept any special keys and
> additionally didn't recognize Enter.
>
> Please consider the attached patch against urwid-0.9.6 for rectifying
> this behaviour.
...
> - self.s.keypad(0)
> + self.s.keypad(hasattr (sys, "getwindowsversion"))
The ncurses library will do extra processing of the user input when
keypad is set. I disabled this behaviour because ncurses will hold on
to incomplete escape sequences (such as just the ESC key) for up to 1
second before returning them.
Since it seems that the only way to get special characters from pdcurses
is with keypad set, I would prefer something like:
self.s.keypad(is_running_under_pdcurses)
> - def set_input_timeouts(self, max_wait=0.5, complete_wait=0.1,
> + def set_input_timeouts(self, max_wait=0.1, complete_wait=0.1,
> resize_wait=0.1):
The proper way to change the input timeouts for your application is to
call this function from your application. eg:
urwid.set_input_timeouts(max_wait=0.1)
> -
> +if os.name == 'nt': # Windows
> + _keyconv [13] = 'enter'
I wonder why pdcurses doesn't send LF on enter? That must cause
problems with other curses applications!
Ian
More information about the Urwid
mailing list