I happened to use Korean input method when I launched a S/W program. Then it crashed at accessing the resultant object of TISGetInputSourceProperty().
They say Japanese keyboard caused returning NULL. I will add Korean input method to that.
Here are two things to be aware of :
- What is interesting is that kTISPropertyUnicodeKeyLayoutData is still used when it queries last ASCII capable keyboard.
- It is TISCopyCurrentASCIICapableKeyboardLayoutInputSource() not TISCopyCurrentASCIICapableKeyboardInputSource() to call. The latter doesn’t guarantee that it would return an keyboard input with a layout.