[ ( when: All([ Match("SUBSYSTEM", "input"), ]), do: [ UseProvider("SCRIPT_INPUT_ID", f("echo $(dirname {RULEFILE})/../scripts/input_id")), ], on_error: Continue, ), ( when: All([ Match("SCRIPT_INPUT_ID", ".*"), ]), do: [ UseProvider("ID_INPUT", f("{SCRIPT_INPUT_ID} MODE=ID_INPUT DEVPATH={DEVPATH}")), ], on_error: Continue, ), ( when: All([ Match("SCRIPT_INPUT_ID", ".*"), ]), do: [ UseProvider("ID_INPUT_KEYBOARD", f("{SCRIPT_INPUT_ID} MODE=ID_INPUT_KEYBOARD DEVPATH={DEVPATH}")), ], on_error: Continue, ), ( when: All([ Match("SCRIPT_INPUT_ID", ".*"), ]), do: [ UseProvider("ID_INPUT_MOUSE", f("{SCRIPT_INPUT_ID} MODE=ID_INPUT_MOUSE DEVPATH={DEVPATH}")), ], on_error: Continue, ), ( when: All([ Match("SCRIPT_INPUT_ID", ".*"), ]), do: [ UseProvider("ID_INPUT_TOUCHPAD", f("{SCRIPT_INPUT_ID} MODE=ID_INPUT_TOUCHPAD DEVPATH={DEVPATH}")), ], on_error: Continue, ), ( when: All([ Match("SCRIPT_INPUT_ID", ".*"), ]), do: [ UseProvider("ID_INPUT_TOUCHSCREEN", f("{SCRIPT_INPUT_ID} MODE=ID_INPUT_TOUCHSCREEN DEVPATH={DEVPATH}")), ], on_error: Continue, ), ( when: All([ Match("SCRIPT_INPUT_ID", ".*"), ]), do: [ UseProvider("ID_INPUT_JOYSTICK", f("{SCRIPT_INPUT_ID} MODE=ID_INPUT_JOYSTICK DEVPATH={DEVPATH}")), ], on_error: Continue, ), ]