Sign in to follow this  
ProgrammerZ

raw input blues . . . again

Recommended Posts

I'll get straight to the point. I've been working on an input system for my games, and I've been trying to add functionality to process raw input by using WM_INPUT. However, whenever I register a raw input device, my window becomes non-responsive and my computer becomes quite slow. I've looked at a few posts about raw input, and I read that slowness can be expected when using raw input in a windowed application. However, I tried my program fullscreen, and I'm pretty sure I have the same problem -- the cursor is an hourglass icon. MSDN doesn't seem to have much documentation about raw input (but, that can be expected). Does anyone know if this can be fixed? Do you think it's worth it to use raw input in my applications? By the way, sorry to anyone who's sick and tired of hearing from me about input! ;-) --ProgrammerZ

Share this post


Link to post
Share on other sites
Are you receiving WM_INPUT messages in your message loop?

I would suggest you take a look at Mame's source code it uses Raw Input and might help you figure out what your doing wrong.

Share this post


Link to post
Share on other sites
Sounds like you maybe using the RIDEV_NOLEGACY flag or not propagating all the messages which you do not handle. Without some more info it is hard to say really.

Share this post


Link to post
Share on other sites
Quote:
Original post by CmpDev
Sounds like you maybe using the RIDEV_NOLEGACY flag


I am using the RIDEV_NOLEGACY flag. I mostly just copied and pasted code from a MSDN tutorial, and the tutorial used that flag. I don't know much about the inner workings of the Windows raw input system . . . should I use a different flag instead? I want to offer support for windowed and fullscreen apps . . . Evil Steve?

Share this post


Link to post
Share on other sites
The RIDEV_NOLEGACY Flag just prevents windows from sending the "normal" input-messages to your message-queue. Thus, your window won't react to any input as there are no messages passed to the DefWindowProc(). (except if you handle everything yourself via WM_INPUT - don't do that! ;-) )

So just leave RIDEV_NOLEGACY out and everything should work as you're used to.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this