{"_id":"@arifnpm/iohook","_rev":"1-21ab4d4758931c02768485464f230a60","name":"@arifnpm/iohook","dist-tags":{"latest":"0.9.3-b"},"versions":{"0.9.3-a":{"name":"@arifnpm/iohook","version":"0.9.3-a","description":"Node.js global keyboard and mouse hook","author":{"name":"Aloyan Dmitry"},"license":"MIT","homepage":"https://github.com/arifnpm/iohook","repository":{"type":"git","url":"git+https://github.com/arifnpm/iohook.git"},"bugs":{"url":"https://github.com/arifnpm/iohook/issues"},"main":"index.js","types":"index.d.ts","scripts":{"install":"node install.js","build":"node build.js --upload=false","build:ci":"node build.js --all","build:ci:nofips":"npm run build:ci --openssl_fips=''","build:local":"node build.js --all --upload=false","build:local:nofips":"npm run build:local --openssl_fips=''","build:print":"node -e 'require(\"./helpers\").printManualBuildParams()'","test":"jest","lint:dry":"eslint --ignore-path .lintignore .","lint:fix":"eslint --ignore-path .lintignore --fix . && prettier --ignore-path .lintignore --write .","docs:dev":"vuepress dev docs","docs:build":"vuepress build docs","docs:deploy":"npm run docs:build && gh-pages -d docs/.vuepress/dist/"},"keywords":["hook","electron","nw.js","listener","mousemove","keypress","keyup","global keypress","shortcut"],"lint-staged":{"examples/**/*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"docs/**/*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"test/**/*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"dependencies":{"nugget":"^2.0.1","pump":"^1.0.3","rc":"^1.2.8","tar-fs":"^1.16.3"},"devDependencies":{"@types/node":"^7.0.62","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-plugin-only-warn":"^1.0.2","eslint-plugin-prettier":"^3.4.0","fs-extra":"^9.0.1","gh-pages":"^3.2.0","htmlhint":"^0.15.1","husky":"^6.0.0","jest":"^26.6.3","lint-staged":"^11.0.0","minimist":"^1.2.5","nan":"^2.18.0","@arifnpm/node-abi":"3.47.0-a","node-gyp":"^9.4.0","prebuild":"^10.0.1","prettier":"^2.3.1","@arifnpm/robotjs":"0.6.0-a","tar":"^6.0.5","vuepress":"^1.7.1"},"supportedTargets":[["electron","4.0.4","69"],["electron","5.0.0","70"],["electron","6.0.0","73"],["electron","7.0.0","75"],["electron","8.0.0","76"],["electron","9.0.0","80"],["electron","10.0.0","82"],["electron","11.0.0","85"],["electron","12.0.0","87"],["electron","13.0.0","89"],["electron","14.0.0","89"],["electron","22.0.0","110"],["electron","26.0.0","116"],["node","10.0.0","64"],["node","11.4.0","67"],["node","12.0.0","72"],["node","13.0.0","79"],["node","14.0.0","83"],["node","15.0.0","88"],["node","16.0.0","93"],["node","18.0.0","108"]],"gitHead":"d3709618416a79ba6e7169c2d3aa1a04ac2cb26a","_id":"@arifnpm/iohook@0.9.3-a","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-VMFzodf4rcKcKC4H4SHH7B1pFbbxzNQJhu4HjEGSk73B3fsh8i9ns5fgcC7dNBX9bdKC+YmDhhRR1K1XCmJXkg==","shasum":"1608f24680f99d08de7bd35c928d286c13a17ee4","tarball":"https://registry.npmjs.org/@arifnpm/iohook/-/iohook-0.9.3-a.tgz","fileCount":19,"unpackedSize":69551,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE+XRhJbb8toDCSNLP1zfnWaRlJFL3hTo4ba3oBr3K6/AiEA7ibyZWXMsTT7+LdnZ9yUinQzljag9olI2b9kGeZQHWY="}]},"_npmUser":{"name":"arifnpm","email":"arifnpm@gmail.com"},"directories":{},"maintainers":[{"name":"arifnpm","email":"arifnpm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iohook_0.9.3-a_1695243796325_0.032437783803644704"},"_hasShrinkwrap":false},"0.9.3-b":{"name":"@arifnpm/iohook","version":"0.9.3-b","description":"Node.js global keyboard and mouse hook","author":{"name":"Aloyan Dmitry"},"license":"MIT","homepage":"https://github.com/arifnpm/iohook","repository":{"type":"git","url":"git+https://github.com/arifnpm/iohook.git"},"bugs":{"url":"https://github.com/arifnpm/iohook/issues"},"main":"index.js","types":"index.d.ts","scripts":{"install":"node install.js","build":"node build.js --upload=false","build:ci":"node build.js --all","build:ci:nofips":"npm run build:ci --openssl_fips=''","build:local":"node build.js --all --upload=false","build:local:nofips":"npm run build:local --openssl_fips=''","build:print":"node -e 'require(\"./helpers\").printManualBuildParams()'","test":"jest","lint:dry":"eslint --ignore-path .lintignore .","lint:fix":"eslint --ignore-path .lintignore --fix . && prettier --ignore-path .lintignore --write .","docs:dev":"vuepress dev docs","docs:build":"vuepress build docs","docs:deploy":"npm run docs:build && gh-pages -d docs/.vuepress/dist/"},"keywords":["hook","electron","nw.js","listener","mousemove","keypress","keyup","global keypress","shortcut"],"lint-staged":{"examples/**/*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"docs/**/*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"test/**/*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"],"*.{js,jsx,ts,tsx}":["eslint --fix","prettier --write"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"dependencies":{"nugget":"^2.0.1","pump":"^1.0.3","rc":"^1.2.8","tar-fs":"^1.16.3"},"devDependencies":{"@types/node":"^7.0.62","eslint":"^7.28.0","eslint-config-prettier":"^8.3.0","eslint-plugin-only-warn":"^1.0.2","eslint-plugin-prettier":"^3.4.0","fs-extra":"^9.0.1","gh-pages":"^3.2.0","htmlhint":"^0.15.1","husky":"^6.0.0","jest":"^26.6.3","lint-staged":"^11.0.0","minimist":"^1.2.5","nan":"^2.18.0","@arifnpm/node-abi":"3.47.0-a","node-gyp":"^9.4.0","prebuild":"^10.0.1","prettier":"^2.3.1","@arifnpm/robotjs":"0.6.0-a","tar":"^6.0.5","vuepress":"^1.7.1"},"supportedTargets":[["electron","4.0.4","69"],["electron","5.0.0","70"],["electron","6.0.0","73"],["electron","7.0.0","75"],["electron","8.0.0","76"],["electron","9.0.0","80"],["electron","10.0.0","82"],["electron","11.0.0","85"],["electron","12.0.0","87"],["electron","13.0.0","89"],["electron","14.0.0","89"],["electron","22.0.0","110"],["electron","26.0.0","116"],["node","10.0.0","64"],["node","11.4.0","67"],["node","12.0.0","72"],["node","13.0.0","79"],["node","14.0.0","83"],["node","15.0.0","88"],["node","16.0.0","93"],["node","18.0.0","108"]],"gitHead":"d3709618416a79ba6e7169c2d3aa1a04ac2cb26a","_id":"@arifnpm/iohook@0.9.3-b","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-r93ZNV4ez0lv2gAXtBaIFRJuPqh2ZZnthu7KDB0UDao/3GUi68kB4x+KeNcux157MqOLp18tQGJIuVEDD8h1JA==","shasum":"ca2a299bf5102e42393dc98bbe6c289c788dc126","tarball":"https://registry.npmjs.org/@arifnpm/iohook/-/iohook-0.9.3-b.tgz","fileCount":19,"unpackedSize":69548,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDp1Q+1kDiAFweqftQnfvLDlPcRQMoFIg92wbZ3WVPkVgIgbNX913A4DxdUAJ+35MH58a1wTEm6UV969fU2k4jdr4Q="}]},"_npmUser":{"name":"arifnpm","email":"arifnpm@gmail.com"},"directories":{},"maintainers":[{"name":"arifnpm","email":"arifnpm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/iohook_0.9.3-b_1695244319412_0.433111163211499"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-20T21:03:16.219Z","0.9.3-a":"2023-09-20T21:03:16.518Z","modified":"2023-09-20T21:11:59.703Z","0.9.3-b":"2023-09-20T21:11:59.558Z"},"maintainers":[{"name":"arifnpm","email":"arifnpm@gmail.com"}],"description":"Node.js global keyboard and mouse hook","homepage":"https://github.com/arifnpm/iohook","keywords":["hook","electron","nw.js","listener","mousemove","keypress","keyup","global keypress","shortcut"],"repository":{"type":"git","url":"git+https://github.com/arifnpm/iohook.git"},"author":{"name":"Aloyan Dmitry"},"bugs":{"url":"https://github.com/arifnpm/iohook/issues"},"license":"MIT","readme":"# iohook\r\n\r\n[![NPM version](https://img.shields.io/npm/v/iohook?color=%230088FF)](https://www.npmjs.com/package/iohook)\r\n[![Release date](https://img.shields.io/github/release-date/wilix-team/iohook?color=%230088FF)](https://github.com/wilix-team/iohook/releases/latest)\r\n[![GitHub Super-Linter](https://github.com/wilix-team/iohook/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)\r\n[![CI](https://github.com/wilix-team/iohook/actions/workflows/ci.yml/badge.svg)](https://github.com/wilix-team/iohook/actions/workflows/ci.yml)\r\n[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?color=%23008880)](https://github.com/prettier/prettier)\r\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/iohookjs/Lobby)\r\n[![Issues](https://img.shields.io/github/issues-raw/wilix-team/iohook)](https://github.com/wilix-team/iohook/issues)\r\n\r\n## About\r\n\r\nNode.js global native keyboard and mouse listener.\r\n\r\nThis module can handle keyboard and mouse events via native hooks inside and outside your JavaScript/TypeScript application.\r\n\r\nFound a bug? Have an idea? Feel free to post an [issue](https://github.com/wilix-team/iohook/issues) or submit a [PR](https://github.com/wilix-team/iohook/pulls).\r\n\r\n**Check out the [documentation](https://wilix-team.github.io/iohook).**\r\n\r\n## Platform support\r\n\r\n- Versions >= 0.6.0 support only officially supported platforms versions.\r\n- Versions 0.5.X are the last to support Electron < 4.0.0\r\n- Versions 0.4.X are the last to support for Node < 8.0 and Electron < 2.0.0\r\n\r\n## Installation\r\n\r\niohook provides prebuilt version for a bunch of OSes and platforms.\r\n\r\n### Linux (including WSL)\r\n\r\n```bash\r\n# On Linux (including WSL) platform, you will need libxkbcommon-x11 installed\r\nsudo apt-get install -y libxkbcommon-x11-0\r\n```\r\n\r\n### All platforms\r\n\r\n```bash\r\nnpm install iohook --save # or yarn add iohook\r\n```\r\n\r\n## FAQ\r\n\r\nQ. _Does this module require Java ?_\r\n\r\nA. No, this module doesn't require Java (like jnativehook) or any other runtimes.\r\n\r\nQ. _Is iohook compatible with Node/Electron version X.Y.Z ?_\r\n\r\nA. We try to match the currently supported version of both [Node](https://nodejs.org/en/about/releases/) and [Electron](https://electronjs.org/docs/tutorial/support#currently-supported-versions).\r\n\r\n## Apps\r\n\r\nAre you using iohook in your project ? Please tell us in a [PR](https://github.com/wilix-team/iohook/pulls) so we an add it to the list !\r\n\r\n- [Cortex](https://crtx.gg/)\r\n- [Tracklify](https://tracklify.com/)\r\n- [CrewLink](https://github.com/ottomated/CrewLink)\r\n- [Runtime](https://github.com/yikuansun/desktopspeedruntools#runtime-speedrun-tools)\r\n\r\n## Contributors\r\n\r\nThanks to _kwhat_ for the [libuiohook](https://github.com/kwhat/libuiohook) project and [ayoubserti](https://github.com/ayoubserti) for the first iohook prototype.\r\n\r\n- [vespakoen](https://github.com/vespakoen) (prebuild system implementation)\r\n- [matthewshirley](https://github.com/matthewshirley) (Windows prebuild fix)\r\n- [djiit](https://github.com/djiit) (project & community help)\r\n- [ezain](https://github.com/eboukamza) (add feature enable/disable mouse click propagation)\r\n- [anoadragon453](https://github.com/anoadragon453) (electron 4+ support)\r\n- [ykhwong](https://github.com/ykhwong) (node-gyp usage, electron 9+ support)\r\n- All the other contributors. Feel free to extend this list !\r\n","readmeFilename":"README.md"}