Keyboard shortcuts
A solid keyboard support is a key for user productivity while using your web and, especially, desktop app. Indeed, it could be really annoying to constantly switch between mouse and keyboard.
In addition to form controls' .autofocus
property and TextField.focus()
method Flet allows handling "global" keyboard events.
To capture all keystrokes implement page.on_keyboard_event
handler. Event handler parameter e
is an instance of KeyboardEvent
class with the following properties:
key
- a textual representation of a pressed key, e.g.A
,Enter
orF5
.shift
-True
if "Shift" key is pressed.ctrl
-True
if "Control" key is pressed.alt
-True
if "Alt" ("Option") key is pressed.meta
-True
if "Command" key is pressed.
This is a simple usage example:
import flet as ft
def main(page: ft.Page):
def on_keyboard(e: ft.KeyboardEvent):
page.add(
ft.Text(
f"Key: {e.key}, Shift: {e.shift}, Control: {e.ctrl}, Alt: {e.alt}, Meta: {e.meta}"
)
)
page.on_keyboard_event = on_keyboard
page.add(
ft.Text("Press any key with a combination of CTRL, ALT, SHIFT and META keys...")
)
ft.app(target=main)
Here is more advanced example.