{"_id":"@deepkolos/electron-trackpad-utils","_rev":"5-2820b823f2fa94a3273e28e9afd1520a","name":"@deepkolos/electron-trackpad-utils","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.4":{"name":"@deepkolos/electron-trackpad-utils","version":"1.0.4","keywords":["electron","electronjs","trackpad","haptic","macos","mac"],"author":{"url":"https://davidcann.com","name":"David Cann","email":"david@davidcann.com"},"license":"MIT","_id":"@deepkolos/electron-trackpad-utils@1.0.4","maintainers":[{"name":"deepkolos","email":"deepkolos@qq.com"}],"homepage":"https://github.com/deepkolos/electron-trackpad-utils#readme","bugs":{"url":"https://github.com/deepkolos/electron-trackpad-utils/issues"},"dist":{"shasum":"3eee46bf06ad2d904369f4ee5450e9b0f2477db7","tarball":"https://registry.npmjs.org/@deepkolos/electron-trackpad-utils/-/electron-trackpad-utils-1.0.4.tgz","fileCount":9,"integrity":"sha512-Zvh085pLZ02nCX+KVrSTjHEeY/UOwAzT+LI8QqK6PtU6atcN5GDKfpJ/TiaAOxnkl79BOzYQCHTM4C8Mice5Qg==","signatures":[{"sig":"MEUCIQDy6BpIKFlgTuZ21iye7QykSs05Hd4jRpGxIYYkn2+Y3wIgFw7v1T/yYtyhDKxERZMtmzBA7zeIV87uIkKFXAP1LxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14170},"main":"addon.js","type":"commonjs","types":"types.d.ts","gitHead":"d18bc32574d3ffa2580a6e489cd27cbddab50d4e","gypfile":true,"scripts":{"install":"node-gyp rebuild","preinstall":"python3 -m pip show setuptools || brew install python-setuptools"},"_npmUser":{"name":"deepkolos","email":"deepkolos@qq.com"},"repository":{"url":"git+https://github.com/deepkolos/electron-trackpad-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Trigger trackpad haptic feedback and get trackpad scroll began, scroll ended, and force click events in Electron on macOS.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"bindings":"^1.5.0","node-addon-api":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/electron-trackpad-utils_1.0.4_1753103542725_0.1697286796666857","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@deepkolos/electron-trackpad-utils","version":"1.0.5","keywords":["electron","electronjs","trackpad","haptic","macos","mac"],"author":{"url":"https://davidcann.com","name":"David Cann","email":"david@davidcann.com"},"license":"MIT","_id":"@deepkolos/electron-trackpad-utils@1.0.5","maintainers":[{"name":"deepkolos","email":"deepkolos@qq.com"}],"homepage":"https://github.com/deepkolos/electron-trackpad-utils#readme","bugs":{"url":"https://github.com/deepkolos/electron-trackpad-utils/issues"},"dist":{"shasum":"b158f0f87fc6d03ab7787c364b853739edfb9367","tarball":"https://registry.npmjs.org/@deepkolos/electron-trackpad-utils/-/electron-trackpad-utils-1.0.5.tgz","fileCount":9,"integrity":"sha512-va8/mfhqjTtYwBm25YWYnFVKfi9PlA/oIMlr2tTGtD89j7Jyp4dgm4wmU1R+NHZ2Uy5cxaC8mUrS6GkATqX7Hw==","signatures":[{"sig":"MEQCIHdcGguN/JWAtY3oLQxci1eJSEjLd6cPlifmuNtbcKsmAiA6Q5gdY9y5bFSQYASMl6ffD2UwECBUBSe/PzJOKoyjzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14680},"main":"addon.js","type":"commonjs","types":"types.d.ts","gitHead":"1f49d18e243c6da4cc0a1b5f3b7e5b25582eacc2","gypfile":true,"scripts":{"install":"node-gyp rebuild","preinstall":"python3 -m pip show setuptools || brew install python-setuptools"},"_npmUser":{"name":"deepkolos","email":"deepkolos@qq.com"},"repository":{"url":"git+https://github.com/deepkolos/electron-trackpad-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Trigger trackpad haptic feedback and get trackpad scroll began, scroll ended, and force click events in Electron on macOS.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"bindings":"^1.5.0","node-addon-api":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/electron-trackpad-utils_1.0.5_1753329113128_0.37111552292778205","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@deepkolos/electron-trackpad-utils","version":"1.0.6","keywords":["electron","electronjs","trackpad","haptic","macos","mac"],"author":{"url":"https://davidcann.com","name":"David Cann","email":"david@davidcann.com"},"license":"MIT","_id":"@deepkolos/electron-trackpad-utils@1.0.6","maintainers":[{"name":"deepkolos","email":"deepkolos@qq.com"}],"homepage":"https://github.com/deepkolos/electron-trackpad-utils#readme","bugs":{"url":"https://github.com/deepkolos/electron-trackpad-utils/issues"},"dist":{"shasum":"4b143126bf405cb727de9110cf0df18ec7550909","tarball":"https://registry.npmjs.org/@deepkolos/electron-trackpad-utils/-/electron-trackpad-utils-1.0.6.tgz","fileCount":9,"integrity":"sha512-Jr5Hl2ICwkjbsyvsgWf+9ylRrE/7CflhiMoCmk1KhAspHKwisDIXtWfF5prsTuIQtmljXVB7kJ17rM3jljmIEQ==","signatures":[{"sig":"MEUCIQDB9UI/inm0RxuC2KcnpvHn/ZE54hKs0kqT69n13xDOqwIgI3EyW1sVcKyWQHfRzyttCOYNBqerATuxTxE0+rSTbvU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14696},"main":"addon.js","type":"commonjs","types":"types.d.ts","gitHead":"f9715ed61623b83fef3776b737047ee60f76909d","gypfile":true,"scripts":{"install":"node-gyp rebuild","preinstall":"python3 -m pip show setuptools || brew install python-setuptools"},"_npmUser":{"name":"deepkolos","email":"deepkolos@qq.com"},"repository":{"url":"git+https://github.com/deepkolos/electron-trackpad-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Trigger trackpad haptic feedback and get trackpad scroll began, scroll ended, and force click events in Electron on macOS.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"bindings":"^1.5.0","node-addon-api":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/electron-trackpad-utils_1.0.6_1753329638154_0.8171849077440414","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@deepkolos/electron-trackpad-utils","version":"1.0.7","keywords":["electron","electronjs","trackpad","haptic","macos","mac"],"author":{"url":"https://davidcann.com","name":"David Cann","email":"david@davidcann.com"},"license":"MIT","_id":"@deepkolos/electron-trackpad-utils@1.0.7","maintainers":[{"name":"deepkolos","email":"deepkolos@qq.com"}],"homepage":"https://github.com/deepkolos/electron-trackpad-utils#readme","bugs":{"url":"https://github.com/deepkolos/electron-trackpad-utils/issues"},"dist":{"shasum":"43b077b183cd154685af90602de0f56ed4a961cf","tarball":"https://registry.npmjs.org/@deepkolos/electron-trackpad-utils/-/electron-trackpad-utils-1.0.7.tgz","fileCount":9,"integrity":"sha512-Z9AtDG7mJ/cYYOEUTq3dYH3kBgwXoxg0DffPyL8s4/fiModAvI9xwyxzUQRj2kkiyq2YQ3qf5LaVAXIqF+Umpg==","signatures":[{"sig":"MEUCIDXAsd2UfKGLSCHDCOap3etDgY5YwvbDaoG62deMn0eDAiEA5KJ8c2PQ6d3G8kwi+3sogH/ZfNZYEV5Yv3HitptzidE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16426},"main":"addon.js","type":"commonjs","types":"types.d.ts","gitHead":"3356c3714553e0a2a130569835f480fbe291b9aa","gypfile":true,"scripts":{"install":"node-gyp rebuild","preinstall":"python3 -m pip show setuptools || brew install python-setuptools"},"_npmUser":{"name":"deepkolos","email":"deepkolos@qq.com"},"repository":{"url":"git+https://github.com/deepkolos/electron-trackpad-utils.git","type":"git"},"_npmVersion":"10.9.2","description":"Trigger trackpad haptic feedback and get trackpad scroll began, scroll ended, and force click events in Electron on macOS.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"bindings":"^1.5.0","node-addon-api":"^7.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/electron-trackpad-utils_1.0.7_1753364327994_0.06252957746143473","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@deepkolos/electron-trackpad-utils","version":"1.0.8","description":"Trigger trackpad haptic feedback and get trackpad scroll began, scroll ended, and force click events in Electron on macOS.","main":"addon.js","types":"types.d.ts","author":{"name":"David Cann","email":"david@davidcann.com","url":"https://davidcann.com"},"maintainers":[{"name":"deepkolos","email":"deepkolos@qq.com"}],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/deepkolos/electron-trackpad-utils.git"},"keywords":["electron","electronjs","trackpad","haptic","macos","mac"],"bugs":{"url":"https://github.com/deepkolos/electron-trackpad-utils/issues"},"homepage":"https://github.com/deepkolos/electron-trackpad-utils#readme","publishConfig":{"access":"public"},"dependencies":{"bindings":"^1.5.0","node-addon-api":"^7.0.0"},"scripts":{"preinstall":"python3 -m pip show setuptools || brew install python-setuptools","install":"node-gyp rebuild"},"gypfile":true,"type":"commonjs","_id":"@deepkolos/electron-trackpad-utils@1.0.8","gitHead":"e8c8f1b63f2dbf0ec68b774bc82faf611f540f28","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-uBuVgRKNyP2A+tOZoP8ojijn/V4qzyXxETouocaXushbcq6pQjZx9sNQWwyzvgDtU+OWmevc48PCpewV0q8AqQ==","shasum":"6966b1a18765a204c89c954665ce99e747e7af1d","tarball":"https://registry.npmjs.org/@deepkolos/electron-trackpad-utils/-/electron-trackpad-utils-1.0.8.tgz","fileCount":9,"unpackedSize":16543,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH/UxyMeNgfaLuxcZfvNkDr6dBe3Bd6xPb4kQ3KyzgkXAiAa6IN1OdCXs7kiakXvz849yLkWgZZnow9F/5ktw1RYVg=="}]},"_npmUser":{"name":"deepkolos","email":"deepkolos@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/electron-trackpad-utils_1.0.8_1753432427227_0.44617140078333106"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-21T13:12:22.621Z","modified":"2025-07-25T08:33:47.599Z","1.0.4":"2025-07-21T13:12:22.917Z","1.0.5":"2025-07-24T03:51:53.298Z","1.0.6":"2025-07-24T04:00:38.350Z","1.0.7":"2025-07-24T13:38:48.164Z","1.0.8":"2025-07-25T08:33:47.413Z"},"bugs":{"url":"https://github.com/deepkolos/electron-trackpad-utils/issues"},"author":{"name":"David Cann","email":"david@davidcann.com","url":"https://davidcann.com"},"license":"MIT","homepage":"https://github.com/deepkolos/electron-trackpad-utils#readme","keywords":["electron","electronjs","trackpad","haptic","macos","mac"],"repository":{"type":"git","url":"git+https://github.com/deepkolos/electron-trackpad-utils.git"},"description":"Trigger trackpad haptic feedback and get trackpad scroll began, scroll ended, and force click events in Electron on macOS.","maintainers":[{"name":"deepkolos","email":"deepkolos@qq.com"}],"readme":"# electron-trackpad-utils-zh\n\n[English](./README.en-US.md)\n\n\n> 在 Electron on macOS 中触发触控板触觉反馈，并获取触控板滚动开始、滚动结束和强制点击事件。\n\n[查看演示代码](demo)\n\n## 安装\n\n    npm install @deepkolos/electron-trackpad-utils\n\n## API\n\n**onTrackpadScrollBegan(callback)** (仅限 macOS)\n\n- `callback` Function\n\n当用户开始在触控板上拖动触摸时触发。\n\n**onTrackpadScrollEnded(callback)** (仅限 macOS)\n\n- `callback` Function\n\n在滚动过程中触摸结束时触发。这可能与发送到浏览器的滚动事件结束的时间不同，例如在惯性滚动的情况下。\n\n**onScroll(callback)** (仅限 macOS)\n\n- `callback` Function\n  - `deltaX` Float\n  - `deltaY` Float\n  - `isTrackpad` Boolean\n\n当用户滚动时触发。\n\n**onForceClick(callback)** (仅限 macOS)\n\n- `callback` Function\n\n**triggerFeedback()** (仅限 macOS)\n\n在 MacBook 的内置触控板或妙控板上触发触觉反馈。例如，在拖动对象时对齐时触发反馈。\n\n## 用法\n\n在主进程中：\n\n    const { BrowserWindow } = require(\"electron\");\n    const trackpadUtils = require(\"@deepkolos/electron-trackpad-utils\");\n\n    trackpadUtils.onTrackpadScrollBegan(() => {\n    \tconsole.log(\"onTrackpadScrollBegan\");\n    });\n\n    trackpadUtils.onTrackpadScrollEnded(() => {\n    \tconsole.log(\"onTrackpadScrollEnded\");\n    });\n\n    trackpadUtils.onScroll(({ deltaX, deltaY, isTrackpad }) => {\n      console.log('onScroll', { deltaX, deltaY, isTrackpad });\n    });\n\n    trackpadUtils.onForceClick(() => {\n    \tconsole.log(\"onForceClick\");\n    });\n\n    function createWindow() {\n    \tconst mainWindow = new BrowserWindow({\n    \t\theight: 500,\n    \t\twidth: 800,\n    \t});\n    \tmainWindow.webContents.loadFile(\"index.html\");\n    \tsetInterval(() => {\n    \t\ttrackpadUtils.triggerFeedback();\n    \t}, 3000);\n    }\n\n    app.whenReady().then(() => createWindow());\n\n## 在 electron-vite 中使用\n\n如果你正在使用 `electron-vite`，你需要将 C/C++ 插件配置为外部模块。\n\n```javascript\nimport { defineConfig } from 'electron-vite'\n\nexport default defineConfig({\n  main: {\n    build: {\n      rollupOptions: {\n        external: ['@deepkolos/electron-trackpad-utils']\n      }\n    }\n  }\n})\n```\n\n## 如何运行演示\n\n克隆此存储库后，运行：\n\n    npm install\n    npm rebuild\n    cd demo\n    npm install\n    npm start\n\n## 许可证\n\nMIT 许可证\n\n## 原始仓库\n\n[davidcann/electron-trackpad-utils](https://github.com/davidcann/electron-trackpad-utils)","readmeFilename":"README.md"}