diff --git a/lib/main.dart b/lib/main.dart index a50cd80..540230b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; void main() { runApp(const MyApp()); @@ -51,24 +52,32 @@ class _MyHomePageState extends State { backgroundColor: Theme.of(context).colorScheme.inversePrimary, title: Text(widget.title), ), - body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - 'You have pushed the button this many times:', - ), - Text( - '$_counter', - style: Theme.of(context).textTheme.headlineMedium, - ), - ], + body: RawKeyboardListener( + focusNode: FocusNode(), + autofocus: true, + onKey: (RawKeyEvent event) { + if (event.isKeyPressed(LogicalKeyboardKey.keyD)) _decrementCounter(); + if (event.isKeyPressed(LogicalKeyboardKey.keyI)) _incrementCounter(); + }, + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + 'You have pushed the button this many times:', + ), + Text( + '$_counter', + style: Theme.of(context).textTheme.headlineMedium, + ), + ], + ), ), ), floatingActionButton: Stack( children: [ Padding( - padding: EdgeInsets.only(left: 31), + padding: const EdgeInsets.only(left: 31), child: Align( alignment: Alignment.bottomLeft, child: FloatingActionButton(