{"_id":"@coffic/command-key-listener","_rev":"2-21d3b287c2d2563fe9b598c56793ed55","name":"@coffic/command-key-listener","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.2":{"name":"@coffic/command-key-listener","version":"1.0.2","keywords":["macos","command-key","hotkeys","keyboard","listener","native"],"author":{"name":"CofficLab"},"license":"MIT","_id":"@coffic/command-key-listener@1.0.2","maintainers":[{"name":"nookery","email":"nooks@qq.com"}],"os":["darwin"],"dist":{"shasum":"1026d10540c43e7b1d9947ca25be56c985f03deb","tarball":"https://registry.npmjs.org/@coffic/command-key-listener/-/command-key-listener-1.0.2.tgz","fileCount":7,"integrity":"sha512-LXmI6v4I6Ui51P/ejieoH3/u+LIgpDlILdF2elWm0i3DGizCfuo6Yv+rH5vcbXf/mjFhpBkvWDhQfeHK1bS89Q==","signatures":[{"sig":"MEUCIAaJhfOvZKD84r5o27tLxlYwUcPqWyeUPTu7RulMxgaWAiEA4u7EBC9cSMN/hGDhLrJ6fx4fCqZP6wRRTfSSm5Svt/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83791},"main":"dist/index.js","type":"commonjs","_from":"file:coffic-command-key-listener-1.0.2.tgz","types":"dist/index.d.ts","engines":{"node":">=14.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:ts && npm run build:native","build:ts":"tsc","build:native":"node native/build.js"},"_npmUser":{"name":"nookery","email":"nooks@qq.com"},"_resolved":"/private/var/folders/r1/4882c7yd7wx9hcpc__xp04_m0000gn/T/5d3de567be0e3b20a3037e699d6ef6be/coffic-command-key-listener-1.0.2.tgz","_integrity":"sha512-LXmI6v4I6Ui51P/ejieoH3/u+LIgpDlILdF2elWm0i3DGizCfuo6Yv+rH5vcbXf/mjFhpBkvWDhQfeHK1bS89Q==","_npmVersion":"10.8.2","description":"macOS系统Command键双击事件监听器","directories":{},"_nodeVersion":"18.20.7","dependencies":{"node-addon-api":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.13.0"},"peerDependencies":{"electron":">=22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/command-key-listener_1.0.2_1742970260264_0.2058683574092568","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2025-03-26T06:24:20.187Z","modified":"2025-04-03T10:28:28.607Z","1.0.2":"2025-03-26T06:24:20.535Z"},"author":{"name":"CofficLab"},"license":"MIT","keywords":["macos","command-key","hotkeys","keyboard","listener","native"],"description":"macOS系统Command键双击事件监听器","maintainers":[{"name":"nookery","email":"nooks@qq.com"}],"readme":"# @cofficlab/command-key-listener\n\nmacOS系统Command键（⌘）双击事件监听器。\n\n## 功能介绍\n\n- 监听macOS系统Command键（⌘）的双击事件\n- 使用原生模块实现，性能高效稳定\n- 提供简单的事件接口，易于集成\n- 支持自定义双击间隔和触发行为\n\n## 安装\n\n```bash\n# 使用npm\nnpm install @cofficlab/command-key-listener\n\n# 使用yarn\nyarn add @cofficlab/command-key-listener\n\n# 使用pnpm\npnpm add @cofficlab/command-key-listener\n```\n\n## 系统要求\n\n- **操作系统**: 仅支持macOS系统\n- **Node.js**: >= 14.0.0\n- **构建工具**: Xcode命令行工具（用于编译原生模块）\n\n## 基本用法\n\n```typescript\nimport { CommandKeyListener } from '@cofficlab/command-key-listener';\n\n// 创建监听器实例\nconst listener = new CommandKeyListener();\n\n// 监听Command键双击事件\nlistener.on('command-double-press', () => {\n  console.log('Command键被双击了!');\n  // 在这里执行您想要的操作\n});\n\n// 启动监听器（返回Promise）\nlistener.start().then(success => {\n  if (success) {\n    console.log('监听器已启动');\n  } else {\n    console.error('监听器启动失败');\n  }\n});\n\n// ... 应用其他逻辑 ...\n\n// 停止监听（不再需要时）\nlistener.stop();\n```\n\n## API参考\n\n### `CommandKeyListener` 类\n\n#### 构造函数\n\n```typescript\nnew CommandKeyListener()\n```\n\n创建一个新的Command键双击监听器实例。\n\n#### 方法\n\n##### `start(): Promise<boolean>`\n\n启动监听器。返回一个Promise，解析为布尔值表示是否成功启动。\n\n##### `stop(): boolean`\n\n停止监听器。返回布尔值表示是否成功停止。\n\n##### `isListening(): boolean`\n\n获取监听器的当前状态。返回布尔值表示是否正在监听。\n\n#### 事件\n\n##### `command-double-press`\n\n当检测到Command键双击时触发。\n\n```typescript\nlistener.on('command-double-press', () => {\n  // 处理双击事件\n});\n```\n\n## 注意事项\n\n1. **平台限制**: 此包仅在macOS系统上可用，在其他平台上将不起作用但不会导致错误。\n\n2. **权限要求**: 使用此监听器时，您的应用可能需要辅助功能（Accessibility）权限。首次使用时，macOS可能会提示用户授予权限。\n\n3. **应用打包**: 在使用Electron或其他工具打包应用时，请确保正确包含原生模块文件。\n\n4. **可能的冲突**: 此监听器使用系统级事件监听，可能与其他使用相同技术的应用产生冲突。\n\n## 故障排除\n\n### 监听器无法启动\n\n- 检查您是否在macOS系统上运行\n- 确保已授予应用辅助功能权限\n- 检查控制台是否有错误信息\n\n### 编译错误\n\n如果在安装过程中遇到编译错误：\n\n- 确保已安装Xcode命令行工具：`xcode-select --install`\n- 确保Node.js版本兼容\n- 尝试使用`npm rebuild`重建原生模块\n- 如果遇到 Python 相关错误（如 `ModuleNotFoundError: No module named 'distutils'`）：\n  - 确保使用 Python 3.11 或更低版本（Python 3.12+ 移除了 distutils）\n  - 或安装缺失的依赖：`pip install setuptools distutils`\n  - 对于项目维护者：在CI/CD环境中，请使用 `actions/setup-python@v4` 并指定 `python-version: '3.11'`\n\n## 许可证\n\nMIT\n\n## 贡献\n\n欢迎提交Issue和Pull Request。 ","readmeFilename":"README.md"}