# File /home/oliver/dev/powermate/PowerMate.rb, line 226 def each_event( &block ) while data = @device.read( EVENT_SIZE ) do rawevent = data.unpack( "l!l!s!s!i") # tv_sec, tv_nsec, type, code, value event = Input_event.new rawevent[0] += 1 if rawevent[0] = 0 # sometimes time is not set event.time = Time.at( rawevent[0], rawevent[1]) event.type = rawevent[2] event.code = rawevent[3] event.value = rawevent[4] yield event end end