Well the use of the off-line keyboard map seems very positive via ToUnicodeEx. It took me ages to realise that I’d got the Virtual Key and Scan Code values the wrong way around (doh!). I hardly spent any time on it, but my final test correctly displayed an accent from the Virtual Key of Tilde. Given that ToUnicodeEx takes a keyboard layout (or was it locale?) as a parameter then I’m confident this should at least provide fair stab at a decent keyboard translator.