Класс KeyDownEvent
Класс KeyDownEvent приходит в
KeyboardListener,
когда клавиша переходит в нажатое состояние.
Повтор той же клавиши приходит отдельно, как
KeyRepeatEvent.
Синтаксис
event is KeyDownEvent
Пример
Давайте показать имя нажатой клавиши:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main()
{
runApp(const Keys());
}
class Keys extends StatefulWidget
{
const Keys({super.key});
@override
State<Keys> createState() => _KeysState();
}
class _KeysState extends State<Keys>
{
var label = 'abcde';
@override
Widget build(BuildContext context)
{
return MaterialApp(
home: Scaffold(
body: KeyboardListener(
focusNode: FocusNode(),
autofocus: true,
onKeyEvent: (event) {
if (event is KeyDownEvent) {
setState(() {
label = event.logicalKey.keyLabel;
});
}
},
child: Center(child: Text(label)),
),
),
);
}
}
На экране сначала 'abcde'. После нажатия клавиши на её месте появляется подпись этой клавиши.
Смотрите также
-
виджет
KeyboardListener,
который получает события клавиатуры -
класс
KeyRepeatEvent,
который приходит, пока клавишу держат -
класс
FocusNode,
без фокуса слушатель клавиш молчит -
виджет
Shortcuts,
который вызывает действие по сочетанию