我想将任务和功能分配给键盘的其他键(例如Mute,VolumeChange,Browser,...)。现在,我知道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,...)