#!/usr/bin/awk -f
BEGIN {
FS = "\"";
kernel = "";
name = "";
serial = "";
vendor = "";
product = "";
seckernel = "";
secname = "";
secserial = "";
secvendor = "";
secproduct = "";
}
/KERNEL==/ {
kernel = $2;
}
/KERNELS==/ {
seckernel = $2;
}
/ATTRS{name}/ {
secname = $2;
}
/ATTRS{serial}/ {
secserial = $2;
}
/ATTRS{idVendor}/ {
secvendor = $2;
}
/ATTRS{idProduct}/ {
secproduct = $2;
}
/$^/ {
# New section, check the values remembered from the previous
# If the section defined a name, and we don't have one, and the
# section described an input device, store the name and serial
if (match(seckernel, "input") != 0 && secname != "" && name == "") {
name = secname;
serial = secserial;
}
# If the section defined a vendor (for USB devices), and we don't
# have one, store the vendor and product
if (secvendor != "" && vendor == "") {
vendor = secvendor;
product = secproduct;
}
# Clear all section values before processing next section
seckernel = "";
secname = "";
secserial = "";
secvendor = "";
secproduct = "";
}
END {
print "DEVICE=\"" kernel "\"";
print "NAME=\"" name "\"";
print "SERIAL=\"" serial "\"";
print "VENDOR=\"" vendor "\"";
print "PRODUCT=\"" product "\"";
}