I needed SendKeys in .NET CF when I implemented the AutoType feature in poSecrets. I found a SendKeys implementation on OpenNetCF. It implements the SendKeys logic for handling repetitions and special keys like shift, alt, ctrl, etc but it does not support upper case/lower case and some special characters. I thought I had to implement my own key map until I found PostKeybdMessage. It is perfect as it manages all the shift states.
I modified the SendChar routine like this and now it works like a charm:
private static void SendChar(byte k, byte [] mods){ // Use the PostKeybdMessage() api instead of keybd_event // as it correctly manages upper case, ...