# HG changeset patch # User Sascha L. Teichmann # Date 1217540945 -7200 # Node ID 80f0e17208ba5792f0bdfb40c30dbecf90860ba9 # Parent 58a887531e6e95bb3a75fa84fbe7826d011b1f0e Feature wish 8. Fn is like -n diff -r 58a887531e6e -r 80f0e17208ba ChangeLog --- a/ChangeLog Thu Jul 31 23:05:39 2008 +0200 +++ b/ChangeLog Thu Jul 31 23:49:05 2008 +0200 @@ -1,3 +1,8 @@ +2008-07-31 Sascha L. Teichmann + + * getan: Feature wish 8: F1 is like -1, F2 is like -2 + to F10 is like -0. + 2008-07-31 Sascha L. Teichmann * getan: Feature wish 4: in +/- time defaults to minutes. diff -r 58a887531e6e -r 80f0e17208ba getan --- a/getan Thu Jul 31 23:05:39 2008 +0200 +++ b/getan Thu Jul 31 23:49:05 2008 +0200 @@ -151,6 +151,19 @@ total += int(v) * factor return total +ESC_MAP = { + curses.KEY_F1 : ord('1'), + curses.KEY_F2 : ord('2'), + curses.KEY_F3 : ord('3'), + curses.KEY_F4 : ord('4'), + curses.KEY_F5 : ord('5'), + curses.KEY_F6 : ord('6'), + curses.KEY_F7 : ord('7'), + curses.KEY_F8 : ord('8'), + curses.KEY_F9 : ord('9'), + curses.KEY_F10: ord('0'), +} + ZERO = timedelta(0) class UTC(tzinfo): @@ -430,6 +443,11 @@ tolerantClose(cur) def pausedState(self, c): + c2 = ESC_MAP.get(c) + if c2: + self.pausedEscapeState(c2) + return + global stdscr if c in (curses.KEY_DC, curses.KEY_BACKSPACE): stdscr.erase() @@ -507,6 +525,11 @@ def runningState(self, c): global stdscr + c2 = ESC_MAP.get(c) + if c2: + self.runningEscapeState(c2) + return + if c == curses.ascii.ESC: self.state = RUNNING_ESC