Я хочу назначить задачи и функции дополнительным клавишам моей клавиатуры (например, Mute, VolumeChange, Browser, …). Теперь я знаю, что DirectInput реализует полный список этих ключей, таких как DIK_MUTE (MSDN ссылка). К сожалению, ни одна из клавиш не назначена этим значениям, и очевидно, что каждая нажатая клавиша распознается как № 128 в DirectInput.
Но у 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,...)
Задача ещё не решена.
Других решений пока нет …