Sha256: 996827ab38643092bc6cc1048082736c3b6b136a0fe22ed35a39692495f84a46
Contents?: true
Size: 1.71 KB
Versions: 4
Compression:
Stored size: 1.71 KB
Contents
# frozen_string_literal: true require_relative '../../libinput_command.rb' require_relative './input.rb' module Fusuma module Plugin module Inputs # libinput commands wrapper class LibinputCommandInput < Input 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 def run LibinputCommand.new( libinput_options: libinput_options, commands: { debug_events_command: debug_events_command, list_devices_command: list_devices_command } ).debug_events do |line| yield event(record: line) end end 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