int MainWindow::qtKeyToWinKeyCode(Qt::Key qtKey)
{
switch (qtKey) {
case Qt::Key_Escape:
return VK_ESCAPE;
case Qt::Key_Tab:
return VK_TAB;
case Qt::Key_Backtab:
return VK_BACK;
case Qt::Key_Backspace:
return VK_BACK;
case Qt::Key_Return:
case Qt::Key_Enter:
return VK_RETURN;
case Qt::Key_Insert:
return VK_INSERT;
case Qt::Key_Delete:
return VK_DELETE;
case Qt::Key_Pause:
return VK_PAUSE;
case Qt::Key_Print:
return VK_PRINT;
case Qt::Key_SysReq:
return VK_SNAPSHOT;
case Qt::Key_Clear:
return VK_CLEAR;
case Qt::Key_Home:
return VK_HOME;
case Qt::Key_End:
return VK_END;
case Qt::Key_Left:
return VK_LEFT;
case Qt::Key_Up:
return VK_UP;
case Qt::Key_Right:
return VK_RIGHT;
case Qt::Key_Down:
return VK_DOWN;
case Qt::Key_PageUp:
return VK_PRIOR;
case Qt::Key_PageDown:
return VK_NEXT;
case Qt::Key_Shift:
return VK_SHIFT;
case Qt::Key_Control:
return VK_CONTROL;
case Qt::Key_Meta:
return VK_LWIN; // Assuming left Windows key
case Qt::Key_Alt:
return VK_MENU;
case Qt::Key_CapsLock:
return VK_CAPITAL;
case Qt::Key_NumLock:
return VK_NUMLOCK;
case Qt::Key_ScrollLock:
return VK_SCROLL;
case Qt::Key_F1:
return VK_F1;
case Qt::Key_F2:
return VK_F2;
case Qt::Key_F3:
return VK_F3;
case Qt::Key_F4:
return VK_F4;
case Qt::Key_F5:
return VK_F5;
case Qt::Key_F6:
return VK_F6;
case Qt::Key_F7:
return VK_F7;
case Qt::Key_F8:
return VK_F8;
case Qt::Key_F9:
return VK_F9;
case Qt::Key_F10:
return VK_F10;
case Qt::Key_F11:
return VK_F11;
case Qt::Key_F12:
return VK_F12;
case Qt::Key_F13:
return VK_F13;
case Qt::Key_F14:
return VK_F14;
case Qt::Key_F15:
return VK_F15;
case Qt::Key_F16:
return VK_F16;
case Qt::Key_F17:
return VK_F17;
case Qt::Key_F18:
return VK_F18;
case Qt::Key_F19:
return VK_F19;
case Qt::Key_F20:
return VK_F20;
case Qt::Key_F21:
return VK_F21;
case Qt::Key_F22:
return VK_F22;
case Qt::Key_F23:
return VK_F23;
case Qt::Key_F24:
return VK_F24;
case Qt::Key_Space:
return VK_SPACE;
case Qt::Key_Exclam:
return '1'; // ! 键
case Qt::Key_QuoteDbl:
return VK_OEM_7; // " 键
case Qt::Key_At:
return '2'; // @ 键
case Qt::Key_NumberSign:
return '3'; // # 键
case Qt::Key_Dollar:
return '4'; // $ 键
case Qt::Key_Percent:
return '5'; // % 键
case Qt::Key_AsciiCircum:
return '6'; // ^ 键
case Qt::Key_Ampersand:
return '7'; // & 键
case Qt::Key_Apostrophe:
return VK_OEM_7; // ' 键
case Qt::Key_ParenLeft:
return '9'; // ( 键
case Qt::Key_ParenRight:
return '0'; // ) 键
case Qt::Key_Asterisk:
return VK_MULTIPLY; // * 键
case Qt::Key_Plus:
return VK_OEM_PLUS; // + 键
case Qt::Key_Comma:
return VK_OEM_COMMA; // , 键
case Qt::Key_Minus:
return VK_OEM_MINUS; // - 键
case Qt::Key_Period:
return VK_OEM_PERIOD; // . 键
case Qt::Key_Slash:
return VK_OEM_2; // / 键
case Qt::Key_Colon:
return VK_OEM_1; // : 键
case Qt::Key_Semicolon:
return VK_OEM_1; // ; 键
case Qt::Key_Less:
return VK_OEM_COMMA; // < 键
case Qt::Key_Equal:
return VK_OEM_PLUS; // = 键
case Qt::Key_Greater:
return VK_OEM_PERIOD; // > 键
case Qt::Key_Question:
return VK_OEM_2; // ? 键
case Qt::Key_BracketLeft:
return VK_OEM_4; // [ 键
case Qt::Key_Backslash:
return VK_OEM_5; // \ 键
case Qt::Key_BracketRight:
return VK_OEM_6; // ] 键
case Qt::Key_Underscore:
return VK_OEM_MINUS; // _ 键
case Qt::Key_QuoteLeft:
return VK_OEM_3; // ` 键
case Qt::Key_BraceLeft:
return VK_OEM_4; // { 键
case Qt::Key_Bar:
return VK_OEM_5; // | 键
case Qt::Key_BraceRight:
return VK_OEM_6; // } 键
case Qt::Key_AsciiTilde:
return VK_OEM_3; // ~ 键
case Qt::Key_0:
return VK_NUMPAD0;
case Qt::Key_1:
return VK_NUMPAD1;
case Qt::Key_2:
return VK_NUMPAD2;
case Qt::Key_3:
return VK_NUMPAD3;
case Qt::Key_4:
return VK_NUMPAD4;
case Qt::Key_5:
return VK_NUMPAD5;
case Qt::Key_6:
return VK_NUMPAD6;
case Qt::Key_7:
return VK_NUMPAD7;
case Qt::Key_8:
return VK_NUMPAD8;
case Qt::Key_9:
return VK_NUMPAD9;
case Qt::Key_A:
return 'A';
case Qt::Key_B:
return 'B';
case Qt::Key_C:
return 'C';
case Qt::Key_D:
return 'D';
case Qt::Key_E:
return 'E';
case Qt::Key_F:
return 'F';
case Qt::Key_G:
return 'G';
case Qt::Key_H:
return 'H';
case Qt::Key_I:
return 'I';
case Qt::Key_J:
return 'J';
case Qt::Key_K:
return 'K';
case Qt::Key_L:
return 'L';
case Qt::Key_M:
return 'M';
case Qt::Key_N:
return 'N';
case Qt::Key_O:
return 'O';
case Qt::Key_P:
return 'P';
case Qt::Key_Q:
return 'Q';
case Qt::Key_R:
return 'R';
case Qt::Key_S:
return 'S';
case Qt::Key_T:
return 'T';
case Qt::Key_U:
return 'U';
case Qt::Key_V:
return 'V';
case Qt::Key_W:
return 'W';
case Qt::Key_X:
return 'X';
case Qt::Key_Y:
return 'Y';
case Qt::Key_Z:
return 'Z';
// 其他特殊键
case Qt::Key_AltGr:
return VK_RMENU; // 右Alt键
case Qt::Key_Back:
return VK_BROWSER_BACK;
case Qt::Key_Forward:
return VK_BROWSER_FORWARD;
case Qt::Key_Refresh:
return VK_BROWSER_REFRESH;
case Qt::Key_Stop:
return VK_BROWSER_STOP;
case Qt::Key_Search:
return VK_BROWSER_SEARCH;
case Qt::Key_Favorites:
return VK_BROWSER_FAVORITES;
case Qt::Key_HomePage:
return VK_BROWSER_HOME;
case Qt::Key_LaunchMail:
return VK_LAUNCH_MAIL;
case Qt::Key_LaunchMedia:
return VK_LAUNCH_MEDIA_SELECT;
case Qt::Key_Launch0:
return VK_LAUNCH_APP1;
case Qt::Key_Launch1:
return VK_LAUNCH_APP2;
case Qt::Key_VolumeDown:
return VK_VOLUME_DOWN;
case Qt::Key_VolumeMute:
return VK_VOLUME_MUTE;
case Qt::Key_VolumeUp:
return VK_VOLUME_UP;
case Qt::Key_MediaPlay:
return VK_MEDIA_PLAY_PAUSE;
case Qt::Key_MediaStop:
return VK_MEDIA_STOP;
case Qt::Key_MediaPrevious:
return VK_MEDIA_PREV_TRACK;
case Qt::Key_MediaNext:
return VK_MEDIA_NEXT_TRACK;
default:
return 0; // 返回0表示未知的键值
}
}
QT的按键键值转换成windowsAPI中的按键键值。