aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Hovorka <[email protected]>2020-07-19 19:32:46 -0600
committerAdam Hovorka <[email protected]>2020-07-19 19:32:46 -0600
commit72713e0dfba06e4b3d91d500c60f34695c9715c1 (patch)
tree7937a3348e39656f842155e0358da0cf33297b04
parentd84d8708178a71a93ebe30ce5459913a359752ce (diff)
Combine event tables into a single file
-rw-r--r--lib/Events/EV_ABS.js44
-rw-r--r--lib/Events/EV_SYN.js6
-rw-r--r--lib/Events/index.js14
-rw-r--r--lib/events.js (renamed from lib/Events/EV_KEY.js)68
-rw-r--r--lib/index.js15
5 files changed, 73 insertions, 74 deletions
diff --git a/lib/Events/EV_ABS.js b/lib/Events/EV_ABS.js
deleted file mode 100644
index 08a19fa..0000000
--- a/lib/Events/EV_ABS.js
+++ /dev/null
@@ -1,44 +0,0 @@
-module.exports = {
- 0x00:"ABS_X",
- 0x01:"ABS_Y",
- 0x02:"ABS_Z",
- 0x03:"ABS_RX",
- 0x04:"ABS_RY",
- 0x05:"ABS_RZ",
- 0x06:"ABS_THROTTLE",
- 0x07:"ABS_RUDDER",
- 0x08:"ABS_WHEEL",
- 0x09:"ABS_GAS",
- 0x0a:"ABS_BRAKE",
- 0x10:"ABS_HAT0X",
- 0x11:"ABS_HAT0Y",
- 0x12:"ABS_HAT1X",
- 0x13:"ABS_HAT1Y",
- 0x14:"ABS_HAT2X",
- 0x15:"ABS_HAT2Y",
- 0x16:"ABS_HAT3X",
- 0x17:"ABS_HAT3Y",
- 0x18:"ABS_PRESSURE",
- 0x19:"ABS_DISTANCE",
- 0x1a:"ABS_TILT_X",
- 0x1b:"ABS_TILT_Y",
- 0x1c:"ABS_TOOL_WIDTH",
- 0x20:"ABS_VOLUME",
- 0x28:"ABS_MISC",
- 0x2f:"ABS_MT_SLOT",
- 0x30:"ABS_MT_TOUCH_MAJOR",
- 0x31:"ABS_MT_TOUCH_MINOR",
- 0x32:"ABS_MT_WIDTH_MAJOR",
- 0x33:"ABS_MT_WIDTH_MINOR",
- 0x34:"ABS_MT_ORIENTATION",
- 0x35:"ABS_MT_POSITION_X",
- 0x36:"ABS_MT_POSITION_Y",
- 0x37:"ABS_MT_TOOL_TYPE",
- 0x38:"ABS_MT_BLOB_ID",
- 0x39:"ABS_MT_TRACKING_ID",
- 0x3a:"ABS_MT_PRESSURE",
- 0x3b:"ABS_MT_DISTANCE",
- 0x3c:"ABS_MT_TOOL_X",
- 0x3d:"ABS_MT_TOOL_Y",
- 0x3f:"ABS_MAX"
-};
diff --git a/lib/Events/EV_SYN.js b/lib/Events/EV_SYN.js
deleted file mode 100644
index 47d2cde..0000000
--- a/lib/Events/EV_SYN.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- 0:"SYN_REPORT",
- 1:"SYN_CONFIG",
- 2:"SYN_MT_REPORT",
- 3:"SYN_DROPPED"
-};
diff --git a/lib/Events/index.js b/lib/Events/index.js
deleted file mode 100644
index fcb9d3c..0000000
--- a/lib/Events/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-module.exports = {
- 0x00:"EV_SYN",
- 0x01:"EV_KEY",
- 0x02:"EV_REL",
- 0x03:"EV_ABS",
- 0x04:"EV_MSC",
- 0x11:"EV_LED",
- 0x12:"EV_SND",
- 0x14:"EV_REP",
- 0x15:"EV_FF",
- 0x16:"EV_PWR",
- 0x17:"EV_FF_STATUS",
- 0x1f:"EV_MAX"
-};
diff --git a/lib/Events/EV_KEY.js b/lib/events.js
index 51409cf..b3df3d4 100644
--- a/lib/Events/EV_KEY.js
+++ b/lib/events.js
@@ -1,4 +1,26 @@
module.exports = {
+
+"types": {
+ 0x00:"EV_SYN",
+ 0x01:"EV_KEY",
+ 0x02:"EV_REL",
+ 0x03:"EV_ABS",
+ 0x04:"EV_MSC",
+ 0x11:"EV_LED",
+ 0x12:"EV_SND",
+ 0x14:"EV_REP",
+ 0x15:"EV_FF",
+ 0x16:"EV_PWR",
+ 0x17:"EV_FF_STATUS",
+ 0x1f:"EV_MAX"
+
+}, "EV_SYN": {
+ 0:"SYN_REPORT",
+ 1:"SYN_CONFIG",
+ 2:"SYN_MT_REPORT",
+ 3:"SYN_DROPPED"
+
+}, "EV_KEY": {
0:"KEY_RESERVED",
1:"KEY_ESC",
2:"KEY_1",
@@ -390,4 +412,48 @@ module.exports = {
0x1e4:"KEY_FN_B",
0x1ff:"KEY_MAX"
-};
+
+}, "EV_ABS": {
+ 0x00:"ABS_X",
+ 0x01:"ABS_Y",
+ 0x02:"ABS_Z",
+ 0x03:"ABS_RX",
+ 0x04:"ABS_RY",
+ 0x05:"ABS_RZ",
+ 0x06:"ABS_THROTTLE",
+ 0x07:"ABS_RUDDER",
+ 0x08:"ABS_WHEEL",
+ 0x09:"ABS_GAS",
+ 0x0a:"ABS_BRAKE",
+ 0x10:"ABS_HAT0X",
+ 0x11:"ABS_HAT0Y",
+ 0x12:"ABS_HAT1X",
+ 0x13:"ABS_HAT1Y",
+ 0x14:"ABS_HAT2X",
+ 0x15:"ABS_HAT2Y",
+ 0x16:"ABS_HAT3X",
+ 0x17:"ABS_HAT3Y",
+ 0x18:"ABS_PRESSURE",
+ 0x19:"ABS_DISTANCE",
+ 0x1a:"ABS_TILT_X",
+ 0x1b:"ABS_TILT_Y",
+ 0x1c:"ABS_TOOL_WIDTH",
+ 0x20:"ABS_VOLUME",
+ 0x28:"ABS_MISC",
+ 0x2f:"ABS_MT_SLOT",
+ 0x30:"ABS_MT_TOUCH_MAJOR",
+ 0x31:"ABS_MT_TOUCH_MINOR",
+ 0x32:"ABS_MT_WIDTH_MAJOR",
+ 0x33:"ABS_MT_WIDTH_MINOR",
+ 0x34:"ABS_MT_ORIENTATION",
+ 0x35:"ABS_MT_POSITION_X",
+ 0x36:"ABS_MT_POSITION_Y",
+ 0x37:"ABS_MT_TOOL_TYPE",
+ 0x38:"ABS_MT_BLOB_ID",
+ 0x39:"ABS_MT_TRACKING_ID",
+ 0x3a:"ABS_MT_PRESSURE",
+ 0x3b:"ABS_MT_DISTANCE",
+ 0x3c:"ABS_MT_TOOL_X",
+ 0x3d:"ABS_MT_TOOL_Y",
+ 0x3f:"ABS_MAX"
+}};
diff --git a/lib/index.js b/lib/index.js
index d0129ab..a9fb71d 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -2,12 +2,7 @@ const fs = require("fs")
, util = require("util")
, EventEmitter = require("events").EventEmitter
, {eviocgrab, eviocgid} = require("bindings")("ioctl.node")
- , events = require("./Events")
- , codes = {
- EV_KEY : require("./Events/EV_KEY"),
- EV_ABS : require("./Events/EV_ABS"),
- EV_SYN : require("./Events/EV_SYN")
- };
+ , events = require("./events");
const arch = (process.arch.indexOf("64")>=0)?64:32;
@@ -38,6 +33,7 @@ Device.prototype.open = function(path) {
};
Device.prototype.close = function() {
+ this.grabbed = false;
this.stream.close();
delete this.stream;
delete this.fd;
@@ -80,9 +76,10 @@ function parse(buf) {
e.code = buf.readUInt16LE(offset + 2);
e.value = buf.readInt32LE(offset + 4);
- if (events[e.type]) e.type = events[e.type];
- if (codes[e.type] && codes[e.type][e.code])
- e.code = codes[e.type][e.code];
+ if (events.types[e.type])
+ e.type = events.types[e.type];
+ if (events[e.type] && events[e.type][e.code])
+ e.code = events[e.type][e.code];
return e;
};