wilix-team / iohook Goto Github PK
View Code? Open in Web Editor NEWNode.js global keyboard and mouse listener.
Home Page: https://wilix-team.github.io/iohook
License: MIT License
Node.js global keyboard and mouse listener.
Home Page: https://wilix-team.github.io/iohook
License: MIT License
here is what I got when capture event for keydown
when I keydown on f
{"keycode":33,"rawcode":3,"type":"keydown"}
latest iohook
MacOS High Sierra
Node 8.9.1
Whenever I use iohook
to hook onto the keyboard keys, either on keyup or keydown, the value for key keychar
in the event object is always 65535. I used Swedish keyboard at first but I tried with American as well with the same results.
I'm using node 7.2.1
and npm 3.10.10
on Macbook Pro 2015, macOS Sierra 10.12.1.
brew install cmake autoreconf libtool pkg-config => doesn't work for me :( There's no available formula with the name autoreconf.
EDIT: This leads to the following error when installing iohook, using sudo npm i iohook:
info CMD BUILD
info RUN cmake --build "/Users/stef/Documents/dev/lolhelper/node_modules/iohook/build" --config Release
./bootstrap.sh: line 7: autoreconf: command not found
make[2]: *** [CMakeFiles/prepare_iuhook] Error 127
make[1]: *** [CMakeFiles/prepare_iuhook.dir/all] Error 2
make: *** [all] Error 2
ERR! OMG Process terminated: 2
I've tested the released binaries that AppVeyor creates, however, it is not bundling uiohook.dll in the Windows packages.
We need to update the build function tarGz() to also include the DLL if the build is Windows. Should be simple enough. I'll make a PR when I have time.
Users should either build libuiohook themselves or source a prebuilt binary (hint: https://drive.google.com/open?id=1tbgEck9yLG49y4HkfiJoUlEC8FW-UvlR)
This should resolve issue #29
They don't match :
If you tell me a way to go about fixing this correctly I might be able to help.
When I call process.exit(0)
, I expect the process to stop immediately.
Instead, node hangs altogether for a few seconds, then prints out this error, then node stops:
*** Error in `node': double free or corruption (fasttop): 0x0000000004087470 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bfb)[0x7fbb3b38cbfb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76fc6)[0x7fbb3b392fc6]
/lib/x86_64-linux-gnu/libc.so.6(+0x7780e)[0x7fbb3b39380e]
/home/florrie/Documents/splitterm/node_modules/iohook/builds/node-v57-linux-x64/build/Release/iohook.node(_ZNSt5dequeI14_uiohook_eventSaIS0_EE16_M_push_back_auxIIRKS0_EEEvDpOT_+0x13e)[0x7fbb2a5f4e4e]
/home/florrie/Documents/splitterm/node_modules/iohook/builds/node-v57-linux-x64/build/Release/iohook.node(_Z13dispatch_procP14_uiohook_event+0x12c)[0x7fbb2a5f3eac]
/home/florrie/Documents/splitterm/node_modules/iohook/builds/node-v57-linux-x64/build/Release/iohook.node(hook_event_proc+0x4b5)[0x7fbb2a5f55a5]
/usr/lib/x86_64-linux-gnu/libXtst.so.6(+0x19d8)[0x7fbb297099d8]
/usr/lib/x86_64-linux-gnu/libXtst.so.6(XRecordEnableContext+0xf5)[0x7fbb2970ab45]
/home/florrie/Documents/splitterm/node_modules/iohook/builds/node-v57-linux-x64/build/Release/iohook.node(hook_run+0x4f8)[0x7fbb2a5f6748]
/home/florrie/Documents/splitterm/node_modules/iohook/builds/node-v57-linux-x64/build/Release/iohook.node(_Z16hook_thread_procPv+0x9)[0x7fbb2a5f1fb9]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7494)[0x7fbb3b6c0494]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7fbb3b404abf]
======= Memory map: ========
(.................)
Aborted
I'm not sure. I've never had much luck dealing with C code alongside node (or at all).
Here's a very simple repro case you can run straight from the node REPL:
$ node
> require('iohook')
> process.exit(0)
Just typing .exit
instead of process.exit(0)
has the same issue, too.
At first I thought the issue only happened after iohook.start()
, but this issue happens even if I just require the module. (Obviously, this issue doesn't happen if I skip require('iohook')
, but then I'm not using iohook!)
This issue affects me because I want my code to stop eventually (i.e. after a particular user interaction). Having a ton of garbage be outputted is not helpful.
^0.1.15
.Note: Otherwise, iohook does work correctly. I was able to detect a keys being pressed by using ioHook.on('keydown', evt => { ... })
.
Using this code:
const ioHook = require('iohook');
ioHook.on("mousemove", event => {
console.log(event);
});
ioHook.start();
I get this error:
module.js:598
return process.dlopen(module, path._makeLong(filename));
^
Error: The specified module could not be found.
\\?\C:\Users\Eli\Desktop\!NODEJS\node_modules\iohook\builds\node-v51-win32-x64\build\Release\iohook.node
at Object.Module._extensions..node (module.js:598:18)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\Users\Eli\Desktop\!NODEJS\node_modules\iohook\index.js:16:21)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
Iohook module will run in the Mac OS without granting access from the Security & Privacy->Accessibility.
The Iohook event are not working.
Then on the terminal logs, it throws error like this:
hook_run [1342]: Accessibility API is disabled!
hook_run [1350]: Something, something, something, complete.
hook_enable [257]: Thread Result: (0X40).
Failed to enable access for assistive devices. (0X40)
Still unknown how to fix this.
1.npm start
2.The electron app start to run with the iohook.
3.On the terminal, the error log will thrown about the hook_run.
I just want iohook can run that not needed manually grant access from Accessibility of MacOS
I can use f1
to emulate button1
, but f1
also triggers original function in apps
Hi!
Thanks for this cool library.
I would love to use it in a project where i want to listen to 4 keyboards attached to a raspberry pi 3 and i have to be able to tell which keyboard caused which input.
I have already tried it with this library https://github.com/song940/input-event where i can specify the input device path like this const input = new InputEvent('/dev/input/event0');
Like this I am able to distinguish between different input paths. Unfortunately this library doesn't work with more than 2 keyboards.
So I thought to give it a shot with your library, but I couldn't find any place where I could specify the device path like that.
Would this be possible with your library?
Thanks,
Philipp
module.js:664
return process.dlopen(module, path._makeLong(filename));
^
Error: \\?\D:\xx\iohook\iohook-master\builds\node-v57-win32-ia32\build\Release\iohook.node is not a valid Win32 application\\?\D:\xx\iohook\iohook-master\builds\node-v57-win32-ia32\build\Release\iohook.node
I installed it and did not complain
npm install
npm run build
Hi, I'm trying to use this on macOS 10.12 (Sierra) with Electron 1.7.5, for which there is no prebuilt package available.
I've managed to compile it following the instructions in the readme (running npm run build) and this produces a module in iohook/build/Release/iohook.node.
This causes errors when trying to use it because the native module is expected to be in iohook/builds/electron-v54-darwin-x64/build/Release/iohook.node
I can of course manually move this file to where it is inpected, but an important goal is to have the app up and running straight away after a clean checkout and npm install.
Am I missing something or is this module only meant to work with prebuilt binaries?
Adding support for electron abi 54 appears trivial, it just needs a few lines added in support.js. If I do that, running npm run deploy
produces iohook/prebuilds/iohook-v0.1.9-electron-v54-darwin-x64.tar.gz.
Am I correct that that is all that's required? I'd be happy to send a pull request in that case.
Hey there!
First of all, I really appreciate your work :)
For my project, I want to catch the mousemove event, I haven't any log when I use it from my Debian 9.
I use Electron 1.6.2 & prebuilt for Electron 53 (all platform & x64)
When I activate debug mode, I have this :
hook_event_proc [782]: Mouse dragged to 310, 729. (0X2000)
dispatch_event [117]: Dispatching event type 10.
hook_event_proc [782]: Mouse dragged to 310, 728. (0X2000)
dispatch_event [117]: Dispatching event type 10.
hook_event_proc [782]: Mouse dragged to 310, 729. (0X2000)
dispatch_event [117]: Dispatching event type 10.
hook_event_proc [782]: Mouse dragged to 311, 730. (0X2000)
dispatch_event [117]: Dispatching event type 10.
I don't understand why I have this logs but not from the JS hook :/
ioHook.on("mousemove", event => {
console.log(event)
})
but others events works
I should have been able to build iohook.
At the time of building the code, I'm getting an error "refresh_locale_list [628]: Could not find keyboard map for locale 0X000000000409"
iohook is using libuiohook, and this error is because of libuiohook, not iohook. However, this error is resolved in the libuiohook version 1.1 . I built iohook binaries using 1.1 version of libuiohook and was able to make it work in windows 10. Although, the error still persisted in node version of the binary, but the electron version of the binary worked superb on windows.
I tried installing the library
Downloading prebuild for platform: iohook-v0.1.11-node-v57-linux-arm
Prebuild for current platform (iohook-v0.1.11-node-v57-linux-arm) not found!
Try to compile for your platform:
# cd node_modules/iohook;
# npm run compile
However, while there is a node_modules
folder there is no iohook
folder where I can try to run npm run compile
.
Worth nothing this is on Ubuntu 14.04 running on a UDOO Quad as well as Raspbian Jessie and Raspbian Stretch running on a Raspberry Pi 3.
#Am I able to override function keys on keydown
?
Hey man!
I see you are having issues with bundling the modules.
Just wanted to let you know that you can use https://github.com/mafintosh/prebuild for that
Cheers
Hi there,
On macOS 10.12.2, , I had to use the following command to install automake
with brew instead of autoreconf
. Don't know if it's specific to the platform.
Hi guys,
Just a word here to tell you i'm thinking of forking once-and-for-all this repository.
I'm having a hard time contacting @WilixLead and I can't get the right permissions to :
I'm considering moving the repository and creating a new package name (no ideas yet, but a derivative of iohook).
Any ideas on this ?
When I package my electron app with asar settings, this error displayed when the app starts.
Package the electron app with asar and iohook still run.
When I Package the electron app with asar to false, the Iohook still working. But when the asar set to true, the iohook could not be found.
The following error displayed:
Uncaught Error: The specified module could not be found.
\?\C:\Users\Username\AppData\Local\Temp\452039c0-693f-4caf-99a7-393dc8f16557.tmp.node
at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:172:20)
at Object.Module._extensions..node (module.js:598:18)
at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:186:18)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Module.require (module.js:513:17)
at require (internal/module.js:11:18)
at Object. (C:\Users\Username\Documents\TESTAPP\SOURCE CODE\release-builds\hirebrostimetracker-win32-x64\resources\app.asar\node_modules\iohook\index.js:17:21)
at Object. (C:\Users\Username\Documents\TESTAPP\SOURCE CODE\release-builds\hirebrostimetracker-win32-x64\resources\app.asar\node_modules\iohook\index.js:189:3)
Is there another way build package with asar and iohook?
Don't have yet any solution
I want to compile all the resources of my electron app
We should include at leasts some tests to ensure every push to master
is fine.
Need to check unload function (stop() in C++ side)
Looks like it work non correctly and unload rise SIG11 error
Can Run Iohook in macOS that not needed manually allow the apps from the security & privacy->Accessibility
when my app starts run, the iohook mouse events is not working . Then the macOS notified that the app needed to allow the apps from Security & Privacy->Accessibility. After I allowed and reopen the app, the iohook mouse event is start working again
I explored that the MacOS thinks the Iohook some kind of keylogger thats why the Iohook will not run if it's not allowed from the security
Iohook will run in MacOS thats not needed to manually allow the app from the Security & Privacy->Accessibility.
System: Fedora 25
Node version: 6.10.2 (latest LTS)
I can't see where the problem is occurring at the moment, but keydown events aren't being handled correctly from what I can see. Instead of the keydown->keypress->keyup (4->3->5) events that should happen, I get keypress->keypress->keyup (3->3->5).
I enabled debugging, and also inserted the following line at the start of the _handler
function in iohook's index.js
:
console.log(msg);
As an example when attempting to run with this modification in, pressing the a character on my keyboard gives an output of:
hook_event_proc [350]: Key 0X1E pressed. (0X61)
dispatch_event [117]: Dispatching event type 4.
hook_event_proc [382]: Key 0 typed. (a)
dispatch_event [117]: Dispatching event type 3.
a{ type: 3,
mask: 8192,
time: 16205,
keyboard: { keychar: 97, keycode: 0, rawcode: 97 } }
{ type: 3,
mask: 8192,
time: 16205,
keyboard: { keychar: 97, keycode: 0, rawcode: 97 } }
hook_event_proc [445]: Key 0X1E released. (0X61)
dispatch_event [117]: Dispatching event type 5.
{ type: 5,
mask: 8192,
time: 16245,
keyboard: { keycode: 30, rawcode: 97 } }
I will very occasionally get a keydown event like I should be, but this is perhaps only 1% of the time.
edit : see later discussions; this is related to non-existant arch in linux platform.
Can you point me toward a working windows version ?
I can't find any prebuilt for Win10 64bit (I assume it might be the most common use case) for ABI 59 (node 9.2.0+)
Maybe the README should tell the user that one can't build iohook using the npm release, you have to clone the repository. I managed to build iohook by first building libiohook (beware of crlf errors; use dos2unix (see kwhat/libuiohook#24)).
edit: we can use this issue as a dedicated windows thread if it helps debugging, and then submit a PR with more details on how to use this on Windows.
I'm getting this error when attempting to use the library in a Node program:
C:\Root\Apps\Control\@V\RobotJS\Scripts>node Dist/Main.js
Loading native binary: C:\Root\Apps\Control\@V\RobotJS\Scripts\node_modules\iohook\builds\node-v48-win32-x64\build\Release\iohook.node
module.js:597
return process.dlopen(module, path._makeLong(filename));
^
Error: The specified module could not be found.
\\?\C:\Root\Apps\Control\@V\RobotJS\Scripts\node_modules\iohook\builds\node-v48-win32-x64\build\Release\iohook.node
at Error (native)
at Object.Module._extensions..node (module.js:597:18)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\Root\Apps\Control\@V\RobotJS\Scripts\node_modules\iohook\index.js:16:21)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
The file, however, does exist: I copied the path above exactly, into Windows explorer, and it opened the file.
I did a search, and found a similar error message here: http://stackoverflow.com/questions/41253450/error-the-specified-module-could-not-be-found
They suggested to use the Dependeny Walker program to see if it was trying to use a dll that was missing. (as that can be the cause of the error)
So, it seems that the "libuiohook.dll" file is missing.
But why? I'm not sure how to fix it, as running "npm run build" myself errors, and I can't find a prebuilt copy of the "libuiohook.dll" file.
Hello,
I'm really happy to discovered this module. It looks great !
Unfortunately, while trying to install it, here is what I get:
> $ npm install iohook --save ⬡ 7.1.0
> [email protected] install /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/iohook
> node ./install install
Try use default
Recompiling iohook for your environment
Platform is: iohook_darwin_x64
fatal: Not a git repository (or any of the parent directories): .git
child_process.js:531
throw err;
^
Error: Command failed: git submodule update --init
fatal: Not a git repository (or any of the parent directories): .git
at checkExecSyncError (child_process.js:488:13)
at Object.execSync (child_process.js:528:13)
at Object.<anonymous> (/Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/iohook/install.js:24:10)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
at Module.runMain (module.js:607:10)
at run (bootstrap_node.js:420:7)
npm WARN [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin/node" "/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin/npm" "install" "iohook" "--save"
npm ERR! node v7.1.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node ./install install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node ./install install'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the iohook package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./install install
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs iohook
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls iohook
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
Log file bellow:
0 info it worked if it ends with ok
1 verbose cli [ '/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin/node',
1 verbose cli '/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin/npm',
1 verbose cli 'install',
1 verbose cli 'iohook',
1 verbose cli '--save' ]
2 info using [email protected]
3 info using [email protected]
4 silly loadCurrentTree Starting
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 silly fetchPackageMetaData iohook
8 silly fetchNamedPackageData iohook
9 silly mapToRegistry name iohook
10 silly mapToRegistry using default registry
11 silly mapToRegistry registry https://registry.npmjs.org/
12 silly mapToRegistry data Result {
12 silly mapToRegistry raw: 'iohook',
12 silly mapToRegistry scope: null,
12 silly mapToRegistry escapedName: 'iohook',
12 silly mapToRegistry name: 'iohook',
12 silly mapToRegistry rawSpec: '',
12 silly mapToRegistry spec: 'latest',
12 silly mapToRegistry type: 'tag' }
13 silly mapToRegistry uri https://registry.npmjs.org/iohook
14 verbose request uri https://registry.npmjs.org/iohook
15 verbose request no auth needed
16 info attempt registry request try #1 at 6:25:25 AM
17 verbose request using bearer token for auth
18 verbose request id fcbcaac16ad5773b
19 verbose etag W/"58d68bbf-4d8a"
20 verbose lastModified Sat, 25 Mar 2017 15:24:47 GMT
21 http request GET https://registry.npmjs.org/iohook
22 http 304 https://registry.npmjs.org/iohook
23 verbose headers { server: 'nginx/1.10.1',
23 verbose headers 'last-modified': 'Sat, 25 Mar 2017 15:24:47 GMT',
23 verbose headers etag: '"58d68bbf-4d8a"',
23 verbose headers 'cache-control': 'max-age=300',
23 verbose headers 'accept-ranges': 'bytes',
23 verbose headers date: 'Tue, 28 Mar 2017 22:25:26 GMT',
23 verbose headers via: '1.1 varnish',
23 verbose headers connection: 'keep-alive',
23 verbose headers 'x-served-by': 'cache-nrt6131-NRT',
23 verbose headers 'x-cache': 'MISS',
23 verbose headers 'x-cache-hits': '0',
23 verbose headers 'x-timer': 'S1490739926.297512,VS0,VE147',
23 verbose headers vary: 'Accept-Encoding' }
24 silly get cb [ 304,
24 silly get { server: 'nginx/1.10.1',
24 silly get 'last-modified': 'Sat, 25 Mar 2017 15:24:47 GMT',
24 silly get etag: '"58d68bbf-4d8a"',
24 silly get 'cache-control': 'max-age=300',
24 silly get 'accept-ranges': 'bytes',
24 silly get date: 'Tue, 28 Mar 2017 22:25:26 GMT',
24 silly get via: '1.1 varnish',
24 silly get connection: 'keep-alive',
24 silly get 'x-served-by': 'cache-nrt6131-NRT',
24 silly get 'x-cache': 'MISS',
24 silly get 'x-cache-hits': '0',
24 silly get 'x-timer': 'S1490739926.297512,VS0,VE147',
24 silly get vary: 'Accept-Encoding' } ]
25 verbose etag https://registry.npmjs.org/iohook from cache
26 verbose get saving iohook to /Users/gabrielstuff/.npm/registry.npmjs.org/iohook/.cache.json
27 verbose correctMkdir /Users/gabrielstuff/.npm correctMkdir not in flight; initializing
28 silly install normalizeTree
29 silly loadCurrentTree Finishing
30 silly loadIdealTree Starting
31 silly install loadIdealTree
32 silly cloneCurrentTree Starting
33 silly install cloneCurrentTreeToIdealTree
34 silly cloneCurrentTree Finishing
35 silly loadShrinkwrap Starting
36 silly install loadShrinkwrap
37 silly loadShrinkwrap Finishing
38 silly loadAllDepsIntoIdealTree Starting
39 silly install loadAllDepsIntoIdealTree
40 silly resolveWithNewModule [email protected] checking installable status
41 silly cache add args [ 'iohook', null ]
42 verbose cache add spec iohook
43 silly cache add parsed spec Result {
43 silly cache add raw: 'iohook',
43 silly cache add scope: null,
43 silly cache add escapedName: 'iohook',
43 silly cache add name: 'iohook',
43 silly cache add rawSpec: '',
43 silly cache add spec: 'latest',
43 silly cache add type: 'tag' }
44 silly addNamed iohook@latest
45 verbose addNamed "latest" is being treated as a dist-tag for iohook
46 info addNameTag [ 'iohook', 'latest' ]
47 silly mapToRegistry name iohook
48 silly mapToRegistry using default registry
49 silly mapToRegistry registry https://registry.npmjs.org/
50 silly mapToRegistry data Result {
50 silly mapToRegistry raw: 'iohook',
50 silly mapToRegistry scope: null,
50 silly mapToRegistry escapedName: 'iohook',
50 silly mapToRegistry name: 'iohook',
50 silly mapToRegistry rawSpec: '',
50 silly mapToRegistry spec: 'latest',
50 silly mapToRegistry type: 'tag' }
51 silly mapToRegistry uri https://registry.npmjs.org/iohook
52 verbose addNameTag registry:https://registry.npmjs.org/iohook not in flight; fetching
53 verbose get https://registry.npmjs.org/iohook not expired, no request
54 silly addNameTag next cb for iohook with tag latest
55 silly addNamed [email protected]
56 verbose addNamed "0.1.2" is a plain semver version for iohook
57 silly cache afterAdd [email protected]
58 verbose afterAdd /Users/gabrielstuff/.npm/iohook/0.1.2/package/package.json not in flight; writing
59 verbose correctMkdir /Users/gabrielstuff/.npm correctMkdir not in flight; initializing
60 verbose afterAdd /Users/gabrielstuff/.npm/iohook/0.1.2/package/package.json written
61 silly fetchNamedPackageData bindings
62 silly mapToRegistry name bindings
63 silly mapToRegistry using default registry
64 silly mapToRegistry registry https://registry.npmjs.org/
65 silly mapToRegistry data Result {
65 silly mapToRegistry raw: 'bindings',
65 silly mapToRegistry scope: null,
65 silly mapToRegistry escapedName: 'bindings',
65 silly mapToRegistry name: 'bindings',
65 silly mapToRegistry rawSpec: '',
65 silly mapToRegistry spec: 'latest',
65 silly mapToRegistry type: 'tag' }
66 silly mapToRegistry uri https://registry.npmjs.org/bindings
67 verbose request uri https://registry.npmjs.org/bindings
68 verbose request no auth needed
69 info attempt registry request try #1 at 6:25:26 AM
70 verbose request using bearer token for auth
71 verbose etag W/"580645d3-46f7"
72 verbose lastModified Tue, 18 Oct 2016 15:54:59 GMT
73 http request GET https://registry.npmjs.org/bindings
74 http 304 https://registry.npmjs.org/bindings
75 verbose headers { server: 'nginx/1.10.1',
75 verbose headers 'last-modified': 'Tue, 18 Oct 2016 15:54:59 GMT',
75 verbose headers etag: '"580645d3-46f7"',
75 verbose headers 'cache-control': 'max-age=300',
75 verbose headers 'accept-ranges': 'bytes',
75 verbose headers date: 'Tue, 28 Mar 2017 22:25:26 GMT',
75 verbose headers via: '1.1 varnish',
75 verbose headers connection: 'keep-alive',
75 verbose headers 'x-served-by': 'cache-nrt6131-NRT',
75 verbose headers 'x-cache': 'MISS',
75 verbose headers 'x-cache-hits': '0',
75 verbose headers 'x-timer': 'S1490739926.663469,VS0,VE172',
75 verbose headers vary: 'Accept-Encoding' }
76 silly get cb [ 304,
76 silly get { server: 'nginx/1.10.1',
76 silly get 'last-modified': 'Tue, 18 Oct 2016 15:54:59 GMT',
76 silly get etag: '"580645d3-46f7"',
76 silly get 'cache-control': 'max-age=300',
76 silly get 'accept-ranges': 'bytes',
76 silly get date: 'Tue, 28 Mar 2017 22:25:26 GMT',
76 silly get via: '1.1 varnish',
76 silly get connection: 'keep-alive',
76 silly get 'x-served-by': 'cache-nrt6131-NRT',
76 silly get 'x-cache': 'MISS',
76 silly get 'x-cache-hits': '0',
76 silly get 'x-timer': 'S1490739926.663469,VS0,VE172',
76 silly get vary: 'Accept-Encoding' } ]
77 verbose etag https://registry.npmjs.org/bindings from cache
78 verbose get saving bindings to /Users/gabrielstuff/.npm/registry.npmjs.org/bindings/.cache.json
79 verbose correctMkdir /Users/gabrielstuff/.npm correctMkdir not in flight; initializing
80 silly resolveWithNewModule [email protected] checking installable status
81 silly cache add args [ 'bindings@^1.2.1', null ]
82 verbose cache add spec bindings@^1.2.1
83 silly cache add parsed spec Result {
83 silly cache add raw: 'bindings@^1.2.1',
83 silly cache add scope: null,
83 silly cache add escapedName: 'bindings',
83 silly cache add name: 'bindings',
83 silly cache add rawSpec: '^1.2.1',
83 silly cache add spec: '>=1.2.1 <2.0.0',
83 silly cache add type: 'range' }
84 silly addNamed bindings@>=1.2.1 <2.0.0
85 verbose addNamed ">=1.2.1 <2.0.0" is a valid semver range for bindings
86 silly addNameRange { name: 'bindings', range: '>=1.2.1 <2.0.0', hasData: false }
87 silly mapToRegistry name bindings
88 silly mapToRegistry using default registry
89 silly mapToRegistry registry https://registry.npmjs.org/
90 silly mapToRegistry data Result {
90 silly mapToRegistry raw: 'bindings',
90 silly mapToRegistry scope: null,
90 silly mapToRegistry escapedName: 'bindings',
90 silly mapToRegistry name: 'bindings',
90 silly mapToRegistry rawSpec: '',
90 silly mapToRegistry spec: 'latest',
90 silly mapToRegistry type: 'tag' }
91 silly mapToRegistry uri https://registry.npmjs.org/bindings
92 verbose addNameRange registry:https://registry.npmjs.org/bindings not in flight; fetching
93 verbose get https://registry.npmjs.org/bindings not expired, no request
94 silly addNameRange number 2 { name: 'bindings', range: '>=1.2.1 <2.0.0', hasData: true }
95 silly addNameRange versions [ 'bindings',
95 silly addNameRange [ '0.0.1',
95 silly addNameRange '0.1.0',
95 silly addNameRange '0.1.1',
95 silly addNameRange '0.2.0',
95 silly addNameRange '0.2.1',
95 silly addNameRange '0.2.2',
95 silly addNameRange '0.2.3',
95 silly addNameRange '0.2.4',
95 silly addNameRange '0.3.0',
95 silly addNameRange '0.4.0',
95 silly addNameRange '1.0.0',
95 silly addNameRange '1.1.0',
95 silly addNameRange '1.1.1',
95 silly addNameRange '1.2.0',
95 silly addNameRange '1.2.1' ] ]
96 silly addNamed [email protected]
97 verbose addNamed "1.2.1" is a plain semver version for bindings
98 silly cache afterAdd [email protected]
99 verbose afterAdd /Users/gabrielstuff/.npm/bindings/1.2.1/package/package.json not in flight; writing
100 verbose correctMkdir /Users/gabrielstuff/.npm correctMkdir not in flight; initializing
101 verbose afterAdd /Users/gabrielstuff/.npm/bindings/1.2.1/package/package.json written
102 silly loadAllDepsIntoIdealTree Finishing
103 silly loadIdealTree Finishing
104 silly currentTree [email protected]
104 silly currentTree └── [email protected]
105 silly idealTree [email protected]
105 silly idealTree ├── [email protected]
105 silly idealTree ├── [email protected]
105 silly idealTree └── [email protected]
106 silly generateActionsToTake Starting
107 silly install generateActionsToTake
108 silly generateActionsToTake Finishing
109 silly diffTrees action count 2
110 silly diffTrees add [email protected]
111 silly diffTrees add [email protected]
112 silly decomposeActions action count 16
113 silly decomposeActions fetch [email protected]
114 silly decomposeActions extract [email protected]
115 silly decomposeActions test [email protected]
116 silly decomposeActions preinstall [email protected]
117 silly decomposeActions build [email protected]
118 silly decomposeActions install [email protected]
119 silly decomposeActions postinstall [email protected]
120 silly decomposeActions finalize [email protected]
121 silly decomposeActions fetch [email protected]
122 silly decomposeActions extract [email protected]
123 silly decomposeActions test [email protected]
124 silly decomposeActions preinstall [email protected]
125 silly decomposeActions build [email protected]
126 silly decomposeActions install [email protected]
127 silly decomposeActions postinstall [email protected]
128 silly decomposeActions finalize [email protected]
129 silly runTopLevelLifecycles Starting
130 silly executeActions Starting
131 silly install executeActions
132 silly doSerial global-install 0
133 silly doParallel fetch 2
134 verbose correctMkdir /Users/gabrielstuff/.npm/_locks correctMkdir not in flight; initializing
135 verbose lock using /Users/gabrielstuff/.npm/_locks/staging-0303ebea3bd89d5c.lock for /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging
136 silly doParallel extract 2
137 silly extract [email protected]
138 silly extract [email protected]
139 verbose unbuild node_modules/.staging/bindings-00db33d4
140 verbose unbuild node_modules/.staging/iohook-198f6a4b
141 silly gentlyRm /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4 is being purged from base /Users/gabrielstuff/Sources/node/soixante/playground/mouse
142 verbose gentlyRm don't care about contents; nuking /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4
143 verbose tar unpack /Users/gabrielstuff/.npm/bindings/1.2.1/package.tgz
144 verbose tar unpacking to /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4
145 silly gentlyRm /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4 is being purged
146 verbose gentlyRm don't care about contents; nuking /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4
147 silly gunzTarPerm modes [ '755', '644' ]
148 silly gentlyRm /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b is being purged from base /Users/gabrielstuff/Sources/node/soixante/playground/mouse
149 verbose gentlyRm don't care about contents; nuking /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b
150 verbose tar unpack /Users/gabrielstuff/.npm/iohook/0.1.2/package.tgz
151 verbose tar unpacking to /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b
152 silly gentlyRm /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b is being purged
153 verbose gentlyRm don't care about contents; nuking /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b
154 silly gunzTarPerm modes [ '755', '644' ]
155 silly gunzTarPerm extractEntry package.json
156 silly gunzTarPerm extractEntry package.json
157 silly gunzTarPerm extractEntry README.md
158 silly gunzTarPerm extractEntry bindings.js
159 silly gunzTarPerm extractEntry .npmignore
160 silly gunzTarPerm extractEntry README.md
161 silly gunzTarPerm extractEntry LICENSE
162 silly gunzTarPerm extractEntry example.js
163 silly gunzTarPerm extractEntry index.js
164 silly gunzTarPerm extractEntry install.js
165 silly gunzTarPerm extractEntry eletron-example/package.json
166 silly gunzTarPerm extractEntry eletron-example/README.md
167 silly gunzTarPerm extractEntry eletron-example/main.js
168 silly gunzTarPerm extractEntry CMakeLists.txt
169 silly gunzTarPerm extractEntry .gitmodules
170 silly gunzTarPerm extractEntry src/iohook.cc
171 silly gunzTarPerm extractEntry src/iohook.h
172 silly gentlyRm /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4/node_modules is being purged
173 verbose gentlyRm don't care about contents; nuking /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4/node_modules
174 silly gentlyRm /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b/node_modules is being purged
175 verbose gentlyRm don't care about contents; nuking /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b/node_modules
176 silly doParallel preinstall 2
177 silly preinstall [email protected] /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4
178 info lifecycle [email protected]~preinstall: [email protected]
179 silly preinstall [email protected] /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b
180 info lifecycle [email protected]~preinstall: [email protected]
181 silly lifecycle [email protected]~preinstall: no script for preinstall, continuing
182 silly lifecycle [email protected]~preinstall: no script for preinstall, continuing
183 silly doReverseSerial remove 0
184 silly doSerial move 0
185 silly doSerial finalize 2
186 silly finalize /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/bindings
187 silly finalize /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/iohook
188 silly doSerial build 2
189 silly build [email protected]
190 info linkStuff [email protected]
191 silly linkStuff [email protected] has /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules as its parent node_modules
192 verbose linkBins [email protected]
193 verbose linkMans [email protected]
194 silly build [email protected]
195 info linkStuff [email protected]
196 silly linkStuff [email protected] has /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules as its parent node_modules
197 verbose linkBins [email protected]
198 verbose linkMans [email protected]
199 silly doSerial global-link 0
200 silly doParallel update-linked 0
201 silly doSerial install 2
202 silly install [email protected] /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/bindings-00db33d4
203 info lifecycle [email protected]~install: [email protected]
204 silly lifecycle [email protected]~install: no script for install, continuing
205 silly install [email protected] /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging/iohook-198f6a4b
206 info lifecycle [email protected]~install: [email protected]
207 verbose lifecycle [email protected]~install: unsafe-perm in lifecycle true
208 verbose lifecycle [email protected]~install: PATH: /Users/gabrielstuff/.nvm/versions/node/v7.1.0/lib/node_modules/npm/bin/node-gyp-bin:/Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/iohook/node_modules/.bin:/Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.bin:/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin:/Users/gabrielstuff/.avn/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/gabrielstuff/.rvm/bin:/Users/gabrielstuff/.composer/vendor/bin/
209 verbose lifecycle [email protected]~install: CWD: /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/iohook
210 silly lifecycle [email protected]~install: Args: [ '-c', 'node ./install install' ]
211 silly lifecycle [email protected]~install: Returned: code: 1 signal: null
212 info lifecycle [email protected]~install: Failed to exec install script
213 verbose unlock done using /Users/gabrielstuff/.npm/_locks/staging-0303ebea3bd89d5c.lock for /Users/gabrielstuff/Sources/node/soixante/playground/mouse/node_modules/.staging
214 silly rollbackFailedOptional Starting
215 silly rollbackFailedOptional Finishing
216 silly runTopLevelLifecycles Finishing
217 silly install printInstalled
218 warn [email protected] No description
219 verbose If you need help, you may report this error at:
219 verbose <https://github.com/npm/npm/issues>
220 warn [email protected] No repository field.
221 verbose If you need help, you may report this error at:
221 verbose <https://github.com/npm/npm/issues>
222 verbose stack Error: [email protected] install: `node ./install install`
222 verbose stack Exit status 1
222 verbose stack at EventEmitter.<anonymous> (/Users/gabrielstuff/.nvm/versions/node/v7.1.0/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
222 verbose stack at emitTwo (events.js:106:13)
222 verbose stack at EventEmitter.emit (events.js:191:7)
222 verbose stack at ChildProcess.<anonymous> (/Users/gabrielstuff/.nvm/versions/node/v7.1.0/lib/node_modules/npm/lib/utils/spawn.js:40:14)
222 verbose stack at emitTwo (events.js:106:13)
222 verbose stack at ChildProcess.emit (events.js:191:7)
222 verbose stack at maybeClose (internal/child_process.js:885:16)
222 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
223 verbose pkgid [email protected]
224 verbose cwd /Users/gabrielstuff/Sources/node/soixante/playground/mouse
225 error Darwin 15.6.0
226 error argv "/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin/node" "/Users/gabrielstuff/.nvm/versions/node/v7.1.0/bin/npm" "install" "iohook" "--save"
227 error node v7.1.0
228 error npm v3.10.9
229 error code ELIFECYCLE
230 error [email protected] install: `node ./install install`
230 error Exit status 1
231 error Failed at the [email protected] install script 'node ./install install'.
231 error Make sure you have the latest version of node.js and npm installed.
231 error If you do, this is most likely a problem with the iohook package,
231 error not with npm itself.
231 error Tell the author that this fails on your system:
231 error node ./install install
231 error You can get information on how to open an issue for this project with:
231 error npm bugs iohook
231 error Or if that isn't available, you can get their info via:
231 error npm owner ls iohook
231 error There is likely additional logging output above.
232 verbose exit [ 1, true ]
Hi,
I tried to use last version of electron 54 (1.7.0) but it's doesn't work.
Please can you support this version.
Thank you.
We should provide users with a complete and sober documentation hosted on, e.g. Github Pages.
On macOS 10.12.2 and nodejs v7.1.0, I encountered the following error after a fresh install and I can't use the lib :
/Users/jtanay/dev/testrobot/node_modules/bindings/bindings.js:91
throw err
^
Error: Could not locate the bindings file. Tried:
→ /Users/jtanay/dev/testrobot/build/iohook.node
→ /Users/jtanay/dev/testrobot/build/Debug/iohook.node
→ /Users/jtanay/dev/testrobot/build/Release/iohook.node
→ /Users/jtanay/dev/testrobot/out/Debug/iohook.node
→ /Users/jtanay/dev/testrobot/Debug/iohook.node
→ /Users/jtanay/dev/testrobot/out/Release/iohook.node
→ /Users/jtanay/dev/testrobot/Release/iohook.node
→ /Users/jtanay/dev/testrobot/build/default/iohook.node
→ /Users/jtanay/dev/testrobot/compiled/7.1.0/darwin/x64/iohook.node
Any idea on what's causing this ?
Thanks
I added cmake-js to the package as instructed in the example but still cannot create the iohook.node file for electron. I feel current example for electron is not very clear. Could you give more explicit descriptions? Thanks!
my package.json
"devDependencies": {
"electron": "^1.8.4",
"electron-rebuild": "^1.4.0"
},
"dependencies": {
"iohook": "^0.1.15",
"jQuery": "^1.7.4",
"materialize-css": "^1.0.0-beta"
},
"cmake-js": {
"runtime": "electron",
"runtimeVersion": "1.4.7"
}
and I tried both mac and windows. It seems electron-rebuild is using node-gyp but you are using cmake-js. Idk that could be the problem.
I can't get it running with electron. Do you have a minimal electron app example ? Thanks
when running iohook in a Virtual box windows 7 machine, or in a microsoft azure remote machine with windows 10, the module fails with the following error:
PID 1056 received SIGSEGV for address: 0xfd11a06d
SymInit: Symbol-SearchPath: '.;C:\Users\jose luis\projects\desktopapp-prototype; C:\Users\myname\projects\desktopapp-prototype\node_modules\electron\dist;C:\W indows;C:\Windows\system32;SRVC:\websymbolshttp://msdl.microsoft.com/download/ symbols;', symOptions: 530, UserName: 'my name'
OS-Version: 6.1.7601 (Service Pack 1) 0x100-0x1
c:\users\myname\projects\desktopapp-prototype\node_modules\segfault-handler\s rc\stackwalker.cpp (941): StackWalker::ShowCallstack
c:\users\myname\projects\desktopapp-prototype\node_modules\segfault-handler\s rc\segfault-handler.cpp (116): segfault_handler
00000000773B984B (ntdll): (filename not available): vsprintf_s
00000000773B8162 (ntdll): (filename not available): RtlUnwindEx
00000000773B8AC8 (ntdll): (filename not available): RtlRaiseException
000007FEFD11A06D (KERNELBASE): (filename not available): RaiseException
000007FEFD6E5113 (RPCRT4): (filename not available): RpcRaiseException
000007FEFD6E5893 (RPCRT4): (filename not available): RpcEpResolveBinding
000007FEFD71817F (RPCRT4): (filename not available): RpcAsyncRegisterInfo
000007FEFD7AC6FA (RPCRT4): (filename not available): Ndr64AsyncClientCall
000007FEFD7AC9BB (RPCRT4): (filename not available): Ndr64AsyncClientCall
000007FEFD7ACDE5 (RPCRT4): (filename not available): NdrClientCall3
000007FEF5971A04 (wlanapi): (filename not available): WlanOpenHandle
0000000141090A36 (electron): (filename not available): IsSandboxedProcess
0000000141090FD0 (electron): (filename not available): IsSandboxedProcess
000000014115FAD1 (electron): (filename not available): IsSandboxedProcess
000000014115FA00 (electron): (filename not available): IsSandboxedProcess
00000001410C8F20 (electron): (filename not available): IsSandboxedProcess
0000000141013188 (electron): (filename not available): IsSandboxedProcess
000000013FC7614B (electron): (filename not available): (function-name not available)
00000001404B30F0 (electron): (filename not available): IsSandboxedProcess
000000014018EFD5 (electron): (filename not available): IsSandboxedProcess
000000013FD5E96C (electron): (filename not available): GetHandleVerifier
000000013FD01836 (electron): (filename not available): GetHandleVerifier
000000013FD00320 (electron): (filename not available): GetHandleVerifier
000000013FD5FA17 (electron): (filename not available): GetHandleVerifier
000000013FD60304 (electron): (filename not available): GetHandleVerifier
000000013FCFD29E (electron): (filename not available): GetHandleVerifier
000000013FDC9B12 (electron): (filename not available): GetHandleVerifier
000000013FDCA629 (electron): (filename not available): GetHandleVerifier
000000013FCE08FB (electron): (filename not available): GetHandleVerifier
000000013FCE29B5 (electron): (filename not available): GetHandleVerifier
00000000772959BD (kernel32): (filename not available): BaseThreadInitThunk
00000000773CA2E1 (ntdll): (filename not available): RtlUserThreadStart
refresh_locale_list [470]: GetKeyboardLayoutList(0, NULL) found 2 layouts.
refresh_locale_list [487]: Received 2 locales.
load_input_helper [860]: refresh_locale_list() found 0 locale(s).
refresh_locale_list [628]: Could not find keyboard map for locale 00000000081608 16!
refresh_locale_list [628]: Could not find keyboard map for locale 00000000040904 09!
[UPDATE] I now realised that this problem is not related to virtual machines, but with running electron rebuild and then try to run the application
The previous version was clonable and installable without any issue.
Now while trying to clone the repo and install I've got the following errors :
npm WARN deprecated [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN prefer global [email protected] should be installed with -g
npm WARN prefer global [email protected] should be installed with -g
> [email protected] install /Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook
> node install.js
/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:87
throw new Error('Can\'t resolve main package.json file');
^
Error: Can't resolve main package.json file
at optionsFromPackage (/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:87:11)
at optionsFromPackage (/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:100:12)
at optionsFromPackage (/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:100:12)
at optionsFromPackage (/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:100:12)
at optionsFromPackage (/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:100:12)
at Object.<anonymous> (/Users/gabrielstuff/Sources/node/soixante/playground/test-module/iohook/install.js:104:17)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/gabrielstuff/.nvm/versions/node/v7.4.0/bin/node" "/Users/gabrielstuff/.nvm/versions/node/v7.4.0/bin/npm" "install"
more here: https://gist.github.com/a793a06de913edc6ff725f0b84488149
I tried installing the library (yarn, npm - no difference), ended up with:
Prebuild for current platform (iohook-v0.1.9-node-v57-linux-x64) not found!
Try to compile for your platform:
# cd node_modules/iohook;
# npm run compile
Ok, no big deal.
First issue: the command is npm run build
, according to package.json
Having all dependencies installed I still got into trouble, because of:
Second issue: cmake-js
have to be globally installed to be able to do that.
Installed that, but got into:
Third issue: Cannot compile, logs:
dzek@dzek-Mint17 ~/Projects/dzekcamp/node_modules/iohook $ npm run build
> [email protected] build /home/dzek/Projects/dzekcamp/node_modules/iohook
> cmake-js compile
info TOOL Using Unix Makefiles generator.
info TOOL Using c++11 compiler standard.
info CMD CONFIGURE
WARN invalid config loglevel="notice"
info RUN cmake "/home/dzek/Projects/dzekcamp/node_modules/iohook" --no-warn-unused-cli -G"Unix Makefiles" -DCMAKE_JS_VERSION="3.5.0" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="/home/dzek/Projects/dzekcamp/node_modules/iohook/build/Release" -DCMAKE_JS_INC="/home/dzek/.cmake-js/node-x64/v8.4.0/include/node;/home/dzek/Projects/dzekcamp/node_modules/nan" -DNODE_RUNTIME="node" -DNODE_RUNTIMEVERSION="8.4.0" -DNODE_ARCH="x64" -DCMAKE_CXX_FLAGS="-std=c++11"
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
You have called ADD_LIBRARY for library uiohook without any source files. This typically indicates a problem with your CMakeLists.txt file
-- Configuring done
CMake Error: Cannot determine link language for target "uiohook".
CMake Error: CMake can not determine linker language for target: uiohook
-- Generating done
-- Build files have been written to: /home/dzek/Projects/dzekcamp/node_modules/iohook/build
info REP Build has been failed, trying to do a full rebuild.
info CMD CLEAN
info RUN cmake -E remove_directory "/home/dzek/Projects/dzekcamp/node_modules/iohook/build"
info CMD CONFIGURE
info RUN cmake "/home/dzek/Projects/dzekcamp/node_modules/iohook" --no-warn-unused-cli -G"Unix Makefiles" -DCMAKE_JS_VERSION="3.5.0" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="/home/dzek/Projects/dzekcamp/node_modules/iohook/build/Release" -DCMAKE_JS_INC="/home/dzek/.cmake-js/node-x64/v8.4.0/include/node;/home/dzek/Projects/dzekcamp/node_modules/nan" -DNODE_RUNTIME="node" -DNODE_RUNTIMEVERSION="8.4.0" -DNODE_ARCH="x64" -DCMAKE_CXX_FLAGS="-std=c++11"
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
You have called ADD_LIBRARY for library uiohook without any source files. This typically indicates a problem with your CMakeLists.txt file
-- Configuring done
CMake Error: Cannot determine link language for target "uiohook".
CMake Error: CMake can not determine linker language for target: uiohook
-- Generating done
-- Build files have been written to: /home/dzek/Projects/dzekcamp/node_modules/iohook/build
ERR! OMG Process terminated: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cmake-js compile`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR! /home/dzek/.npm/_logs/2017-08-26T16_48_41_366Z-debug.log
dzek@dzek-Mint17 ~/Projects/dzekcamp/node_modules/iohook $ cat /home/dzek/.npm/_logs/2017-08-26T16_48_41_366Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/nodejs', '/usr/bin/npm', 'run', 'build' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle [email protected]~prebuild: [email protected]
6 info lifecycle [email protected]~build: [email protected]
7 verbose lifecycle [email protected]~build: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]~build: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/home/dzek/Projects/dzekcamp/node_modules/iohook/node_modules/.bin:/home/dzek/Projects/dzekcamp/node_modules/.bin:/home/dzek/bin:/home/dzek/.local/bin:/home/dzek/bin:/home/dzek/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin
9 verbose lifecycle [email protected]~build: CWD: /home/dzek/Projects/dzekcamp/node_modules/iohook
10 silly lifecycle [email protected]~build: Args: [ '-c', 'cmake-js compile' ]
11 silly lifecycle [email protected]~build: Returned: code: 1 signal: null
12 info lifecycle [email protected]~build: Failed to exec build script
13 verbose stack Error: [email protected] build: `cmake-js compile`
13 verbose stack Exit status 1
13 verbose stack at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:289:16)
13 verbose stack at emitTwo (events.js:125:13)
13 verbose stack at EventEmitter.emit (events.js:213:7)
13 verbose stack at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:40:14)
13 verbose stack at emitTwo (events.js:125:13)
13 verbose stack at ChildProcess.emit (events.js:213:7)
13 verbose stack at maybeClose (internal/child_process.js:927:16)
13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
14 verbose pkgid [email protected]
15 verbose cwd /home/dzek/Projects/dzekcamp/node_modules/iohook
16 verbose Linux 4.10.0-30-generic
17 verbose argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "build"
18 verbose node v8.4.0
19 verbose npm v5.3.0
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] build: `cmake-js compile`
22 error Exit status 1
23 error Failed at the [email protected] build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
I'd appreciate any help to get this running
keypress
doesn't seem to fire any events, keyup
and keydown
works though.
Hello!
If it possible, can you build release with new node (v8* with ABI 57) supports?
Or just provide some manual how I can do it myself.
Currently no idea how I can do it :)
Hi, I have created an electron app that uses the ioHook library in it, as soon as I pack the app running (using yarn run build
) and try to open the packaged app (both in mac and windows) the app crashes claiming it can't find the module.
If I run the app using yarn start
or electron .
it works perfectly!
I would've expected it to get compiled with the rest of the libraries I use.
Currently, the app crashes saying "Uncaught exception: Error: Cannot find module 'ioHook'" and then the stack trace.
Not sure, wish I had :)
yarn add iohook
const ioHook = require('iohook');
I am trying to get the library running as part of an electron app without the need to install the library nowhere externally.
Any ideas? Hope I gave enough info!
Thanks,
Eyal
stop() is not stopping the eventlisteners or iohook. I'm using latest version of iohook, 0.1.12.
I tried it on a couple of other versions as well like 0.1.9 and the same problem was there as well.
and unload() is exiting my process, so as soon as i unload iohook, my application exits.
Can you please suggest a way in which i can stop iohook once started?
Install: msys2 with autotools, pkg-config, libtool, gcc, clang, glib, C++ Build Tools, cmake
I cant or dont know how to install: "autotools" (do you mean automake?), "C++ Build Tools" (?)
currently i failed with "OMG There is no Visual C++ compiler installed. Install Visual C++ Build Toolset or Visual Studio.", which seems to be an cmake error.
Further more the example.js is already working!
so, do I even have to compile that anymore? Actual my electron app cant find the module. The error here is:
Uncaught Error: Cannot find module 'C:\xampp\htdocs\electron-test\node_modules\iohook\builds\electron-v57-win32-x64\build\Release\iohook.node'
at Module._resolveFilename
I'm always weary with modules like these that they have hidden backdoors sending my data somewhere. Can you confirm this isn't the case? I've looked over the code and cannot see anything unusual.
Just being.. mindful.
Just a small request to add this enable updating.
2017-04-28 21:48:47 ⌚ Pedros-MacBook-Pro in ~/Documents/rants/bg-key-app/iohook/electron-example
± |master U:2 ✗| → npm start
> [email protected] start /Users/pedroesperanca/Documents/rants/bg-key-app/iohook/electron-example
> electron ./
Loading native binary: /Users/pedroesperanca/Documents/rants/bg-key-app/iohook/electron-example/node_modules/ioHook/builds/electron-v53-darwin-x64/build/Release/iohook.n
ode
App threw an error during load
Error: Cannot find module '/Users/pedroesperanca/Documents/rants/bg-key-app/iohook/electron-example/node_modules/ioHook/builds/electron-v53-darwin-x64/build/Release/ioho
ok.node'
at Module._resolveFilename (module.js:470:15)
at Function.Module._resolveFilename (/Users/pedroesperanca/Documents/rants/bg-key-app/iohook/electron-example/node_modules/electron/dist/Electron.app/Contents/Resour
ces/electron.asar/common/reset-search-paths.js:35:12)
at Function.Module._load (module.js:418:25)
at Module.require (module.js:498:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/pedroesperanca/Documents/rants/bg-key-app/iohook/electron-example/node_modules/ioHook/index.js:16:21)
at Object.<anonymous> (/Users/pedroesperanca/Documents/rants/bg-key-app/iohook/electron-example/node_modules/ioHook/index.js:110:3)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
Essentially mimic what a JS keyboard event contains: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/shiftKey
Properties contain a boolean if the modifier key is pressed (true) or not (false).
There is currently no properties that easily define if a modifier key was pressed.
I'm trying to use this package in an electron app on OSX 10.12.3, and version 0.1.8 seems to have some problems (mouseclick event fired twice, keydown only firing for special buttons, like Command
, Alt
, etc, but not for regular ones, like letters). These problems are all fixed if I replace the binary with the 0.1.9 version, but that version is not available through npm.
Could you please publish that version to npm?
Thanks in advance.
Hello there,
When running cmake .
in the libuihook folder, I get this error :
PS D:\_DEV\electrontest\node_modules\iohook\libuiohook> cmake .
-- Building for: Visual Studio 15 2017
-- The C compiler identification is MSVC 19.10.25019.0
-- The CXX compiler identification is MSVC 19.10.25019.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.10.25017/bin/HostX86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error: File D:/_DEV/electrontest/node_modules/iohook/libuiohook/include/config.h.in does not exist.
CMake Error at CMakeLists.txt:97 (configure_file):
configure_file Problem configuring file
Is there any config.h
file that could have been omitted in the repo ?
Note : In cloned this repo in my node_modules
folder.
Thanks
Need way for optional prevent event broadcasting.
Something like:
iohook.on('keyup', (event) => {
event.preventDefault();
});
Or equal method
First. a standard npm install iohook
fails:
Toms-MacBook-Pro:node_modules tom$ npm install iohook
> [email protected] install /Users/tom/Google Drive/prog/js/airborne-cargo-drone-controller/node_modules/segfault-handler
> node-gyp rebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
CXX(target) Release/obj.target/segfault-handler/src/segfault-handler.o
SOLINK_MODULE(target) Release/segfault-handler.node
> [email protected] install /Users/tom/Google Drive/prog/js/airborne-cargo-drone-controller/node_modules/iohook
> node install.js
Downloading prebuild for platform: iohook-v0.1.9-node-v57-darwin-x64
Prebuild for current platform (iohook-v0.1.9-node-v57-darwin-x64) not found!
Try to compile for your platform:
# cd node_modules/iohook;
# npm run compile
/Users/tom/Google Drive/prog/js/airborne-cargo-drone-controller/node_modules/iohook/install.js:14
throw err;
^
Prebuild for current platform (iohook-v0.1.9-node-v57-darwin-x64) not found!
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/bluetooth-hci-socket):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"linux,android,win32","arch":"any"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/usb/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Cannot read property 'type' of undefined
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/usb/node_modules/node-pre-gyp/node_modules/semver):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Cannot read property 'type' of undefined
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/usb/node_modules/node-pre-gyp/node_modules/rimraf):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Cannot read property 'type' of undefined
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/usb/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/path-is-absolute):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Cannot read property 'type' of undefined
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/usb/node_modules/node-pre-gyp/node_modules/rimraf/node_modules/glob/node_modules/inflight):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Cannot read property 'type' of undefined
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/tom/.npm/_logs/2017-11-18T11_53_40_338Z-debug.log
Second, while the manual build appears to work, I then get an error message when trying to use the simple example code from the iohook readme:
Loading native binary: /Users/tom/Google Drive/prog/js/airborne-cargo-drone-controller/node_modules/iohook/builds/node-v57-darwin-x64/build/Release/iohook.node
module.js:538
throw err;
^
Error: Cannot find module '/Users/tom/Google Drive/prog/js/airborne-cargo-drone-controller/node_modules/iohook/builds/node-v57-darwin-x64/build/Release/iohook.node'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Module.require (module.js:579:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/tom/Google Drive/prog/js/airborne-cargo-drone-controller/node_modules/iohook/index.js:16:21)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
Any thoughts?
Hey there. I am currently trying to use iohook with Typescript. I really don't know if there's just something horrible wrong with me and I'm missing something but I can't get the compiler to accept the index.d.ts
file the repo provides... the compiler always complains about:
TS2315: Type 'EventEmitter' is not generic.
It works perfectly fine when I'm executing the compiled source since Typescript doesn't really care about the error anyways. But I really wan't to get rid of that error, since it forces any chained command sequence to fail.
At this state I'm just curious what's happening so I decided to open this issue. Thanks in advance.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.