keyboard_documentation.py 899 B

12345678910111213141516171819202122232425
  1. from nicegui import ui
  2. def main_demo() -> None:
  3. from nicegui.events import KeyEventArguments
  4. def handle_key(e: KeyEventArguments):
  5. if e.key == 'f' and not e.action.repeat:
  6. if e.action.keyup:
  7. ui.notify('f was just released')
  8. elif e.action.keydown:
  9. ui.notify('f was just pressed')
  10. if e.modifiers.shift and e.action.keydown:
  11. if e.key.arrow_left:
  12. ui.notify('going left')
  13. elif e.key.arrow_right:
  14. ui.notify('going right')
  15. elif e.key.arrow_up:
  16. ui.notify('going up')
  17. elif e.key.arrow_down:
  18. ui.notify('going down')
  19. keyboard = ui.keyboard(on_key=handle_key)
  20. ui.label('Key events can be caught globally by using the keyboard element.')
  21. ui.checkbox('Track key events').bind_value_to(keyboard, 'active')