keypress_listener 1.0.0

  • README.md
  • Installing
  • Versions
  • 0

keypress_listener

Helper to catch key combinations

Usage:

import 'package:key_listener/key_listener.dart';

class SomeElement extends HtmlElement {

  StreamSubscription<KeyboardEvent> _duplicateKeySub;

  //...

  @override
  void attached() {
    super.attached();
    
    _duplicateKeySub = KeyListener.listenKeyPressed(keys: 'ctrl+d cmd+d')
        .listen(keyListener_onDuplicateKey);
  }
  
  @override
  void detached() {
    _duplicateKeySub?.cancel();
    _duplicateKeySub = null;
    
    super.detached();
  }
  
  void keyListener_onDuplicateKey(KeyboardEvent e) {
    //skip events from text field (if you need)
    if (document.activeElement == document.body) {
      e.preventDefault();
      // TODO something
    }
  }
}

Use this package as a library

1. Depend on it

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


dependencies:
  keypress_listener: ^1.0.0

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:keypress_listener/key_listener.dart';
  
Version Uploaded Documentation Archive
1.0.0 Oct 3, 2017 Go to the documentation of keypress_listener 1.0.0 Download keypress_listener 1.0.0 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
--
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
--
Overall:
Weighted score of the above. [more]
0
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Health issues and suggestions

Fix lib/src/KeyListener.dart. (-25.38 points)

Analysis of lib/src/KeyListener.dart failed with 1 error, 1 hint:

line 106 col 3: '_KeyCombo.==' ('(_KeyCombo) → bool') isn't a valid override of 'Object.==' ('(dynamic) → bool').

line 106 col 12: Always override hashCode if overriding ==.

Format lib/key_listener.dart.

Run dartfmt to format lib/key_listener.dart.

Maintenance issues and suggestions

Add SDK constraint in pubspec.yaml. (-50 points)

For information about setting SDK constraint, please see https://www.dartlang.org/tools/pub/pubspec#sdk-constraints.

Maintain CHANGELOG.md. (-20 points)

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

The description is too short. (-20 points)

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 getting outdated. (-17.26 points)

The package was released 61 weeks ago.

Maintain an example. (-10 points)

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 keypress_listener.dart.