diff --git a/lib/fusuma/plugin/inputs/remap_keyboard_input.rb b/lib/fusuma/plugin/inputs/remap_keyboard_input.rb index 4d362f6..e9ade07 100644 --- a/lib/fusuma/plugin/inputs/remap_keyboard_input.rb +++ b/lib/fusuma/plugin/inputs/remap_keyboard_input.rb @@ -39,6 +39,10 @@ def read_from_io status = (data["status"] == 1) ? "pressed" : "released" Events::Records::KeypressRecord.new(status: status, code: data["key"], layer: data["layer"]) + rescue EOFError => e + MultiLogger.error "#{self.class.name}: #{e}" + MultiLogger.error "Shutdown fusuma process..." + Process.kill("TERM", Process.pid) end private diff --git a/lib/fusuma/plugin/inputs/remap_touchpad_input.rb b/lib/fusuma/plugin/inputs/remap_touchpad_input.rb index 723644b..9ada00d 100644 --- a/lib/fusuma/plugin/inputs/remap_touchpad_input.rb +++ b/lib/fusuma/plugin/inputs/remap_touchpad_input.rb @@ -56,6 +56,10 @@ def read_from_io end Events::Records::GestureRecord.new(gesture: gesture, status: status, finger: finger, delta: nil) + rescue EOFError => e + MultiLogger.error "#{self.class.name}: #{e}" + MultiLogger.error "Shutdown fusuma process..." + Process.kill("TERM", Process.pid) end private