我想将任务和功能分配给我键盘的附加键(例如静音、音量变化、浏览器...)。现在,我确实知道 DirectInput 实现了这些键的完整列表,例如 DIK_MUTE ( msdn link )。不幸的是,没有一个键被分配给这些值,显然每个按下的键都被 DirectInput 识别为第 128 号。
但是 Windows 似乎在区分这些键时没有问题,因为其中一些键是功能性的,例如打开的应用程序。有没有办法在有或没有 DirectInput 的情况下调整这个问题,以便我也可以在全屏 DX/OpenGL 应用程序中检测到这些键?
IDirectInputDevice8* device;
BYTE arrKey[256] = {0};
if FAILED(device->GetDeviceState(sizeof(BYTE)*256,arrKey))
return false;
BYTE byKey = ReportPressedKey(arrKey, sizeof(BYTE*)*256);
// byKey = 128 (DIK_MUTE, DIK_VOLUMEUP,DIK_NEXTTRACK,...)