// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; /// Flutter code sample for [CharacterActivator]. void main() => runApp(const CharacterActivatorExampleApp()); class CharacterActivatorExampleApp extends StatelessWidget { const CharacterActivatorExampleApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar(title: const Text('CharacterActivator Sample')), body: const Center( child: CharacterActivatorExample(), ), ), ); } } class HelpMenuIntent extends Intent { const HelpMenuIntent(); } class CharacterActivatorExample extends StatefulWidget { const CharacterActivatorExample({super.key}); @override State createState() => _CharacterActivatorExampleState(); } class _CharacterActivatorExampleState extends State { @override Widget build(BuildContext context) { return Shortcuts( shortcuts: const { CharacterActivator('?'): HelpMenuIntent(), }, child: Actions( actions: >{ HelpMenuIntent: CallbackAction( onInvoke: (HelpMenuIntent intent) { ScaffoldMessenger.of(context).showSnackBar( const SnackBar(content: Text('Keep calm and carry on!')), ); return null; }, ), }, child: const Focus( autofocus: true, child: Column( children: [ Text('Press question mark for help'), ], ), ), ), ); } }