Sha256: 8f181bf019e5e4f4110b6fe9a0fb8d76f96c69efad47426b10e8573b0860764b
Contents?: true
Size: 1.87 KB
Versions: 4
Compression:
Stored size: 1.87 KB
Contents
# frozen_string_literal: true require_relative '../../libinput_command' require_relative './input' module Fusuma module Plugin module Inputs # libinput commands wrapper class LibinputCommandInput < Input attr_reader :pid def config_param_types { device: [String], 'enable-dwt': [TrueClass, FalseClass], 'enable-tap': [TrueClass, FalseClass], 'show-keycodes': [TrueClass, FalseClass], verbose: [TrueClass, FalseClass], 'libinput-debug-events': [String], 'libinput-list-devices': [String] } end # @return [IO] def io @io ||= begin @pid, io = command.debug_events io end end # @return [LibinputCommand] def command @command ||= LibinputCommand.new( libinput_options: libinput_options, commands: { debug_events_command: debug_events_command, list_devices_command: list_devices_command } ) end # @return [Array] def libinput_options device = ("--device='#{config_params(:device)}'" if config_params(:device)) enable_tap = '--enable-tap' if config_params(:'enable-tap') enable_dwt = '--enable-dwt' if config_params(:'enable-dwt') show_keycodes = '--show-keycodes' if config_params(:'show-keycodes') verbose = '--verbose' if config_params(:verbose) [ device, enable_dwt, enable_tap, show_keycodes, verbose ].compact end def debug_events_command config_params(:'libinput-debug-events') end def list_devices_command config_params(:'libinput-list-devices') end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems