Sha256: 0eda1ec45ae219697c59e27344e99fe187f252a148e7ba5783446c49babecf04
Contents?: true
Size: 1.14 KB
Versions: 3
Compression:
Stored size: 1.14 KB
Contents
#!/usr/bin/env ruby require 'device_input' require 'slop' opts = Slop.parse do |o| o.banner = "evdump [OPTIONS] [DEVICE]" o.string '-p', '--print', 'pretty|raw|hex|off' o.int '-d', '--duration', 'number of seconds to read input [inf]' o.int '-c', '--count', 'number of events to read [inf]' o.on '-h', '--help' do puts o exit end end def opts.error(msg = nil) puts self puts "ERROR: #{msg}" if msg exit 1 end case opts[:print] when 'off' print_meth = nil when 'pretty', 'raw', 'hex' print_meth = opts[:print] else print_meth = 'to_s' end if $stdin.tty? device = opts.arguments.shift opts.error "Please specify an input device file" unless device opts.error "#{device} is not a character device" unless File.chardev? device opts.error "#{device} is not readable" unless File.readable? device device = File.new(device, 'r') else device = $stdin end start = Time.now duration = opts[:duration] count = 0 max = opts[:count] DeviceInput.read_loop(device) { |event| puts event.send(print_meth) if print_meth if max count += 1 break if count >= max end break if duration and Time.now - start > duration }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
device_input-1.0.1.1 | bin/evdump |
device_input-1.0.0.1 | bin/evdump |
device_input-0.3.1.1 | bin/evdump |