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)