diff --git a/projects/msvc/GLideNUI.vcxproj b/projects/msvc/GLideNUI.vcxproj
index edc6217f..89431107 100644
--- a/projects/msvc/GLideNUI.vcxproj
+++ b/projects/msvc/GLideNUI.vcxproj
@@ -108,6 +108,7 @@
+
true
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 71034095..37725c96 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -131,6 +131,7 @@ set(GLideNUI_SOURCES
GLideNUI/ScreenShot.cpp
GLideNUI/Settings.cpp
GLideNUI/QtKeyToHID.cpp
+ GLideNUI/HIDKeyToName.cpp
GLideNUI/configDialog.ui
GLideNUI/icon.qrc
)
diff --git a/src/GLideNUI/ConfigDialog.cpp b/src/GLideNUI/ConfigDialog.cpp
index b1167a2e..c216e451 100644
--- a/src/GLideNUI/ConfigDialog.cpp
+++ b/src/GLideNUI/ConfigDialog.cpp
@@ -18,8 +18,8 @@
#include "ConfigDialog.h"
#include "FullscreenResolutions.h"
#include "qevent.h"
-#include "osal_keys.h"
#include "QtKeyToHID.h"
+#include "HIDKeyToName.h"
static
struct
@@ -428,7 +428,7 @@ void ConfigDialog::_init(bool reInit, bool blockCustomSettings)
if (config.hotkeys.keys[idx] != 0) {
pWgt->setHidCode(config.hotkeys.keys[idx]);
- pBtn->setText(osal_keycode_name(config.hotkeys.keys[idx]));
+ pBtn->setText(HIDKeyToName(config.hotkeys.keys[idx]));
pItem->setCheckState(Qt::Checked);
}
}
@@ -1156,7 +1156,10 @@ void ConfigDialog::on_btn_clicked() {
HotkeyMessageBox msgBox(this);
msgBox.setInformativeText(QString("Press a key for ") + pLabel->text());
msgBox.exec();
- if (msgBox.m_Key != Qt::Key::Key_unknown) {
+ const unsigned int hidCode = QtKeyToHID(msgBox.m_Key);
+ if (hidCode == 0) {
+ pBtn->setText("Invalid Key");
+ } else {
const unsigned int hidCode = QtKeyToHID(msgBox.m_Key);
for (quint32 idx = 0; idx < Config::HotKey::hkTotal; ++idx) {
QListWidgetItem * pItem = ui->hotkeyListWidget->item(idx);
@@ -1169,7 +1172,7 @@ void ConfigDialog::on_btn_clicked() {
break;
}
}
- pBtn->setText(osal_keycode_name(hidCode));
+ pBtn->setText(HIDKeyToName(hidCode));
((HotkeyItemWidget*)pBtn->parent())->setHidCode(hidCode);
}
}
diff --git a/src/GLideNUI/HIDKeyToName.cpp b/src/GLideNUI/HIDKeyToName.cpp
new file mode 100644
index 00000000..2f10598d
--- /dev/null
+++ b/src/GLideNUI/HIDKeyToName.cpp
@@ -0,0 +1,387 @@
+#include "HIDKeyToName.h"
+#include "keycode/keycode.h"
+
+QString HIDKeyToName(unsigned int key)
+{
+ QString returnValue;
+
+ switch (key)
+ {
+ default:
+ returnValue = "Unknown";
+ break;
+ case KEY_A:
+ returnValue = "A";
+ break;
+ case KEY_B:
+ returnValue = "B";
+ break;
+ case KEY_C:
+ returnValue = "C";
+ break;
+ case KEY_D:
+ returnValue = "D";
+ break;
+ case KEY_E:
+ returnValue = "E";
+ break;
+ case KEY_F:
+ returnValue = "F";
+ break;
+ case KEY_G:
+ returnValue = "G";
+ break;
+ case KEY_H:
+ returnValue = "H";
+ break;
+ case KEY_I:
+ returnValue = "I";
+ break;
+ case KEY_J:
+ returnValue = "J";
+ break;
+ case KEY_K:
+ returnValue = "K";
+ break;
+ case KEY_L:
+ returnValue = "L";
+ break;
+ case KEY_M:
+ returnValue = "M";
+ break;
+ case KEY_N:
+ returnValue = "N";
+ break;
+ case KEY_O:
+ returnValue = "O";
+ break;
+ case KEY_P:
+ returnValue = "P";
+ break;
+ case KEY_Q:
+ returnValue = "Q";
+ break;
+ case KEY_R:
+ returnValue = "R";
+ break;
+ case KEY_S:
+ returnValue = "S";
+ break;
+ case KEY_T:
+ returnValue = "T";
+ break;
+ case KEY_U:
+ returnValue = "U";
+ break;
+ case KEY_V:
+ returnValue = "V";
+ break;
+ case KEY_W:
+ returnValue = "W";
+ break;
+ case KEY_X:
+ returnValue = "X";
+ break;
+ case KEY_Y:
+ returnValue = "Y";
+ break;
+ case KEY_Z:
+ returnValue = "Z";
+ break;
+ case KEY_1:
+ returnValue = "1";
+ break;
+ case KEY_2:
+ returnValue = "2";
+ break;
+ case KEY_3:
+ returnValue = "3";
+ break;
+ case KEY_4:
+ returnValue = "4";
+ break;
+ case KEY_5:
+ returnValue = "5";
+ break;
+ case KEY_6:
+ returnValue = "6";
+ break;
+ case KEY_7:
+ returnValue = "7";
+ break;
+ case KEY_8:
+ returnValue = "8";
+ break;
+ case KEY_9:
+ returnValue = "9";
+ break;
+ case KEY_0:
+ returnValue = "0";
+ break;
+ case KEY_Escape:
+ returnValue = "Escape";
+ break;
+ case KEY_Delete:
+ returnValue = "Delete";
+ break;
+ case KEY_Tab:
+ returnValue = "Tab";
+ break;
+ case KEY_Space:
+ returnValue = "Space";
+ break;
+ case KEY_Minus:
+ returnValue = "Minus";
+ break;
+ case KEY_Equals:
+ returnValue = "Equals";
+ break;
+ case KEY_LeftBracket:
+ returnValue = "{";
+ break;
+ case KEY_RightBracket:
+ returnValue = "}";
+ break;
+ case KEY_Backslash:
+ returnValue = "\\";
+ break;
+ case KEY_Semicolon:
+ returnValue = ";";
+ break;
+ case KEY_Quote:
+ returnValue = "\"";
+ break;
+ case KEY_Grave:
+ returnValue = "Grave";
+ break;
+ case KEY_Comma:
+ returnValue = ",";
+ break;
+ case KEY_Period:
+ returnValue = ".";
+ break;
+ case KEY_Slash:
+ returnValue = "/";
+ break;
+ case KEY_CapsLock:
+ returnValue = "Capslock";
+ break;
+ case KEY_F1:
+ returnValue = "F1";
+ break;
+ case KEY_F2:
+ returnValue = "F2";
+ break;
+ case KEY_F3:
+ returnValue = "F3";
+ break;
+ case KEY_F4:
+ returnValue = "F4";
+ break;
+ case KEY_F5:
+ returnValue = "F5";
+ break;
+ case KEY_F6:
+ returnValue = "F6";
+ break;
+ case KEY_F7:
+ returnValue = "F7";
+ break;
+ case KEY_F8:
+ returnValue = "F8";
+ break;
+ case KEY_F9:
+ returnValue = "F9";
+ break;
+ case KEY_F10:
+ returnValue = "F10";
+ break;
+ case KEY_F11:
+ returnValue = "F11";
+ break;
+ case KEY_F12:
+ returnValue = "F12";
+ break;
+ case KEY_PrintScreen:
+ returnValue = "Print Screen";
+ break;
+ case KEY_ScrollLock:
+ returnValue = "Scroll Lock";
+ break;
+ case KEY_Pause:
+ returnValue = "Pause";
+ break;
+ case KEY_Insert:
+ returnValue = "Insert";
+ break;
+ case KEY_Home:
+ returnValue = "Home";
+ break;
+ case KEY_PageUp:
+ returnValue = "Page Up";
+ break;
+ case KEY_DeleteForward:
+ returnValue = "Delete Forward";
+ break;
+ case KEY_End:
+ returnValue = "End";
+ break;
+ case KEY_PageDown:
+ returnValue = "Page Down";
+ break;
+ case KEY_Right:
+ returnValue = "Right";
+ break;
+ case KEY_Left:
+ returnValue = "Left";
+ break;
+ case KEY_Down:
+ returnValue = "Down";
+ break;
+ case KEY_Up:
+ returnValue = "Up";
+ break;
+ case KP_NumLock:
+ returnValue = "[Keypad] Numlock";
+ break;
+ case KP_Divide:
+ returnValue = "[Keypad] /";
+ break;
+ case KP_Multiply:
+ returnValue = "[Keypad] *";
+ break;
+ case KP_Subtract:
+ returnValue = "[Keypad] -";
+ break;
+ case KP_Add:
+ returnValue = "[Keypad] +";
+ break;
+ case KP_Enter:
+ returnValue = "[Keypad] Enter";
+ break;
+ case KP_1:
+ returnValue = "[Keypad] 1";
+ break;
+ case KP_2:
+ returnValue = "[Keypad] 2";
+ break;
+ case KP_3:
+ returnValue = "[Keypad] 3";
+ break;
+ case KP_4:
+ returnValue = "[Keypad] 4";
+ break;
+ case KP_5:
+ returnValue = "[Keypad] 5";
+ break;
+ case KP_6:
+ returnValue = "[Keypad] 6";
+ break;
+ case KP_7:
+ returnValue = "[Keypad] 7";
+ break;
+ case KP_8:
+ returnValue = "[Keypad] 8";
+ break;
+ case KP_9:
+ returnValue = "[Keypad] 9";
+ break;
+ case KP_0:
+ returnValue = "[Keypad] 0";
+ break;
+ case KP_Point:
+ returnValue = "[Keypad] .";
+ break;
+ case KEY_NonUSBackslash:
+ returnValue = "\\";
+ break;
+ case KP_Equals:
+ returnValue = "=";
+ break;
+ case KEY_F13:
+ returnValue = "F13";
+ break;
+ case KEY_F14:
+ returnValue = "F14";
+ break;
+ case KEY_F15:
+ returnValue = "F15";
+ break;
+ case KEY_F16:
+ returnValue = "F16";
+ break;
+ case KEY_F17:
+ returnValue = "F17";
+ break;
+ case KEY_F18:
+ returnValue = "F18";
+ break;
+ case KEY_F19:
+ returnValue = "F19";
+ break;
+ case KEY_F20:
+ returnValue = "F20";
+ break;
+ case KEY_F21:
+ returnValue = "F21";
+ break;
+ case KEY_F22:
+ returnValue = "F22";
+ break;
+ case KEY_F23:
+ returnValue = "F23";
+ break;
+ case KEY_F24:
+ returnValue = "F24";
+ break;
+ case KEY_Help:
+ returnValue = "Help";
+ break;
+ case KEY_Menu:
+ returnValue = "Menu";
+ break;
+ case KEY_Mute:
+ returnValue = "Mute";
+ break;
+ case KEY_SysReq:
+ returnValue = "Sys";
+ break;
+ case KEY_Return:
+ returnValue = "[Keypad] Return";
+ break;
+ case KP_Clear:
+ returnValue = "[Keypad] Clear";
+ break;
+ case KP_Decimal:
+ returnValue = "[Keypad] .";
+ break;
+ case KEY_LeftControl:
+ returnValue = "[Keypad] Left";
+ break;
+ case KEY_LeftShift:
+ returnValue = "Left Shift";
+ break;
+ case KEY_LeftAlt:
+ returnValue = "Left Alt";
+ break;
+ case KEY_LeftGUI:
+ returnValue = "Left Super";
+ break;
+ case KEY_RightControl:
+ returnValue = "Right Control";
+ break;
+ case KEY_RightShift:
+ returnValue = "Right Shift";
+ break;
+ case KEY_RightAlt:
+ returnValue = "Right Alt";
+ break;
+ case KEY_RightGUI:
+ returnValue = "Right Super";
+ break;
+ }
+
+ return returnValue;
+}
+
+
diff --git a/src/GLideNUI/HIDKeyToName.h b/src/GLideNUI/HIDKeyToName.h
new file mode 100644
index 00000000..8e7e176c
--- /dev/null
+++ b/src/GLideNUI/HIDKeyToName.h
@@ -0,0 +1,8 @@
+#ifndef HIDKEYTONAME
+#define HIDKEYTONAME
+
+#include
+
+QString HIDKeyToName(unsigned int key);
+
+#endif // HIDKEYTONAME
\ No newline at end of file