0

こんにちは、NSArray を作成するために、キーボード (Digital Alphabetical) から使用可能なすべての文字のリストを取得したいと思います。

TISInputSourceRef source = TISCopyCurrentKeyboardInputSource(); 
 NSLog(@"languages: %@", TISGetInputSourceProperty(source,       kTISPropertyInputSourceLanguages));
 NSLog(@"localized name: %@", TISGetInputSourceProperty(source, kTISPropertyLocalizedName));

これらの行を使用していますが、文字を一覧表示する適切な関数が見つかりません。

私もこの行を試しました:

NSLog(@"List: %@", TISGetInputSourceProperty(source, kTISPropertyUnicodeKeyLayoutData));
4

2 に答える 2

0

あなたは電話からそれを得ることができますか:

TISGetInputSourceProperty(source, kTISPropertyUnicodeKeyLayoutData);

これは、キーボード レイアウト (存在する場合) の「uchr」データをCFDataRef. ここで「uchr」データのレイアウトについて読むことができます。CFDataRefおそらくCFDataGetBytes()またはのようなものを呼び出して、からバイトを取得する必要がありますCFDataGetBytePtr()

于 2012-10-27T14:43:57.497 に答える
0
TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource();
    CFDataRef uchr = (CFDataRef)TISGetInputSourceProperty(currentKeyboard, kTISPropertyUnicodeKeyLayoutData);
    const UCKeyboardLayout *keyboardLayout = (const UCKeyboardLayout*)CFDataGetBytePtr(uchr);

    Byte* buffer =
    (Byte*) malloc (sizeof(Byte) * CFDataGetLength(uchr));



    CFDataGetBytes(
                   uchr,
                   CFRangeMake(0,CFDataGetLength(uchr)),
                   buffer
                   );

CFDataRef に含まれる情報を読み取る方法は?

于 2012-10-28T09:56:11.457 に答える