Собственно есть клавиатура с мультимедийными (дополнительными) клавишами. Стоит задача выполнять определенные действия по их нажатии, причем важно, чтобы это работало в directX/openGL приложениях. Пробовал программы iKeyWorks и Mkey — устраивает, но в directX/openGL не работает. Возможен ли вообще такой перехват?
UPD: Оказывается не работало из-за того, что directX/openGL приложение запускалось с правами админа. В таком случае программа для «отлавливания» событий тоже должна запускаться с правами админа.
OpenGL тут вообще не причём — это API только для работы с графикой. Обработка ввода в Windows-приложениях осуществляется при помощи DirectInput, OIS (Object Oriented Input System) или перехватом событий WM_KEYDOWN/WM_KEYUP через WINAPI.
В GLUT можно повесить обработчики на glutKeyboardFunc и glutSpecialFunc. Посмотрите, что придет в callbac'и при нажатии мультимедийных клавиш. Но в любом случае это будут просто числовые коды, без привязки к реальной клавиатуре.