QString JogShuttle::enumerateDevice(const QString& device)
{
- QDir canonDir(device);
- return canonDir.canonicalPath();
+ return QDir(device).canonicalPath();
}
DeviceMap JogShuttle::enumerateDevices(const QString& devPath)
QString fileLink = JogShuttle::enumerateDevice(devFullPath);
kDebug() << QString(" [%1] ").arg(fileName);
kDebug() << QString(" [%1] ").arg(fileLink);
- char name[256] = "unknown";
- int fd = KDE_open((char*)fileLink.toUtf8().data(), O_RDONLY);
- if (fd >= 0 && ioctl(fd, EVIOCGNAME(sizeof(name)), name) >= 0) {
- devs.insert(name, devFullPath);
+
+ struct media_ctrl mc;
+ media_ctrl_open2(&mc, (char*)fileLink.toUtf8().data());
+ if (mc.fd > 0 && mc.device) {
+ devs.insert(QString(mc.device->name), devFullPath);
}
- ::close(fd);
+ media_ctrl_close(&mc);
}
return devs;
struct media_ctrl_device supported_devices[] = {
{ 0x0b33, 0x0030, "Contour ShuttlePRO v2", mc_shuttle_pro_keys, translate_contour_hid_event },
- { 0x0b33, 0x0020, "Contour ShuttleXPress", mc_shuttle_xpress_keys, translate_contour_hid_event },
+ { 0x0b33, 0x0020, "Contour Design ShuttleXpress", mc_shuttle_xpress_keys, translate_contour_hid_event },
{ 0x0b33, 0x0010, "Contour ShuttlePro", mc_shuttle_pro_keys, translate_contour_hid_event },
{ 0x0b33, 0x0011, "Contour ShuttlePro", mc_shuttle_pro_keys, translate_contour_hid_event }, /* Hercules OEM */
{ 0x05f3, 0x0240, "Contour ShuttlePro", mc_shuttle_pro_keys, translate_contour_hid_event },
fd = open( devname, O_RDONLY );
if ( fd < 0 ) {
perror(devname);
+ mc->fd = -1;
} else {
mc->fd = fd;
//mc->eventno = i;