Is it possible to set a keyboard layout per app? I use Dvorak for my day-to-day work, however I find that Microsoft's Remote Desktop application doesn't play very nicely with this: if I connect to an existing session it will use whatever keymap was in place before (usually US), but if I connect and it logs in a new session, it will set the keymap to dvorak which affects other users if they log in! 

It would be nice if Microsoft could make it not break, but I don't see that happening any time soon. Meanwhile, is it possible to set a keymap for a particular application? I've tried the option Automatically switch to a document's input source, but this doesn't seem to have any noticeable effect.
I've found a better way of dealing with things than setting a keyboard layout per app, and this is with the excellent Karabiner keyboard customiser.

Simply set the system keyboard to QWERTY, and enable the Karabiner option 'QWERTY to Dvorak'. The only caveat is you have to remember to log in with QWERTY as Karabiner can only start once you have logged in.