我有NSTextView
,每当用户按下Shift
+ Return
密钥时,我都应该执行操作。
但问题是我无法弄清楚如何知道用户是否按下Return
键。
我已使用此代码了解用户是否按下Shift
键。
override func flagsChanged(theEvent: NSEvent) {
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")
case NSEventModifierFlags.FunctionKeyMask:
print("Function key is pressed")
default:
print("no key or more than one is pressed")
}
}
但NSEventModifierFlags
中没有返回键的选项。
让我知道你的想法?我该如何解决这个问题?
答案 0 :(得分:1)
我建议你使用以下方法让keyCode理解它是一个移位,返回键还是你想要检测的任何东西,如果你有所需的键,执行你的逻辑。
import Cocoa
class YourWindow: NSWindow {
override func keyDown(event: NSEvent) {
super.keyDown(event)
print("Caught a key down: \(event.keyCode)!")
}
}
您还可以使用keyUp
活动