   Those handy little "Click the button you want to set this command to" interfaces...
  How are those normally constructed? Right now, I'd be down to checking every single input for every single input device (SlimDX/DirectX). There's got to be a better way......Preferably one that doesn't involve a 3rd-party input library.   
  Are you talking about things like setting key bindings?I suppose it depends how you do all your input. If you have a typical listener type approach, then make a listener that listens only for applicable keys. Once the button has been clicked then add the listener to the event manager. I guess it should have a callback (or some other method) when it recieves any input that tells the "keybinding" class what key was pressed. That should then setup the key binding and remove the listener from the event manager. you could catch the escape key to cancel. Providing its all blocking it should work simple enough.   ;  Ah - I guess what I'm asking is, how do I construct a listener in SlimDX/DirectX? I suppose I could just compare current and last inputs, but that would require some repetitive code for joysticks (As I cannot seem to get the data for a specific joystick function (Button, stick)).   ;  If your only option is to poll then I guess comparing is your only choice. Make some kind of input manager that handles all that and informs listeners when anything changes. Listeners should be relativly simple (although making them listen only to things they are interested in gets very complicated (input manager code)). You could always do it via polling and if you figure out how to do it more event based you can easily change just that bit later.Thinking about it, if you are polling for input then when your blocking and waiting for a key to be pressed its never gonna happen. Perhaps someone with more experience of SlimDX can offer mroe useful advice.   ;  Thanks anyway. :)   