Original Post
I am trying to sort out how to do text input in my engine. I have two somewhat different requirements.
1) To have fast stateless input for character movement.
2) To have buffered input for the console I have written.
For (1) I use DirectInput immediate mode, read the state of the keyboard once per frame and then I can just check the key state I am looking for - this works fine.
For (2), I have DirectInput8 set up so that I can switch between immediate and buffered modes in my Input class. This also works fine, for the most part - but I can''t work out how to get modified characters!
So, eg, in buffered mode I only get the character 9 instead of ( when holding down the SHIFT key.
What I need to know, is whether buffered mode can be set to report modified keys like the shifted brackets etc, or if I will have to just use immediate mode and write my own buffering kind of system..??
How have other people done this? Also, please don''t suggest using the WM_* messages from the WndProc function - they are slow, messy to pass around between classes and not the way I want to do things...
Thanks for any thoughts..