編集:私は、アクセシビリティAPIの初期調査で誤解を受けました。 AX階層内の安全なテキストフィールドを見つけたら、簡単に値を設定することができました。それを超えてこの質問をどうすればいいのか分からないが、将来のサーチャーのためにこれを更新したいと思った。AXIElementPostKeyboardEventのNSStringからkeyCode +修飾子への変換
アクセシビリティAPIを使用してキーボードイベントをターゲットアプリケーションにポストするコードに取り組んでいます。これまでは、私は文字列値を入力し、それらのキーコードでキーボードイベントをターゲットアプリケーションにポストすることができる簡単なアプリケーションを書くことができました。実際には、文字列は別の場所から読み取られます。
私がまだ理解できなかったことは、どの修飾キーが投稿されるべきかどうかを確認する方法です。たとえば、私がテストアプリケーションにHello, world!
と入力すると、入力は他のアプリケーションにhello, world1
として送信されます。これは、大文字のHと感嘆符を作成する修飾キーはまだ含まれていないためです。これは、マルチキーストローク文字(é
またはü
など)によって二重に複雑になりました。 é
を送信すると、たとえばアクセントのない生のe
が送信されます。
特定のNSStringまたはunicharを作成するためのキーコードと組み合わされる修飾子を識別するための見落としがある簡単な方法はありますか?そうでない場合は、どのように進むべきかの提案を誰かが持っていますか?これまでのところ、最高のものは、UCKeyTranslate
にすべての修飾子の組み合わせを使用して呼び出すことです。unichar
と一致するものが見つかりました-[NSString characterAtIndex:]
これはスケーラブルで信頼できるとは確信できませんが、いくつかの文字は上記のとおりです。
ありがとうございます!
いいえ、パスワード入力欄にテキストを入力する必要があることがありますが、パスワードフィールドを表すAXUIElementsでは値を直接入力することはできません。通常のアクセシビリティ値の設定呼び出し。 (彼らがしたかった!) – jxpx777
ロスのアプローチのもう一つの問題は、結局ファイルから文字列を読み込み、その値を他のアプリケーションに送ることです。 – jxpx777