hey*_*cam 3 windows keyboard-events
我有一台上网本,它的触摸板上支持多点触控手势。当您向左或向右三指滑动时,它会向活动窗口发送一些消息 - 对于某些窗口,这意味着发送页面向上/向下按键。
根据 Spy++ 的说法,向右滑动发送的实际消息是:
我的问题是:这个 0xFF 虚拟键码是什么,它是否记录在某处?在 winuser.h 中没有相应的 #define。
0xFF是在键盘布局代码中使用的值,表示“无映射”。这是它kbd.h在 Windows DDK/SDK 中的定义方式:
#define VK__none_ 0xFF
Run Code Online (Sandbox Code Playgroud)
每个没有指定含义的扫描码都通过宏映射到这个虚拟键码。例如,扫描码 0 没有映射:
#define T00 _EQ( _none_ )
Run Code Online (Sandbox Code Playgroud)
如果 Fn 键产生 0xFF,是因为 Fn 键的扫描码没有映射,而不是因为 0xFF 表示 Fn 键。Fn 键没有标准的扫描码;这取决于制造商,因此不太可能映射到标准键盘布局中任何有意义的内容。
至于为什么会发送 VK 0xFF:可能不是。制造商特定的按键和按钮有时会(从硬件)发送一个未映射到任何内容但可以通过扫描代码检测到的扫描代码。当制造商的软件检测到密钥时,它会采取一些行动,例如发送 VK_NEXT(但该行动可能取决于设置或哪个应用程序具有焦点)。聚焦的应用程序也会看到按键,但通常什么都不做,因为该扫描代码没有映射(wParam 是 0xFF)。
您可以在 WM_KEYDOWN 消息的 lParam 的第 16-23 位中找到扫描码。
| 归档时间: |
|
| 查看次数: |
4118 次 |
| 最近记录: |