def create(self):
self.name = 'Dictionary Browser \xe2\x94\x80\xe2\x94\x80 (Press F1 for help)'
self.add_handlers({curses.KEY_F1: self.usage,
ord('/'): self.search,
ord('f'): self.filter,
ord('r'): self.reset,
ord('q'): self.quit})
self.items = self.add(npyscreen.TitleText, name='Items total', value='0', editable=False)
self.add(npyscreen.TitleText, name='PS version', value='3010', editable=False)
self.search_btn = self.add(SearchButton, relx=33, rely=2, name='Search')
self.search_text = self.add(npyscreen.FixedText, relx=53, rely=2, editable=False)
self.filter_btn = self.add(FilterButton, relx=33, rely=3, name='Filter')
self.filter_text = self.add(npyscreen.FixedText, relx=53, rely=3, editable=False)
self.dict = self.add(Dict, name='Dictionary', scroll_exit=True, max_width=43, relx=2, rely=5, max_height=-2)
self.perms = self.add(Perms, name='Permissions', scroll_exit=True, rely=5, relx=46, max_height=6)
self.value = self.add(Value, name='Edit Value', scroll_exit=True, rely=11, relx=46, max_height=-2)
self.status = self.add(npyscreen.TitleText, name='Status', editable=False, value='Connected to laserjet.lan', rely=-3)
self.save = self.add(npyscreen.ButtonPress, name='Save Changes', rely=-3, relx=-27)
self.exit = self.add(npyscreen.ButtonPress, name='Exit', rely=-3, relx=-12)
self.save.whenPressed = self.commit
self.exit.whenPressed = self.quit
self.update_dict()
python类KEY_F1的实例源码
def keys_init_noedit(self):
"""Define methods for each key for non-editing mode.
"""
self.keys = {
curses.ascii.ETX: self.close,
curses.KEY_DOWN: self.down_noedit,
CTRL('n'): self.down_noedit,
'j': self.down_noedit,
curses.KEY_F1: self.help,
curses.KEY_NPAGE: self.page_down,
'J': self.page_down,
CTRL('f'): self.page_up,
curses.KEY_PPAGE: self.page_up,
'K': self.page_up,
CTRL('b'): self.page_up,
CTRL('x'): self.quit,
curses.KEY_F2: self.quit,
curses.KEY_F3: self.quit_nosave,
curses.ascii.ESC: self.quit_nosave,
curses.KEY_RESIZE: self.resize,
-1: self.resize,
curses.KEY_UP: self.up_noedit,
CTRL('p'): self.up_noedit,
'k': self.up_noedit,
}
def on_key(self, ch):
if self.alerts.open:
self.alerts.on_key(ch)
elif ch == curses.KEY_F1:
self.state.set_scene("Help")
elif ch == curses.KEY_F10:
Animation.pause()
self.alerts.confirm('Are you sure you want to leave the game?', action='Leave', on_dismiss=self.on_alert_leave)
elif not self.animating:
self.playfield.on_key(ch)
def keys_init(self):
"""Define methods for each key.
"""
self.keys = {
curses.KEY_BACKSPACE: self.backspace,
CTRL('h'): self.backspace,
curses.ascii.BS: self.backspace,
curses.ascii.DEL: self.backspace,
curses.ascii.ETX: self.close,
curses.KEY_DC: self.del_char,
CTRL('d'): self.del_char,
CTRL('u'): self.del_to_bol,
CTRL('k'): self.del_to_eol,
curses.KEY_DOWN: self.down,
CTRL('n'): self.down,
curses.KEY_END: self.end,
CTRL('e'): self.end,
curses.KEY_F1: self.help,
curses.KEY_HOME: self.home,
CTRL('a'): self.home,
curses.KEY_ENTER: self.insert_line_or_quit,
curses.ascii.NL: self.insert_line_or_quit,
curses.ascii.LF: self.insert_line_or_quit,
"\n": self.insert_line_or_quit,
curses.KEY_LEFT: self.left,
CTRL('b'): self.left,
curses.KEY_NPAGE: self.page_down,
curses.KEY_PPAGE: self.page_up,
CTRL('v'): self.paste,
CTRL('x'): self.quit,
curses.KEY_F2: self.quit,
curses.KEY_F3: self.quit_nosave,
curses.ascii.ESC: self.quit_nosave,
curses.KEY_RESIZE: self.resize,
-1: self.resize,
curses.KEY_RIGHT: self.right,
CTRL('f'): self.right,
curses.KEY_UP: self.up,
CTRL('p'): self.up,
}