Pey*_*man 6 unicode macos objective-c keypress simulate
我想模拟Mac OS X中的unicode字符以发送到Foreground应用程序.我的意思是我有一个unicode char(可以包含阿拉伯语,中文等),比如'a',我想输入它.请注意,我不是在尝试使用虚拟密钥或密钥代码.只有一个角色.
真诚的,Peyman Mortazavi
我找到了一个非常好的方法,但仍然存在问题.看看代码,然后我写出当前的问题.
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 );
Run Code Online (Sandbox Code Playgroud)
问题是这个事件仅限于某些会话,如搜索框,这是因为kCGAnnotatedSessionEventTap,如果我们将其更改为kCGSessionEventTap,那么它只适用于搜索框.你不能帮我把它们结合起来,使它适用于每个会话.
此致,Peyman Mortazavi
| 归档时间: |
|
| 查看次数: |
1320 次 |
| 最近记录: |