我最近一直在研究Cocoa项目。它是一个菜单栏/状态栏应用程序。当用户按下选项键时,我需要在菜单栏应用程序中显示一些额外信息,并且我一直在寻找无处不在窗口上显示任何窗口的可能性。是否可以从AppDelegate.swift运行keyDown:
来执行此操作?指导表示赞赏。谢谢!
答案 0 :(得分:0)
我不确定您是否可以全局监控密钥,但您可以执行以下选项密钥:
NSEvent.addGlobalMonitorForEventsMatchingMask(NSEventMask.FlagsChangedMask) { (theEvent) -> Void in
if theEvent.modifierFlags.intersect(.DeviceIndependentModifierFlagsMask) == .AlternateKeyMask {
print("ONLY OPTION")
}
switch theEvent.modifierFlags.intersect(.DeviceIndependentModifierFlagsMask) {
case NSEventModifierFlags.ShiftKeyMask :
print("shift key is pressed")
case NSEventModifierFlags.ControlKeyMask:
print("control key is pressed")
case NSEventModifierFlags.AlternateKeyMask :
print("option key is pressed")
case NSEventModifierFlags.CommandKeyMask:
print("Command key is pressed")
default:
print("no key or more than one is pressed")
}
}
答案 1 :(得分:0)
您的意思是当用户按住选项键时更改菜单项吗?
检出菜单项的isAlternate
和keyEquivalentModifierMask
属性。