Qt按键值与Windows Virtual-Key Codes映射表

来源:互联网 发布:喷涂机器人及软件编程 编辑:程序博客网 时间:2024/06/05 06:07

前言

在做远程控制/反向控制的时候,要远程模拟键盘按键事件发送,然后被控制端要根据相应的键值来响应。这里采用Qt去获取按键事件,然后映射到windows的对应的键盘键值,提供一个映射表,已基本包含所有常用的字符。

正文

这里定义来一个QMap

QMap<int,char> m_KeyMap;//键盘映射表

看看对应关系

    m_KeyMap.insert(Qt::Key_Left,0x25);    m_KeyMap.insert(Qt::Key_Up,0x26);    m_KeyMap.insert(Qt::Key_Right,0x27);    m_KeyMap.insert(Qt::Key_Down,0x28);    m_KeyMap.insert(Qt::Key_Backspace,0x08);    m_KeyMap.insert(Qt::Key_Tab,0x09);    m_KeyMap.insert(Qt::Key_Clear,0x0C);    m_KeyMap.insert(Qt::Key_Return,0x0D);    m_KeyMap.insert(Qt::Key_Enter,0x0D);    m_KeyMap.insert(Qt::Key_Shift,0x10);    m_KeyMap.insert(Qt::Key_Control,0x11);    m_KeyMap.insert(Qt::Key_Alt,0x12);    m_KeyMap.insert(Qt::Key_Pause,0x13);    m_KeyMap.insert(Qt::Key_CapsLock,0x14);    m_KeyMap.insert(Qt::Key_Escape,0x1B);    m_KeyMap.insert(Qt::Key_Space,0x20);    m_KeyMap.insert(Qt::Key_PageUp,0x21);    m_KeyMap.insert(Qt::Key_PageDown,0x22);    m_KeyMap.insert(Qt::Key_End,0x23);    m_KeyMap.insert(Qt::Key_Home,0x24);    m_KeyMap.insert(Qt::Key_Select,0x29);    m_KeyMap.insert(Qt::Key_Print,0x2A);    m_KeyMap.insert(Qt::Key_Execute,0x2B);    m_KeyMap.insert(Qt::Key_Printer,0x2C);    m_KeyMap.insert(Qt::Key_Insert,0x2D);    m_KeyMap.insert(Qt::Key_Delete,0x2E);    m_KeyMap.insert(Qt::Key_Help,0x2F);    m_KeyMap.insert(Qt::Key_0,0x30);    m_KeyMap.insert(Qt::Key_ParenRight,0x30); // )    m_KeyMap.insert(Qt::Key_1,0x31);    m_KeyMap.insert(Qt::Key_Exclam,0x31); // !    m_KeyMap.insert(Qt::Key_2,0x32);    m_KeyMap.insert(Qt::Key_At,0x32); // @    m_KeyMap.insert(Qt::Key_3,0x33);    m_KeyMap.insert(Qt::Key_NumberSign,0x33); // #    m_KeyMap.insert(Qt::Key_4,0x34);    m_KeyMap.insert(Qt::Key_Dollar,0x34); // $    m_KeyMap.insert(Qt::Key_5,0x35);    m_KeyMap.insert(Qt::Key_Percent,0x35); // %    m_KeyMap.insert(Qt::Key_6,0x36);    m_KeyMap.insert(Qt::Key_AsciiCircum,0x36); // ^    m_KeyMap.insert(Qt::Key_7,0x37);    m_KeyMap.insert(Qt::Key_Ampersand,0x37); // &    m_KeyMap.insert(Qt::Key_8,0x38);    m_KeyMap.insert(Qt::Key_Asterisk,0x38); // *    m_KeyMap.insert(Qt::Key_9,0x39);    m_KeyMap.insert(Qt::Key_ParenLeft,0x39); // (    m_KeyMap.insert(Qt::Key_A,0x41);    m_KeyMap.insert(Qt::Key_B,0x42);    m_KeyMap.insert(Qt::Key_C,0x43);    m_KeyMap.insert(Qt::Key_D,0x44);    m_KeyMap.insert(Qt::Key_E,0x45);    m_KeyMap.insert(Qt::Key_F,0x46);    m_KeyMap.insert(Qt::Key_G,0x47);    m_KeyMap.insert(Qt::Key_H,0x48);    m_KeyMap.insert(Qt::Key_I,0x49);    m_KeyMap.insert(Qt::Key_J,0x4A);    m_KeyMap.insert(Qt::Key_K,0x4B);    m_KeyMap.insert(Qt::Key_L,0x4C);    m_KeyMap.insert(Qt::Key_M,0x4D);    m_KeyMap.insert(Qt::Key_N,0x4E);    m_KeyMap.insert(Qt::Key_O,0x4F);    m_KeyMap.insert(Qt::Key_P,0x50);    m_KeyMap.insert(Qt::Key_Q,0x51);    m_KeyMap.insert(Qt::Key_R,0x52);    m_KeyMap.insert(Qt::Key_S,0x53);    m_KeyMap.insert(Qt::Key_T,0x54);    m_KeyMap.insert(Qt::Key_U,0x55);    m_KeyMap.insert(Qt::Key_V,0x56);    m_KeyMap.insert(Qt::Key_W,0x57);    m_KeyMap.insert(Qt::Key_X,0x58);    m_KeyMap.insert(Qt::Key_Y,0x59);    m_KeyMap.insert(Qt::Key_Z,0x5A);    m_KeyMap.insert(Qt::Key_multiply,0x6A);    m_KeyMap.insert(Qt::Key_F1,0x70);    m_KeyMap.insert(Qt::Key_F2,0x71);    m_KeyMap.insert(Qt::Key_F3,0x72);    m_KeyMap.insert(Qt::Key_F4,0x73);    m_KeyMap.insert(Qt::Key_F5,0x74);    m_KeyMap.insert(Qt::Key_F6,0x75);    m_KeyMap.insert(Qt::Key_F7,0x76);    m_KeyMap.insert(Qt::Key_F8,0x77);    m_KeyMap.insert(Qt::Key_F9,0x78);    m_KeyMap.insert(Qt::Key_F10,0x79);    m_KeyMap.insert(Qt::Key_F11,0x7A);    m_KeyMap.insert(Qt::Key_F12,0x7B);    m_KeyMap.insert(Qt::Key_F13,0x7C);    m_KeyMap.insert(Qt::Key_F14,0x7D);    m_KeyMap.insert(Qt::Key_F15,0x7E);    m_KeyMap.insert(Qt::Key_F16,0x7F);    m_KeyMap.insert(Qt::Key_F17,0x80);    m_KeyMap.insert(Qt::Key_F18,0x81);    m_KeyMap.insert(Qt::Key_F19,0x82);    m_KeyMap.insert(Qt::Key_F20,0x83);    m_KeyMap.insert(Qt::Key_F21,0x84);    m_KeyMap.insert(Qt::Key_F22,0x85);    m_KeyMap.insert(Qt::Key_F23,0x86);    m_KeyMap.insert(Qt::Key_F24,0x87);    m_KeyMap.insert(Qt::Key_NumLock,0x90);    m_KeyMap.insert(Qt::Key_ScrollLock,0x91);    m_KeyMap.insert(Qt::Key_VolumeDown,0xAE);    m_KeyMap.insert(Qt::Key_VolumeUp,0xAF);    m_KeyMap.insert(Qt::Key_VolumeMute,0xAD);    m_KeyMap.insert(Qt::Key_MediaStop,0xB2);    m_KeyMap.insert(Qt::Key_MediaPlay,0xB3);    m_KeyMap.insert(Qt::Key_Plus,0xBB); // +    m_KeyMap.insert(Qt::Key_Minus,0xBD); // -    m_KeyMap.insert(Qt::Key_Underscore,0xBD); // _    m_KeyMap.insert(Qt::Key_Equal,0xBB); // =    m_KeyMap.insert(Qt::Key_Semicolon,0xBA); // ;    m_KeyMap.insert(Qt::Key_Colon,0xBA); // :    m_KeyMap.insert(Qt::Key_Comma,0xBC); // ,    m_KeyMap.insert(Qt::Key_Less,0xBC); // <    m_KeyMap.insert(Qt::Key_Period,0xBE); // .    m_KeyMap.insert(Qt::Key_Greater,0xBE); // >    m_KeyMap.insert(Qt::Key_Slash,0xBF);  // /    m_KeyMap.insert(Qt::Key_Question,0xBF); // ?    m_KeyMap.insert(Qt::Key_BracketLeft,0xDB); // [    m_KeyMap.insert(Qt::Key_BraceLeft,0xDB); // {    m_KeyMap.insert(Qt::Key_BracketRight,0xDD); // ]    m_KeyMap.insert(Qt::Key_BraceRight,0xDD); // }    m_KeyMap.insert(Qt::Key_Bar,0xDC); // |    m_KeyMap.insert(Qt::Key_Backslash,0xDC); // \\    m_KeyMap.insert(Qt::Key_Apostrophe,0xDE); // '    m_KeyMap.insert(Qt::Key_QuoteDbl,0xDE); // "    m_KeyMap.insert(Qt::Key_QuoteLeft,0xC0); // `    m_KeyMap.insert(Qt::Key_AsciiTilde,0xC0); // ~

这里只介绍键值对应关系,后期会写文章介绍使用Qt模拟windows鼠标和键盘事件。

本文参考
https://msdn.microsoft.com/zh-cn/data/dd375731(v=vs.100)
http://blog.csdn.net/wangjieest/article/details/8283656

原创粉丝点击