X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivesettingsdialog.cpp;h=8e97b33d997c0e7065fa7dbc330f6570ab482d0c;hb=4f332f85fe29846d15d5006d66fe03ebe09b556c;hp=42e5813338897ecd55a89a2c52e288507b8b06d3;hpb=937f547e26859d0ef9ddc0ac38d6986ab591b3fd;p=kdenlive diff --git a/src/kdenlivesettingsdialog.cpp b/src/kdenlivesettingsdialog.cpp index 42e58133..8e97b33d 100644 --- a/src/kdenlivesettingsdialog.cpp +++ b/src/kdenlivesettingsdialog.cpp @@ -524,37 +524,25 @@ void KdenliveSettingsDialog::slotCheckShuttle(int state) #ifdef USE_JOGSHUTTLE m_configShuttle.config_group->setEnabled(state); if (m_configShuttle.shuttledevicelist->count() == 0) { - QString devDirStr = "/dev/input/by-id/"; + QString devDirStr = "/dev/input/by-id"; QDir devDir(devDirStr); - if (devDir.exists()) { - QStringList fileList = devDir.entryList(QDir::Files); - foreach (const QString &fileName, fileList) { - QString devFullPath(devDirStr + fileName); - 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) { - m_configShuttle.shuttledevicelist->addItem(name, devFullPath); - } - ::close(fd); - } - } else { - // parse devices - QString baseName = "/dev/input/event"; - int fd; - for (int i = 0; i < 30; ++i) { - QString filename = baseName + QString::number(i); - kDebug() << "/// CHECKING device: " << filename; - - char name[256] = "unknown"; - fd = KDE_open((char *) filename.toUtf8().data(), O_RDONLY); - if (fd >= 0 && ioctl(fd, EVIOCGNAME(sizeof(name)), name) >= 0) { - m_configShuttle.shuttledevicelist->addItem(name, filename); - } - ::close(fd); - } + if (!devDir.exists()) { + devDirStr = "/dev/input"; + } + + DeviceMap devMap = JogShuttle::enumerateDevices(devDirStr); +#if 0 + if (!devMap.isEmpty()) { + m_configShuttle.shuttledevicelist->clear(); + } +#endif + DeviceMapIter iter = devMap.begin(); + while (iter != devMap.end()) { + kDebug() << iter.key() << ": " << iter.value(); + m_configShuttle.shuttledevicelist->addItem( + iter.key(), + iter.value()); + ++iter; } if (KdenliveSettings::shuttledevice().isEmpty()) {