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
阅读全文
0 0
- Qt按键值与Windows Virtual-Key Codes映射表
- Windows虚拟码(Virtual-Key Codes)
- Virtual-Key Codes
- Virtual-Key Codes
- keyboard Virtual-Key Codes
- Virtual-Key Codes
- MCE Virtual-Key Codes
- VC++ Virtual-Key Codes
- Virtual-Key Codes
- Virtual-Key Codes
- Virtual Key Codes
- Virtual Key Codes
- Virtual-Key Codes
- Virtual-Key Codes
- Virtual-Key Codes
- Virtual-Key Codes
- List of Virtual Key Codes
- Virtual Key Codes (Compact 2013)
- HDU 1533 Going Home(KM算法模板样例)
- VJ Pots
- Jxnu Group Programming Ladder Tournament 2017题解
- Recycleview的实例及于listview的强弱分析
- C++栈的应用——后缀表达式求值、中缀表达式到后缀表达式的转换
- Qt按键值与Windows Virtual-Key Codes映射表
- BrnShop开源网上商城第一讲:架构设计
- 23种设计模式汇总整理
- Android中 如何判断现在所处的界面是否为home主桌面
- Linux日常使用命令
- 创建进程程序3 子函数1 创建进程选项
- 安卓游戏中的精品-你玩过吗?
- 各种数据类型所占的存储空间
- Windows Wget v1.19