Populate uniq field in uhid.
Sony introduced some logic that combines devices kernel splits into one Android device based on identical pid, vid and non-empty uniq. Therefore populate this field with device ID. We can change that to a separate uniq attribute in register JSON file if necessary later. Bug: 38511270 Test: getevent -li shows that uniq is populated. Change-Id: Ieca0b826c86e9cad7fa3d3c8f98b9cfd54d20c73
This commit is contained in:
@@ -146,6 +146,8 @@ std::unique_ptr<Device> Device::open(int32_t id, const char* name, int32_t vid,
|
||||
struct uhid_event ev = {};
|
||||
ev.type = UHID_CREATE2;
|
||||
strlcpy(reinterpret_cast<char*>(ev.u.create2.name), name, sizeof(ev.u.create2.name));
|
||||
std::string uniq = android::base::StringPrintf("Id: %d", id);
|
||||
strlcpy(reinterpret_cast<char*>(ev.u.create2.uniq), uniq.c_str(), sizeof(ev.u.create2.uniq));
|
||||
memcpy(&ev.u.create2.rd_data, descriptor.data(), size * sizeof(ev.u.create2.rd_data[0]));
|
||||
ev.u.create2.rd_size = size;
|
||||
ev.u.create2.bus = bus;
|
||||
|
||||
Reference in New Issue
Block a user