Skip to content

christopheraue/ruby-uinput-device

Repository files navigation

Uinput::Device

Generic ruby wrapper around uinput to create devices.

Installation

Add this line to your application's Gemfile:

gem 'uinput-device'

And then execute:

$ bundle

Or install it yourself as:

$ gem install uinput-device

Usage

require 'uinput/device'

Initializing a new virtual device having an A key:

device = Uinput::Device.new do
    self.name = "Our virtual device"
    self.type = LinuxInput::BUS_VIRTUAL
    self.add_key(:KEY_A)
    self.add_event(:EV_KEY)
    self.add_event(:EV_SYN)
end

Symbols like :KEY_A are mapped to constants in the LinuxInput namespace (see linux_input)

Typing an 'a' on our keyboard:

# key down
device.send_event(:EV_KEY, :KEY_A, 1)
device.send_event(:EV_SYN, :SYN_REPORT)

# key up
device.send_event(:EV_KEY, :KEY_A, 0)
device.send_event(:EV_SYN, :SYN_REPORT)

Destroying the device:

device.destroy

About

Generic ruby wrapper around uinput to create devices.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages