ctrl_alt_foo 0.3.1

  • README.md
  • Installing
  • Versions
  • 22

Ctrl Alt Foo

Build Status

Make it easy to listen for keyboard shortcuts / accelator keys.


This is an early preview release and the syntax is not settled. Please add issues in the tracker if you have suggestions.

import 'package:ctrl_alt_foo/keys.dart';

  'Esc':          (){ _hideMenu(); _hideDialog(); },
  'Ctrl+N':       ()=> new NewProjectDialog(this).open(),
  'Ctrl+O, ⌘+O':  ()=> new OpenDialog(this).open(),
  'Ctrl+Shift+H': ()=> toggleCode()

There are also some helper methods for creating keyboard events:

import 'package:ctrl_alt_foo/helpers.dart';

typeIn('TEXT'); // will generate a keyup


arrowUp(); // optionally supply the number of time to arrow up

type('A'); // type a single character
typeCtrl('A'); // type Ctrl+A
typeCtrlShift('A'); // type Ctrl+Shift+A


This code is licensed under the MIT license. See LICENSE for more information.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  ctrl_alt_foo: "^0.3.1"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

      import 'package:ctrl_alt_foo/helpers.dart';

      import 'package:ctrl_alt_foo/key_event_x.dart';

      import 'package:ctrl_alt_foo/key_identifier.dart';

      import 'package:ctrl_alt_foo/keys.dart';

      import 'package:ctrl_alt_foo/shortcut.dart';
Version Uploaded Documentation Archive
0.3.1 Nov 8, 2015 Go to the documentation of ctrl_alt_foo 0.3.1 Download ctrl_alt_foo 0.3.1 archive
0.3.0 Nov 7, 2013 Go to the documentation of ctrl_alt_foo 0.3.0 Download ctrl_alt_foo 0.3.0 archive
0.2.0 Sep 11, 2013 Go to the documentation of ctrl_alt_foo 0.2.0 Download ctrl_alt_foo 0.2.0 archive
0.1.2 Aug 18, 2013 Go to the documentation of ctrl_alt_foo 0.1.2 Download ctrl_alt_foo 0.1.2 archive
0.1.1 Aug 18, 2013 Go to the documentation of ctrl_alt_foo 0.1.1 Download ctrl_alt_foo 0.1.1 archive
0.0.4 Aug 15, 2013 Go to the documentation of ctrl_alt_foo 0.0.4 Download ctrl_alt_foo 0.0.4 archive
0.0.3 Aug 14, 2013 Go to the documentation of ctrl_alt_foo 0.0.3 Download ctrl_alt_foo 0.0.3 archive
0.0.2 Aug 13, 2013 Go to the documentation of ctrl_alt_foo 0.0.2 Download ctrl_alt_foo 0.0.2 archive
0.0.1 Aug 12, 2013 Go to the documentation of ctrl_alt_foo 0.0.1 Download ctrl_alt_foo 0.0.1 archive


We analyzed this package on Jul 17, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.63.0
  • pana: 0.11.3


Describes how popular the package is relative to other packages. [more]
12 / 100
Code health derived from static analysis. [more]
52 / 100
Reflects how tidy and up-to-date the package is. [more]
0 / 100
Overall score:
Weighted score of the above. [more]
Learn more about scoring.


Detected platforms: web

Platform components identified in package: html.


  • Running dartdoc failed.

    Make sure dartdoc runs without any issues.

  • Maintain CHANGELOG.md.

    Changelog entries help clients to follow the progress in your code.

  • Package is too old.

    The package was released more than two years ago.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 8 errors 6 hints.

    Strong-mode analysis of lib/helpers.dart failed with the following error:

    line: 7 col: 26
    The setter 'value' isn't defined for the class 'Element'.

    Strong-mode analysis of lib/key_event_x.dart failed with the following error:

    line: 16 col: 12
    The return type 'CustomStream<KeyEvent>' isn't a 'Stream<KeyEventX>', as defined by the method 'onKeyDown'.

    Similar analysis of the following files failed:

    • lib/key_identifier.dart (error)
    • lib/shortcut.dart (error)
    • lib/keys.dart (hint)
  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use ctrl_alt_foo.dart.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=0.8.10+6 <2.0.0
Dev dependencies
unittest any