+ elif key == 't':
+ if not popup_widget.visible:
+ self.to_update['popup'] = True
+ popup_widget.visible = True
+ popup_widget.reconfigure()
+ draw_popup_if_visible = True
+ else:
+ popup_widget.visible = False
+ for w in top_widgets:
+ w.ensure_freshness(True)
+ elif map_widget.visible:
+ if key == '?':
+ map_widget.examine_mode = not map_widget.examine_mode
+ if map_widget.examine_mode:
+ self.examiner_position = self.game.world.\
+ player.position
+ switch_widgets(log_widget, descriptor_widget)
+ else:
+ switch_widgets(descriptor_widget, log_widget)
+ self.to_update['map'] = True
+ elif key == 'p':
+ self.socket.send('GET_PICKABLE_ITEMS')
+ self.item_pointer = 0
+ switch_widgets(map_widget, pickable_items_widget)
+ elif key == 'i':
+ self.item_pointer = 0
+ switch_widgets(map_widget, inventory_widget)
+ elif map_widget.examine_mode:
+ if key == 'w':
+ move_examiner('UPLEFT')
+ elif key == 'e':
+ move_examiner('UPRIGHT')
+ elif key == 's':
+ move_examiner('LEFT')
+ elif key == 'd':
+ move_examiner('RIGHT')
+ elif key == 'x':
+ move_examiner('DOWNLEFT')
+ elif key == 'c':
+ move_examiner('DOWNRIGHT')
+ elif key == 'w':
+ self.socket.send('TASK:MOVE UPLEFT')
+ elif key == 'e':
+ self.socket.send('TASK:MOVE UPRIGHT')
+ elif key == 's':
+ self.socket.send('TASK:MOVE LEFT')
+ elif key == 'd':
+ self.socket.send('TASK:MOVE RIGHT')
+ elif key == 'x':
+ self.socket.send('TASK:MOVE DOWNLEFT')
+ elif key == 'c':
+ self.socket.send('TASK:MOVE DOWNRIGHT')
+ elif pickable_items_widget.visible:
+ pick_or_drop_menu('p', pickable_items_widget,
+ self.game.world.pickable_items,
+ 'PICKUP', 'GET_PICKABLE_ITEMS')
+ elif inventory_widget.visible:
+ pick_or_drop_menu('d', inventory_widget,
+ self.game.world.player_inventory,
+ 'DROP')