Code Monkey home page Code Monkey logo

iohook's People

Contributors

anoadragon453 avatar ash0x0 avatar cactysman avatar catdad avatar charmander avatar chevonc avatar code-yeongyu avatar dczajkowski avatar dependabot[bot] avatar djiit avatar eboukamza avatar farism avatar gchuf avatar ivictbor avatar janunld avatar jhotujec avatar lacymorrow avatar madlittlemods avatar marcelblum avatar recyclerobot avatar slikts avatar thephantomgamer avatar thesandlord avatar vaaski avatar vespakoen avatar wilixlead avatar wizek avatar yikuansun avatar ykhwong avatar zbanks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iohook's Issues

keychar always equals 65535

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.

Error: No available formula with the name "autoreconf"

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

Windows: uiohook.dll is not included in deployed packages

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

Keycodes don't match

They don't match :

  • on different listener events
  • with keys from the browser

If you tell me a way to go about fixing this correctly I might be able to help.

process.exit does not work cleanly when iohook is require'd

Expected Behavior

When I call process.exit(0), I expect the process to stop immediately.

Current Behavior

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

Possible Solution

I'm not sure. I've never had much luck dealing with C code alongside node (or at all).

Steps to Reproduce (for bugs)

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!)

Context

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.

Your Environment

  • Version used: Latest published version of iohook; ^0.1.15.
  • Environment name and version (e.g. Chrome 39, node.js 5.4): Node v8.2.1.
  • Operating System and version (desktop or mobile): Debian (testing).
  • Link to your project: N/A

Note: Otherwise, iohook does work correctly. I was able to detect a keys being pressed by using ioHook.on('keydown', evt => { ... }).

Doesn't work on Windows 10 x64

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 hook failed to enabled in Mac OS

Expected Behavior

Iohook module will run in the Mac OS without granting access from the Security & Privacy->Accessibility.

Current Behavior

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)

Possible Solution

Still unknown how to fix this.

Steps to Reproduce (for bugs)

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.

Context

I just want iohook can run that not needed manually grant access from Accessibility of MacOS

Your Environment

  • Version used: v.0.1.13
  • Environment name and version (e.g. Chrome 39, node.js 5.4): node v8.10.0, Electron 1.8.4
  • Operating System and version (desktop or mobile): Mac OS v 10.10.5

listen to 4 keyboards and distinguish between them

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

iohook\iohook-master\builds\node-v57-win32-ia32\build\Release\iohook.node is not a valid Win32 application

Current Behavior

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

Your Environment

  • Version used: 0.1.15
  • Environment name and version: nodejs 8.9.3 32bit
  • Operating System and version: windows10 64bit

How to use this without the prebuild?

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.

Mousemove event doesn't work on debian

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

not working on windows 10

Expected Behavior

I should have been able to build iohook.

Current Behavior

At the time of building the code, I'm getting an error "refresh_locale_list [628]: Could not find keyboard map for locale 0X000000000409"

Possible Solution

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.

Steps to Reproduce (for bugs)

Context

Your Environment

  • Version used:
  • Environment name and version (e.g. Chrome 39, node.js 5.4): electron 1.8.3, node 8.4, abi 57, iohook 0.1.13
  • Operating System and version (desktop or mobile): windows 10
  • Link to your project:

Can't install on Linux ARM

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.

Installation variant ?

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.

(discuss) migrating this repository and publishing new versions

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 :

  1. give us some nice-to-have-tools in this repository
  2. deploy newer, better version on NPM.

I'm considering moving the repository and creating a new package name (no ideas yet, but a derivative of iohook).

Any ideas on this ?

Does not work on ARM (Raspberry PI)

Hi,
I tried npm install and I also tried compiling this from source.
Compiling from source also does not work for this package. I tried "npm run build" after installing cmake and cmake-js. No success. Please see screenshot.
image

Thanks.

Uncaught Error: The Specified Module could not be found.

When I package my electron app with asar settings, this error displayed when the app starts.

Expected Behavior

Package the electron app with asar and iohook still run.

Current Behavior

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?

Possible Solution

Don't have yet any solution

Steps to Reproduce (for bugs)

  1. Build Package of Electron App using Electron Packager.
  2. Set Asar to true.
  3. Open App then in the console logs shows the error.

Context

I want to compile all the resources of my electron app

Your Environment

  • Version used: 1.8.4
  • Environment name and version (e.g. Chrome 39, node.js 5.4): Node.js v8.9.4
  • Operating System and version (desktop or mobile): Windows x64 and MacOS High Sierra
  • Link to your project: private repo

(chore) Add tests

We should include at leasts some tests to ensure every push to master is fine.

Iohook can't run in MacOS

Expected Behavior

Can Run Iohook in macOS that not needed manually allow the apps from the security & privacy->Accessibility

Current Behavior

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

Possible Solution

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

Steps to Reproduce (for bugs)

Context

Iohook will run in MacOS thats not needed to manually allow the app from the Security & Privacy->Accessibility.

Your Environment

  • Version used: 0.1.13
  • Environment name and version (e.g. Chrome 39, node.js 5.4): Node JS v8.10.0, Electron 1.8.4
  • Operating System and version (desktop or mobile): MacOS 10.10.5

keydown events aren't passed correctly

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.

Installation throws warning about un-existent releases

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.

Can't find module

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)

I did so, and saw this:

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.

Won't install on OSX 10.11.6 | node 7.1.0

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 ]

please support electron-54

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.

(doc) Create and host documentation

We should provide users with a complete and sober documentation hosted on, e.g. Github Pages.

  • Extract doc from readme
  • Use a quick template from GitHub pages
  • Setup the hosting

Error "Could not locate the bindings file" after fresh install

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

[electron] iohook.node file not created for electron

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!

Your Environment

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.

module fails on Virtual machines and remote PCs

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

Latest version won't compile nor build

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

Can't install on Linux x64

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

Node.js v8* ABI 57

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 :)

Error: Cannot find module 'iohook'

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!

Expected Behavior

I would've expected it to get compiled with the rest of the libraries I use.

Current Behavior

Currently, the app crashes saying "Uncaught exception: Error: Cannot find module 'ioHook'" and then the stack trace.

Possible Solution

Not sure, wish I had :)

Steps to Reproduce (for bugs)

  1. I added the library using yarn add iohook
  2. imported the library using const ioHook = require('iohook');
  3. Called it in my code and used the relevant event listeners.
  4. Tried to wrap it as a packaged app and run it

Context

I am trying to get the library running as part of an electron app without the need to install the library nowhere externally.

Your Environment

  • Version used: 1.7.0 (since this is the newest version I saw it is supported)
  • Environment name and version (e.g. Chrome 39, node.js 5.4): NodeJS 9.2.0 (since this is the newest version I saw it is supported)
  • Operating System and version (desktop or mobile): MacOS (High Sierra) and Windows 10 x64
  • Link to your project: It's a private repo

Any ideas? Hope I gave enough info!

Thanks,
Eyal

stop() not working in electron-v51-linux-x64

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?

More installation details for windows

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

Verify code does not have any hidden backdoors

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.

the example app can't find the module

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)

0.1.9 not available through npm

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.

libuihook compilation fails on Windows

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

(feat) disable event propagation

Need way for optional prevent event broadcasting.
Something like:

iohook.on('keyup', (event) => {
  event.preventDefault();
});

Or equal method

Can't install on macOS Sierra 10.12.6 (node 8.9.1, npm 5.5.1)

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?

TS2315: Type 'EventEmitter' is not generic.

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.