IOHIDPostEvent key mapping issue on 10.11.3

We use IOHIDPostEvent to simulate key strokes in our app.

There's a key mapping issue on JP 106 keyboard.

For SHIFT+2, it should output the character ", but on 10.11.3 it outputs @, which is the result of standard 101 keyboard.

It looks like a key mapping issue on system api, is there any method to correct it?

IOHIDPostEvent key mapping issue on 10.11.3
 
 
Q