ranma1988 Posted November 11, 2015 Share Posted November 11, 2015 Hi im trying to triger events when a key was pressed. do anyone have a solution for this? My current solution works onnly for a-z keys. for (int i = 0; i < 255 i++) { if(GetAsyncKeyState(i))| { ledId = CorsairGetLedIdForKeyName((char)i); //do action on ledId } } the problem with this solution is that: CorsairGetLedIdForKeyName does not return values for ESC and any other key than a-z keys. ESC(27) CorsairGetLedIdForKeyName -> CorsairLedId.CLI_Invalid Link to comment Share on other sites More sharing options...
Yannicked Posted March 16, 2016 Share Posted March 16, 2016 Try creating a windows "hook" with the function and create a map from the virtual keycodes to the corsair id's (in the CorsairLedIdEnum.h file from the SDK) HHOOK WINAPI SetWindowsHookEx( _In_ int idHook, // probably WH_KEYBOARD_LL for the keyboard _In_ HOOKPROC lpfn, // the callback _In_ HINSTANCE hMod, _In_ DWORD dwThreadId ); Example: https://gist.github.com/Yannicked/23919888d759876221c3 Link to comment Share on other sites More sharing options...
hastegag Posted January 2, 2018 Share Posted January 2, 2018 not to revive an old post, but I was trying to get the register_callback.cpp example file from the latest SDK to recognize media keys. I was unable to simply add the VK_MEDIA_NEXT and STOP etc to the struct at the top of the example and in the includes and have them register within the callback example, but I'm assuming that was because the scope of that project was focused on the proprietary keys and the DLL call has something to do with it? I realized the while loop at the bottom was a super bootleg way (once you comment out the getchar functions of the std io), of getting these to react with that same above mentioned function in windows.h of getasynchkeystate or similar. This was my approach, but don't know if it is helpful to anyone: http://www.smithany.com/register_callback.cpp Very bottom being the relevant stuff. Yannicked, thank you for posting the low level keyboard hook, I will be trying that in place of what I'm doing now but I need to get a better handle on it. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.