objective-c - 如何使用 Objective-C 在 Mac Os X 中模拟 Unicode Char "key press"?

标签 objective-c macos unicode keypress simulate

我想在 Mac OS X 中模拟一个 unicode 字符发送到前台应用程序。 我的意思是我有一个 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 );

问题是此事件仅限于搜索框等某些 session ,这是因为 kCGAnnotatedSessionEventTap 如果我们将其更改为 kCGSessionEventTap 那么它将仅适用于搜索盒子。你不能帮我把它们结合起来,让它把这个事件应用到每个 session 。

问候, 佩曼莫塔扎维

关于objective-c - 如何使用 Objective-C 在 Mac Os X 中模拟 Unicode Char "key press"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10179995/

相关文章:

iphone - 调试 AFNetworking 内存使用峰值

c++ - OpenGL 三角形不会在 macOS 上呈现?

python - 已解码字符串出现 Unicode 错误?

SQL 在带有变量的存储过程中使用 Unicode N

macos - 某些键映射在 MacVim 中不起作用

Ruby - UTF-8 文件编码

ios - 使用 MTKView 显示 JPEG 图片

为字符串常量妖魔化的 Objective-C#define 指令

objective-c - NSImageView 拖放问题

macos - 如果 brew 没有更新,如何更新?