Mac OS X で Unicode 文字をシミュレートして、フォアグラウンド アプリケーションに送信したいと考えています。つまり、「a」のようなユニコード文字(アラビア語、中国語などを含めることができます)があり、それを入力したいということです。仮想キーまたはキー コードを使用しようとしているわけではないことに注意してください。キャラクターのみ。
敬具、 ペイマン・モルタザヴィ
Mac OS X で Unicode 文字をシミュレートして、フォアグラウンド アプリケーションに送信したいと考えています。つまり、「a」のようなユニコード文字(アラビア語、中国語などを含めることができます)があり、それを入力したいということです。仮想キーまたはキー コードを使用しようとしているわけではないことに注意してください。キャラクターのみ。
敬具、 ペイマン・モルタザヴィ
私は非常に良いアプローチを見つけましたが、それでも問題があります。コードを見て、現在の問題を書きます。
CGEventRef downEvt = CGEventCreateKeyboardEvent( NULL, 0, true );
CGEventRef upEvt = CGEventCreateKeyboardEvent( NULL, 0, false );
UniChar oneChar = 'h';
CGEventKeyboardSetUnicodeString( downEvt, 1, &oneChar );
CGEventKeyboardSetUnicodeString( upEvt, 1, &oneChar );
CGEventPost( kCGAnnotatedSessionEventTap, downEvt );
CGEventPost( kCGAnnotatedSessionEventTap, upEvt );
問題は、このイベントが検索ボックスなどの一部のセッションに制限されていることです。これは、kCGAnnotatedSessionEventTapをkCGSessionEventTapに変更すると、検索ボックスでのみ機能するためです。これらを組み合わせて、このイベントをすべてのセッションに適用するのを手伝っていただけませんか。
よろしく、ペイマンモルタザビ