// // ViewController.swift // keyDownViewController // // Created by lsd on 9/9/15. // Copyright © 2015 inDabusiness. All rights reserved. //
import Cocoa
class ViewController: NSViewController {
@IBOutlet var textField: NSTextField! @IBOutlet weak var inputText: NSTextField! var comandKeyDown = false override func viewDidLoad() { super.viewDidLoad() if let pdfURL = NSBundle.mainBundle().URLForResource("IBM412-CID", withExtension: "pdf"){ if NSWorkspace.sharedWorkspace().openURL(pdfURL) { print("url successfully opened") } } NSEvent.addLocalMonitorForEventsMatchingMask(.KeyDownMask) { (aEvent) -> NSEvent? in self.keyDown(aEvent) return aEvent } } override var representedObject: AnyObject? { didSet { // Update the view, if already loaded. } } override func keyDown(theEvent:NSEvent) { print(comandKeyDown) print(theEvent.keyCode ) if theEvent.keyCode == 36 && theEvent.modifierFlags.rawValue == 1048840 { print("command-return was pressed") } if theEvent.keyCode == 37 && theEvent.modifierFlags.rawValue == 1048840 { print("command-L pressed") } if theEvent.keyCode == 76 && theEvent.modifierFlags.rawValue == 1048840 { print("command-enter was pressed") } textField.stringValue = "key = " + (theEvent.charactersIgnoringModifiers ?? "") textField.stringValue += "\ncharacter = " + (theEvent.characters ?? "") textField.stringValue += "\nmodifier = " + theEvent.modifierFlags.rawValue.description } override func flagsChanged(theEvent: NSEvent) { switch theEvent.modifierFlags.rawValue { case 256: print("No modifiers keys are pressed") case 1048840 where theEvent.keyCode == 36: print("command-L pressed") case 0: print("") default: print(comandKeyDown) } comandKeyDown = theEvent.modifierFlags.rawValue == 1048840 print(theEvent.modifierFlags.rawValue) if theEvent.modifierFlags.rawValue == 1048840 { print(comandKeyDown) } }
}