uinput: support evemu recordings
evemu [0] is a system used by the wider Linux community to record
sequences of evdev events and descriptions of the device that created
them. Together with the evemu-record implementation added to
frameworks/native, implementing support for evemu recordings in uinput
gives us a system for event recording and replay that's compatible with
other Linux systems.
Since the format looks quite different from the existing JSON-style one,
we can automatically detect which type of data is being passed in,
instead of having to change the command-line interface.
As part of the implementation, the Event.Bus enum is replaced with plain
integers. This allows the tool to support new bus IDs that are added to
Linux's input.h without code changes, at least for evemu files.
[0]: https://gitlab.freedesktop.org/libevdev/evemu
Bug: 302297266
Test: replay recordings made using Android and FreeDesktop
evemu-record implementations
Change-Id: Ie2f969da24db9aa04037335d5b697cdc0db0b3ca
5 files changed