1234567891011121314151617181920212223242526272829 |
- from nicegui import ui
- from ...model import UiElementDocumentation
- class KeyboardDocumentation(UiElementDocumentation, element=ui.keyboard):
- def main_demo(self) -> None:
- from nicegui.events import KeyEventArguments
- def handle_key(e: KeyEventArguments):
- if e.key == 'f' and not e.action.repeat:
- if e.action.keyup:
- ui.notify('f was just released')
- elif e.action.keydown:
- ui.notify('f was just pressed')
- if e.modifiers.shift and e.action.keydown:
- if e.key.arrow_left:
- ui.notify('going left')
- elif e.key.arrow_right:
- ui.notify('going right')
- elif e.key.arrow_up:
- ui.notify('going up')
- elif e.key.arrow_down:
- ui.notify('going down')
- keyboard = ui.keyboard(on_key=handle_key)
- ui.label('Key events can be caught globally by using the keyboard element.')
- ui.checkbox('Track key events').bind_value_to(keyboard, 'active')
|