{"id":13784845,"url":"https://github.com/leanflutter/hotkey_manager","last_synced_at":"2025-04-06T18:17:35.479Z","repository":{"id":45302887,"uuid":"387819775","full_name":"leanflutter/hotkey_manager","owner":"leanflutter","description":"This plugin allows Flutter desktop apps to defines system/inapp wide hotkey (i.e. shortcut).","archived":false,"fork":false,"pushed_at":"2025-03-23T04:07:48.000Z","size":455,"stargazers_count":138,"open_issues_count":13,"forks_count":37,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T16:12:50.578Z","etag":null,"topics":["flutter","flutter-desktop","flutter-desktop-app","global-hotkey","global-hotkeys","global-shortcuts","hotkey","linux","macos","shortcuts","windows"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leanflutter.png","metadata":{"files":{"readme":"README-ZH.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"liberapay":"lijy91"}},"created_at":"2021-07-20T14:34:04.000Z","updated_at":"2025-03-29T17:10:34.000Z","dependencies_parsed_at":"2024-02-04T14:27:18.553Z","dependency_job_id":"0cd37de1-8e2c-4266-8bec-0ce5e4e093a2","html_url":"https://github.com/leanflutter/hotkey_manager","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fhotkey_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fhotkey_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fhotkey_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fhotkey_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leanflutter","download_url":"https://codeload.github.com/leanflutter/hotkey_manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247526768,"owners_count":20953143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-desktop","flutter-desktop-app","global-hotkey","global-hotkeys","global-shortcuts","hotkey","linux","macos","shortcuts","windows"],"created_at":"2024-08-03T19:00:53.209Z","updated_at":"2025-04-06T18:17:35.434Z","avatar_url":"https://github.com/leanflutter.png","language":"Dart","readme":"\u003e **🚀 快速发布您的应用**: 试试 [Fastforge](https://fastforge.dev) - 构建、打包和分发您的 Flutter 应用最简单的方式。\n\n# hotkey_manager\n\n[![pub version][pub-image]][pub-url] [![][discord-image]][discord-url] ![][visits-count-image] \n\n[pub-image]: https://img.shields.io/pub/v/hotkey_manager.svg\n[pub-url]: https://pub.dev/packages/hotkey_manager\n\n[discord-image]: https://img.shields.io/discord/884679008049037342.svg\n[discord-url]: https://discord.gg/zPa6EZ2jqb\n\n[visits-count-image]: https://img.shields.io/badge/dynamic/json?label=Visits%20Count\u0026query=value\u0026url=https://api.countapi.xyz/hit/leanflutter.hotkey_manager/visits\n\n这个插件允许 Flutter 桌面应用定义系统/应用范围内的热键（即快捷键）。\n\n---\n\n[English](./README.md) | 简体中文\n\n---\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [hotkey_manager](#hotkey_manager)\n  - [平台支持](#平台支持)\n  - [快速开始](#快速开始)\n    - [安装](#安装)\n      - [Linux requirements](#linux-requirements)\n    - [用法](#用法)\n  - [谁在用使用它？](#谁在用使用它)\n  - [API](#api)\n    - [HotKeyManager](#hotkeymanager)\n  - [相关链接](#相关链接)\n  - [许可证](#许可证)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## 平台支持\n\n| Linux | macOS | Windows |\n| :---: | :---: | :-----: |\n|   ✔️   |   ✔️   |    ✔️    |\n\n## 快速开始\n\n### 安装\n\n将此添加到你的软件包的 pubspec.yaml 文件：\n\n```yaml\ndependencies:\n  hotkey_manager: ^0.2.3\n```\n\n或\n\n```yaml\ndependencies:\n  hotkey_manager:\n    git:\n      path: packages/hotkey_manager\n      url: https://github.com/leanflutter/hotkey_manager.git\n      ref: main\n```\n\n#### Linux requirements\n\n- [`keybinder-3.0`](https://github.com/kupferlauncher/keybinder)\n\n运行以下命令\n\n```\nsudo apt-get install keybinder-3.0\n```\n\n### 用法\n\n```dart\nimport 'package:hotkey_manager/hotkey_manager.dart';\n\nvoid main() async {\n  // 必须加上这一行。\n  WidgetsFlutterBinding.ensureInitialized();\n  // 对于热重载，`unregisterAll()` 需要被调用。\n  await hotKeyManager.unregisterAll();\n\n  runApp(MyApp());\n}\n```\n\n注册/卸载一个系统/应用范围的热键。\n\n```dart\n// ⌥ + Q\nHotKey _hotKey = HotKey(\n  key: PhysicalKeyboardKey.keyQ,\n  modifiers: [HotKeyModifier.alt],\n  // 设置热键范围（默认为 HotKeyScope.system）\n  scope: HotKeyScope.inapp, // 设置为应用范围的热键。\n);\nawait hotKeyManager.register(\n  _hotKey,\n  keyDownHandler: (hotKey) {\n    print('onKeyDown+${hotKey.toJson()}');\n  },\n  // 只在 macOS 上工作。\n  keyUpHandler: (hotKey){\n    print('onKeyUp+${hotKey.toJson()}');\n  } ,\n);\n\nawait hotKeyManager.unregister(_hotKey);\n\nawait hotKeyManager.unregisterAll();\n```\n\n使用 `HotKeyRecorder` 小部件帮助您录制一个热键。\n\n```dart\nHotKeyRecorder(\n  onHotKeyRecorded: (hotKey) {\n    _hotKey = hotKey;\n    setState(() {});\n  },\n),\n```\n\n\u003e 请看这个插件的示例应用，以了解完整的例子。\n\n## 谁在用使用它？\n\n- [Airclap](https://airclap.app/) - 任何文件，任意设备，随意发送。简单好用的跨平台高速文件传输APP。\n- [AuthPass](https://authpass.app/) - 基于Flutter的密码管理器，适用于所有平台。兼容Keepass 2.x（kdbx 3.x）。\n- [Biyi (比译)](https://biyidev.com/) - 一个便捷的翻译和词典应用程序。\n\n## API\n\n### HotKeyManager\n\n| Method        | Description                       | Linux | macOS | Windows |\n| ------------- | --------------------------------- | ----- | ----- | ------- |\n| register      | 注册一个系统/应用范围的热键。     | ✔️     | ✔️     | ✔️       |\n| unregister    | 取消注册一个系统/应用范围的热键。 | ✔️     | ✔️     | ✔️       |\n| unregisterAll | 取消注册全部系统/应用范围的热键。 | ✔️     | ✔️     | ✔️       |\n\n## 相关链接\n\n- https://github.com/soffes/HotKey\n- https://github.com/kupferlauncher/keybinder\n\n## 许可证\n\n[MIT](./LICENSE)\n","funding_links":["https://liberapay.com/lijy91"],"categories":["Packages"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanflutter%2Fhotkey_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleanflutter%2Fhotkey_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanflutter%2Fhotkey_manager/lists"}