in ebcli/display/screen.py [0:0]
def handle_input(self):
t = term.get_terminal()
with t.cbreak(): # Get input
val = t.inkey(timeout=.5)
if val:
self.idle_time = datetime.now()
char = str(val).upper()
LOG.debug('Got val: {0}, {1}, {2}.'
.format(val, val.name, val.code))
# io.echo('Got val: {},, {}, {}.'.format(val, val.name, val.code))
# time.sleep(3)
if char == 'Q':
if self.help_table.visible:
self.turn_on_table(self.last_table)
else:
return True # Exit command
elif char == 'X':
self.replace_instance_view()
elif char == 'B':
self.reboot_instance_view()
elif char == '1':
self.turn_on_table('split')
elif char == '2':
self.turn_on_table('health')
elif char == '3':
self.turn_on_table('requests')
elif char == '4':
self.turn_on_table('cpu')
elif char == '5':
self.turn_on_table('deployments')
elif char == 'H':
self.show_help()
elif char == 'F':
self.toggle_freeze()
elif char == 'P':
self.snapshot_file_view()
elif char == 'Z':
self.mono = not self.mono
elif char == '>':
self.move_sort_column_right()
elif char == '<':
self.move_sort_column_left()
elif char == '-':
self.sort_reversed = True
elif char == '+':
self.sort_reversed = False
# Scrolling
elif val.name == 'KEY_DOWN': # Down arrow
self.scroll_down()
elif val.name == 'KEY_UP': # Up arrow
self.scroll_down(reverse=True)
elif val.name == 'KEY_LEFT': # Left arrow
self.scroll_over(reverse=True)
elif val.name == 'KEY_RIGHT': # Right arrow
self.scroll_over()
elif val.name == 'KEY_END': # End
for table in self.tables:
table.scroll_to_end()
elif val.name == 'KEY_HOME': # Home
for table in self.tables:
table.scroll_to_beginning()
# If in help window (not main screen) these keys exit
elif self.help_table.visible and val.code == 361: # ESC KEY
self.turn_on_table(self.last_table)