KeyboardEvent
KeyboardEvent class has the following properties:
alt
Whether a logical ALT modifier key was pressed, regardless of which side of the keyboard it is on. For example, Alt
or Option.
Value is of type bool.
ctrl
Whether a logical CTRL modifier key is pressed, regardless of which side of the keyboard it is on. For example, Ctrl.
Value is of type bool.
key
A textual representation of the pressed keyboard key, e.g. A, Enter or F5.
Value is of type str.
meta
Whether a logical META modifier key is pressed, regardless of which side of the keyboard it is on. For example,
the Command.
Value is of type bool.
shift
Whether the Shift key was pressed.
Value is of type bool.
Usage Example
import flet as ft
class ButtonControl(ft.Container):
def __init__(self, text):
super().__init__()
self.content = ft.Text(text)
self.border = ft.border.all(1, ft.Colors.BLACK54)
self.border_radius = 3
self.bgcolor = "0x09000000"
self.padding = 10
self.visible = False
def main(page: ft.Page):
def on_keyboard(e: ft.KeyboardEvent):
key.content.value = e.key
key.visible = True
shift.visible = e.shift
ctrl.visible = e.ctrl
alt.visible = e.alt
meta.visible = e.meta
page.update()
page.on_keyboard_event = on_keyboard
key = ButtonControl("")
shift = ButtonControl("Shift")
ctrl = ButtonControl("Control")
alt = ButtonControl("Alt")
meta = ButtonControl("Meta")
page.spacing = 50
page.vertical_alignment = "center"
page.horizontal_alignment = "center"
page.add(
ft.Text(
"Press any key with a combination of CTRL, ALT, SHIFT and META keys..."
),
ft.Row([key, shift, ctrl, alt, meta], alignment=ft.MainAxisAlignment.CENTER),
)
ft.app(main)