Xojoでキーボードレイアウトを判別するメソッドです。
OS Xデスクトップアプリ専用。
Function GetKeyboardLayout() As String
declare function LMGetKbdType lib "Carbon" () as Integer
declare function KBGetLayoutType lib "Carbon" (iKeyboardType as Integer) as OSType
dim v as Variant = KBGetLayoutType(LMGetKbdType)
Select case v.StringValue
case "JIS "
Return "JIS"
case "ANSI"
Return "US"
case "ISO "
Return "International"
case "????"
Return "Unknown"
End Select
End Function
Carbonですけど、Cocoaビルドでも大丈夫。