[nylug-workshop] Fwd: [nylug-talk] [Reminder] Regular meetings of
the Python workshop @ Tue Dec 5 6pm - 8pm
Dan Crosta
Mon Dec 4 23:05:47 EST 2006
err, whoops...meant this for the workshop list
- d
Begin forwarded message:
> From: Dan Crosta <dcrosta at sccs.swarthmore.edu>
> To: NYLUG Technical Discussion <nylug-talk at nylug.org>
> Subject: Re: [nylug-talk] [Reminder] Regular meetings of the Python
> workshop @ Tue Dec 5 6pm - 8pm
>
> On Dec 4, 2006, at 6:51 PM, Peter C. Norton wrote:
>> At this week's workshop, we'll be looking at trying to understand the
>> dtk CursesEngine input handling, and trying to either reproduce it to
>> better determine how it works in an isolated example, or add logging
>> to the CursesEngine to find out more about what's being received by
>> dtk when it doesn't (seem to) properly handle inputs.
>
> It might not be that worth trying to understand or recreate the
> behavior of the current input routines in curses engine -- the only
> important behavior it has is to translate keys (however the input
> is represented, and on that score I think Peter's method wins for
> clarity) into the user friendly strings, eg:
>
> <user presses page up> => <dtk program sees 'page up'>
>
> That said, if you do try to recreate the behavior as it currently
> stands, it might be worth going a slightly different route: rather
> than having the keymap class variable and curmap instance variable
> references, it might be simpler and clearer to have just the keymap
> nested dict and an accumulator list of seen input. the behavior
> would then be, every time parseInput() is called walk through
> keymap using the values accumulated input values. then, if this
> results in traversing keymap to a leaf node (ie a string value),
> return that and remove from the accumulator input that was
> consumed; if it runs out of the keymap, then this is a key keymap
> doesn't know about; and if it ends up somewhere in between return
> none and wait for more input to be added to the accumulator. this
> has the advantage of allowing the possibility to queue input for
> later consideration, for instance in a threaded application.
>
> - d
More information about the nylug-workshop
mailing list