diff options
-rw-r--r-- | lib/Events/EV_ABS.js | 44 | ||||
-rw-r--r-- | lib/Events/EV_SYN.js | 6 | ||||
-rw-r--r-- | lib/Events/index.js | 14 | ||||
-rw-r--r-- | lib/events.js (renamed from lib/Events/EV_KEY.js) | 68 | ||||
-rw-r--r-- | lib/index.js | 15 |
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; }; |