C OS X Quartz事件和某些事件标志的使用
我正在实现一个虚拟键盘,它使用修改器标志来启用带有这些修改键的输入键事件,如:cmd、alt/opt、shift 我想知道两件事:C OS X Quartz事件和某些事件标志的使用,c,macos,cocoa,keyboard-events,macos-carbon,C,Macos,Cocoa,Keyboard Events,Macos Carbon,我正在实现一个虚拟键盘,它使用修改器标志来启用带有这些修改键的输入键事件,如:cmd、alt/opt、shift 我想知道两件事: kcGEventflagmasknocalesed和kCGEventFlagMaskNumericPad的目的是什么,我可以将它们映射到kVK.*键代码中定义的任何键吗 kCGEventFlagMaskAlphaShift,kCGEventFlagMaskAlphaShift之间有什么区别,以及它们如何对应于kVK\u Shift,kVK\u RightShift
kcGEventflagmasknocalesed
和kCGEventFlagMaskNumericPad
的目的是什么,我可以将它们映射到kVK.*
键代码中定义的任何键吗李>
kCGEventFlagMaskAlphaShift
,kCGEventFlagMaskAlphaShift
之间有什么区别,以及它们如何对应于kVK\u Shift
,kVK\u RightShift
kCGEventFlagMaskSecondaryFn
是否对应于kVK_函数
static uint64_t mod_key_code_to_mod_flag(uint16_t mod_key_code) {
switch(mod_key_code) {
case kVK_Shift:
return kCGEventFlagMaskAlphaShift;
case kVK_RightShift:
return kCGEventFlagMaskShift;
case kVK_Control:
return kCGEventFlagMaskControl;
case kVK_Option:
case kVK_RightOption:
return kCGEventFlagMaskAlternate;
case kVK_Command:
return kCGEventFlagMaskCommand;
case kVK_Help:
return kCGEventFlagMaskHelp;
case kVK_Function:
return kCGEventFlagMaskSecondaryFn;
default:
return 0;
}
}
它是否完整?目前无法轻松搜索到《KCGEventflagmasknocalesed》的目的。由于本网站的一点是归档答案所需的信息,因此以下是早期文档中关于鼠标在可可粉(碳)中聚合的定义: 如果启用鼠标合并,中间[sic]鼠标移动事件将合并到最近的事件中,以便在任何时候事件队列中都只有一个鼠标移动或鼠标拖动事件。例如,当用户在屏幕上移动鼠标时,会生成比大多数应用程序所关心的更多的鼠标移动事件。Carbon事件管理器首先检查鼠标移动事件是否已经存在,而不是将所有这些事件放在队列中(这可能会降低应用程序的速度)。如果有,则使用最近生成的事件中的位置和增量信息更新该事件
由于某些原因,当前文档省略了此定义(可能不再支持
mouseCalescingenabled
属性,即使它在文档中)。它是为鼠标事件的消费者设计的。如果您的虚拟键盘未生成鼠标事件,则此修饰符在很大程度上可以忽略。此时无法轻松搜索kckeventflagmasknocalesed
。由于本网站的一点是归档答案所需的信息,因此以下是早期文档中关于鼠标在可可粉(碳)中聚合的定义:
如果启用鼠标合并,中间[sic]鼠标移动事件将合并到最近的事件中,以便在任何时候事件队列中都只有一个鼠标移动或鼠标拖动事件。例如,当用户在屏幕上移动鼠标时,会生成比大多数应用程序所关心的更多的鼠标移动事件。Carbon事件管理器首先检查鼠标移动事件是否已经存在,而不是将所有这些事件放在队列中(这可能会降低应用程序的速度)。如果有,则使用最近生成的事件中的位置和增量信息更新该事件
由于某些原因,当前文档省略了此定义(可能不再支持
mouseCalescingenabled
属性,即使它在文档中)。它是为鼠标事件的消费者设计的。如果您的虚拟键盘没有生成鼠标事件,则此修改器基本上可以忽略。Q2。在几秒钟内,谷歌快速搜索关键词(最上面的列表)回答了第一部分。也可以用谷歌搜索其他人。@WeatherVane-你可以分享你的发现吗?@Noitidart好的,用我的浏览器你可以选择一个单词或短语,然后用关联菜单“搜索谷歌”。这不是一个“让我为你谷歌一下”的网站。正如你所知,OP应该已经做到了这一点。在几秒钟内,谷歌快速搜索关键词(最上面的列表)回答了第一部分。也可以用谷歌搜索其他人。@WeatherVane-你可以分享你的发现吗?@Noitidart好的,用我的浏览器你可以选择一个单词或短语,然后用关联菜单“搜索谷歌”。这不是一个“让我为你谷歌一下”的网站。正如你所知,OP应该已经做到了这一点。