diff --git a/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.cpp b/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.cpp
index 1c5c22bc7..79bba50fc 100644
--- a/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.cpp
+++ b/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.cpp
@@ -74,6 +74,6 @@ static BaseManualDeviceEntry* SpawnQMKORGBSettingsEntry(const json& data)
return entry;
}
-static const char* QMKDeviceName = QT_TRANSLATE_NOOP("ManualDevice", "QMK (built with ORGB support)");
+static const char* QMKDeviceName = QT_TRANSLATE_NOOP("ManualDevice", "QMK (OpenRGB Protocol)");
REGISTER_MANUAL_DEVICE_TYPE(QMKDeviceName, "QMKOpenRGBDevices", SpawnQMKORGBSettingsEntry);
diff --git a/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.h b/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.h
index 869bdd62c..68d5fad17 100644
--- a/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.h
+++ b/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.h
@@ -1,5 +1,5 @@
/*---------------------------------------------------------*\
-| QMKORGBSettingsEntry.h |
+| QMKORGBSettingsEntry.h |
| |
| User interface entry for OpenRGB QMK configuration |
| |
diff --git a/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.ui b/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.ui
index df0b4c766..2a4bcc0fd 100644
--- a/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.ui
+++ b/qt/ManualDevicesSettingsPage/QMKORGBSettingsEntry/QMKORGBSettingsEntry.ui
@@ -17,13 +17,13 @@
- QMK Settings Entry
+ QMK OpenRGB Settings Entry
-
- QMK Device
+ QMK OpenRGB Device
-
diff --git a/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.cpp b/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.cpp
new file mode 100644
index 000000000..5748564e8
--- /dev/null
+++ b/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.cpp
@@ -0,0 +1,79 @@
+/*---------------------------------------------------------*\
+| QMKVialRGBSettingsEntry.cpp |
+| |
+| User interface entry for VialRGB QMK configuration |
+| |
+| This file is part of the OpenRGB project |
+| SPDX-License-Identifier: GPL-2.0-or-later |
+\*---------------------------------------------------------*/
+
+#include "QMKVialRGBSettingsEntry.h"
+#include "ui_QMKVialRGBSettingsEntry.h"
+
+QMKVialRGBSettingsEntry::QMKVialRGBSettingsEntry(QWidget *parent) :
+ BaseManualDeviceEntry(parent),
+ ui(new Ui::QMKVialRGBSettingsEntry)
+{
+ ui->setupUi(this);
+}
+
+QMKVialRGBSettingsEntry::~QMKVialRGBSettingsEntry()
+{
+ delete ui;
+}
+
+void QMKVialRGBSettingsEntry::changeEvent(QEvent *event)
+{
+ if(event->type() == QEvent::LanguageChange)
+ {
+ ui->retranslateUi(this);
+ }
+}
+
+void QMKVialRGBSettingsEntry::loadFromSettings(const json& data)
+{
+ if(data.contains("name"))
+ {
+ ui->NameEdit->setText(QString::fromStdString(data["name"]));
+ }
+
+ if(data.contains("usb_vid"))
+ {
+ ui->USBVIDEdit->setText(QString::fromStdString(data["usb_vid"]));
+ }
+
+ if(data.contains("usb_pid"))
+ {
+ ui->USBPIDEdit->setText(QString::fromStdString(data["usb_pid"]));
+ }
+}
+
+json QMKVialRGBSettingsEntry::saveSettings()
+{
+ json result;
+ /*-------------------------------------------------*\
+ | Required parameters |
+ \*-------------------------------------------------*/
+ result["name"] = ui->NameEdit->text().toStdString();
+ result["usb_vid"] = ui->USBVIDEdit->text().toStdString();
+ result["usb_pid"] = ui->USBPIDEdit->text().toStdString();
+
+ return result;
+}
+
+bool QMKVialRGBSettingsEntry::isDataValid()
+{
+ // stub
+ return true;
+}
+
+static BaseManualDeviceEntry* SpawnQMKVialRGBSettingsEntry(const json& data)
+{
+ QMKVialRGBSettingsEntry* entry = new QMKVialRGBSettingsEntry;
+ entry->loadFromSettings(data);
+ return entry;
+}
+
+static const char* QMKDeviceName = QT_TRANSLATE_NOOP("ManualDevice", "QMK (VialRGB Protocol)");
+
+REGISTER_MANUAL_DEVICE_TYPE(QMKDeviceName, "QMKVialRGBDevices", SpawnQMKVialRGBSettingsEntry);
diff --git a/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.h b/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.h
new file mode 100644
index 000000000..2fdc12eb1
--- /dev/null
+++ b/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.h
@@ -0,0 +1,35 @@
+/*---------------------------------------------------------*\
+| QMKVialRGBSettingsEntry.h |
+| |
+| User interface entry for VialRGB QMK configuration |
+| |
+| This file is part of the OpenRGB project |
+| SPDX-License-Identifier: GPL-2.0-or-later |
+\*---------------------------------------------------------*/
+
+#pragma once
+
+#include "BaseManualDeviceEntry.h"
+
+namespace Ui
+{
+ class QMKVialRGBSettingsEntry;
+}
+
+class QMKVialRGBSettingsEntry : public BaseManualDeviceEntry
+{
+ Q_OBJECT
+
+private slots:
+ void changeEvent(QEvent *event) override;
+
+public:
+ explicit QMKVialRGBSettingsEntry(QWidget *parent = nullptr);
+ ~QMKVialRGBSettingsEntry();
+ void loadFromSettings(const json& data);
+ json saveSettings() override;
+ bool isDataValid() override;
+
+private:
+ Ui::QMKVialRGBSettingsEntry *ui;
+};
diff --git a/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.ui b/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.ui
new file mode 100644
index 000000000..b5eba6057
--- /dev/null
+++ b/qt/ManualDevicesSettingsPage/QMKVialRGBSettingsEntry/QMKVialRGBSettingsEntry.ui
@@ -0,0 +1,71 @@
+
+
+ QMKVialRGBSettingsEntry
+
+
+
+ 0
+ 0
+ 531
+ 237
+
+
+
+
+ 0
+ 0
+
+
+
+ QMK VialRGB Settings Entry
+
+
+
-
+
+
+ QMK VialRGB Device
+
+
+
-
+
+
+ -
+
+
+ -
+
+
+ Name:
+
+
+
+ -
+
+
+ -
+
+
+ USB PID:
+
+
+
+ -
+
+
+ USB VID:
+
+
+
+
+
+
+
+
+
+ NameEdit
+ USBVIDEdit
+ USBPIDEdit
+
+
+
+