Sha256: 1a165f5b494b4014b937cfb8ba9ad8be01450eaf5729838799bffb46cd92ae1d

Contents?: true

Size: 788 Bytes

Versions: 2

Compression:

Stored size: 788 Bytes

Contents

require 'tamashii/agent/component'
require 'tamashii/agent/event'

module Tamashii
  module Agent
    class KeyboardLogger < Component
      def initialize(name, master, options = {})
        options[:watch] = true # Force enable watch mode
        super
        @kb = initialize_device
        @kb.on_key_down do |key|
          logger.debug "Key down: #{key+1}"
          @master.send_event(Event.new(Event::LCD_MESSAGE, "Key pressed: #{key+1} "))
        end
      end

      def default_device_name
        'Dummy'
      end

      def get_device_class_name(device_name)
        "Keyboard::#{device_name}"
      end

      # override
      def process_event(event)
        # silent is gold
      end

      def clean_up
        super
        @kb.shutdown
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tamashii-agent-0.4.0 lib/tamashii/agent/keyboard_logger.rb
tamashii-agent-0.3.4 lib/tamashii/agent/keyboard_logger.rb