Module: Keylogger::InputDevices
- Defined in:
- lib/input_devices.rb
Defined Under Namespace
Classes: Device
Constant Summary collapse
- KEYBOARD_EV =
"120013".freeze
- DEVICE_REGEX =
/ N:\sName="(?<name>.+)"(\n|.)* H:\sHandlers=.*event(?<event_id>[0-9]+).*(\n|.)* B:\sEV=(?<ev>[0-9]+) /x.freeze
Class Method Summary collapse
-
.default ⇒ Object
Pick the first keyboard out of the list.
- .devices ⇒ Object
- .find_by_name(name) ⇒ Object
Class Method Details
.default ⇒ Object
Pick the first keyboard out of the list
19 20 21 |
# File 'lib/input_devices.rb', line 19 def self.default devices.detect { |device| device.ev == KEYBOARD_EV } end |
.devices ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/input_devices.rb', line 23 def self.devices contents = File.read("/proc/bus/input/devices") contents.split("\n\n").map do |device| blob = DEVICE_REGEX.match(device).named_captures Device.new(blob) end end |
.find_by_name(name) ⇒ Object
12 13 14 15 16 |
# File 'lib/input_devices.rb', line 12 def self.find_by_name(name) devices.detect do |device| device.name == name && device.ev == KEYBOARD_EV end end |