private static string GetNiceInputName(string input, Device device) { switch (device.DeviceInformation.DeviceType) { case DeviceType.Keyboard: return input; case DeviceType.Mouse: return "Mouse " + (Int32.Parse(input) + 1); default: string[] parts = input.Split(';'); string r = device.Properties.ProductName + " " + device.GetObjectInformation(Int32.Parse(parts[0]), ParameterHow.ByOffset).Name; if (parts.Length == 2) { r += parts[1]; } return r; } }