global_shortcuts 0.0.1+1 icon indicating copy to clipboard operation
global_shortcuts: ^0.0.1+1 copied to clipboard

PlatformmacOS

A macOS plugin which can register a callback for a global keyboard shortcut.

global_shortcuts #

A macOS plugin which can register a callback for a global keyboard shortcut.

As the shortcut is global, the callback will be triggered even when the app does not have focus.

Installation #

dependencies:
  global_shortcuts: any

Usage #

Register a callback for a given ShortcutKey and zero or more ShortcutModifier

Future<void> register() async {
  try {
    await GlobalShortcuts.register(
      key: ShortcutKey.r,
      modifiers: [ShortcutModifier.shift, ShortcutModifier.command],
      onKeyCombo: _onKeyCombo,
    );
  } on Exception catch (_) {}
}

void _onKeyCombo() => print('Shortcut Pressed at ${DateTime.now()}');

Shortcut can be unregistered using

Future<void> unregister() async {
  try {
    await GlobalShortcuts.unregister();
  } on Exception catch (_) {}
}

Only one shortcut combo can be registered. If, for instance, CTRL+SPACE is registered after SHIFT+CMD+R, then the callback for SHIFT+CMD+R will no longer be invoked.

Notes #

  • Presently the plugin only supports macOS. Windows support may be investigated, linux support is unlikely.
  • macOS plugin uses HotKey which does not seem to support all modifiers (i.e fn) while os global shortcuts like CMD+SPACE do not seem to be caught.
  • Due to 0.0.x versioning, package is presently experimental.

Collaboration #

Spotted any problems? Please open an issue on GitHub! Would like to work on a windows or linux version? Fork the repo and submit a PR!

2
likes
120
pub points
22%
popularity

Publisher

verified publisher icondefuncart.com

A macOS plugin which can register a callback for a global keyboard shortcut.

Homepage

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on global_shortcuts