From e25f71c9c38c9834049e8cfe9c4fb3cf6e3a51e5 Mon Sep 17 00:00:00 2001 From: zhanghongyuan Date: Wed, 31 Dec 2025 09:36:52 +0800 Subject: [PATCH] fix(input): create udev rules directory when missing during keyboard enable create udev rules directory when missing during keyboard enable or disable log: create udev rules directory bug: https://pms.uniontech.com/bug-view-346127.html --- .../deepin-devicecontrol/src/controlinterface.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/deepin-devicemanager-server/deepin-devicecontrol/src/controlinterface.cpp b/deepin-devicemanager-server/deepin-devicecontrol/src/controlinterface.cpp index 596b1534..33d00da3 100644 --- a/deepin-devicemanager-server/deepin-devicecontrol/src/controlinterface.cpp +++ b/deepin-devicemanager-server/deepin-devicecontrol/src/controlinterface.cpp @@ -240,8 +240,12 @@ bool ControlInterface::enableKeyboard(const QString& vid, const QString& pid, co QFileInfo fileInfo(rulesFile); QDir rulesDir = fileInfo.absoluteDir(); if (!rulesDir.exists()) { - qCWarning(appLog) << "Udev rules directory does not exist:" << rulesDir.absolutePath(); - return false; + qCInfo(appLog) << "Udev rules directory does not exist, creating:" << rulesDir.absolutePath(); + if (!rulesDir.mkpath(".")) { + qCWarning(appLog) << "Failed to create udev rules directory:" << rulesDir.absolutePath(); + return false; + } + qCInfo(appLog) << "Successfully created udev rules directory:" << rulesDir.absolutePath(); } QFile file(rulesFile);