diff --git a/lib/driver.ex b/lib/driver.ex index 7673f29..8e92af2 100644 --- a/lib/driver.ex +++ b/lib/driver.ex @@ -39,7 +39,8 @@ defmodule Scenic.Driver.Local do type: {:or, [:mfa, {:in, [:restart, :stop_driver, :stop_viewport, :stop_system, :halt_system]}]}, default: :restart - ] + ], + input_blacklist: [type: {:list, :string}, default: []] ] # @mix_target Mix.Tasks.Compile.ScenicDriverLocal.target() @@ -262,7 +263,8 @@ defmodule Scenic.Driver.Local do cursor_update: false, rel_x: 0, rel_y: 0, - dirty_streams: [] + dirty_streams: [], + input_blacklist: opts[:input_blacklist] ) # send message to set up the cursor later diff --git a/lib/input.ex b/lib/input.ex index 01a94e5..3fb8d75 100644 --- a/lib/input.ex +++ b/lib/input.ex @@ -44,6 +44,9 @@ defmodule Scenic.Driver.Local.Input do input_state = inputs + |> Enum.reject(fn {_, info} -> + Enum.find(driver.assigns.input_blacklist, &(&1 == info.name)) + end) |> Enum.reduce(%{}, fn {path, info}, acc -> {:ok, pid} = InputEvent.start_link(path)