Loading...

How to detect Delete key press in Swift?

question macOS swift
Ram Patra Published on August 14, 2020

Delete key press detection is slightly different than other keys. It uses NSDeleteCharacter like below:

event.charactersIgnoringModifiers == String(UnicodeScalar(NSDeleteCharacter)!) 

So, the complete code may look like:

NSEvent.addLocalMonitorForEvents(matching: .keyDown) {
    if self.keyDown(with: $0) {
        return nil // needed to get rid of purr sound
    } else {
        return $0
    }
}

private func keyDown(with event: NSEvent) -> Bool {
    if event.charactersIgnoringModifiers == String(UnicodeScalar(NSDeleteCharacter)!) {
    	print("Delete key presses!")
        return true
    } else {
    	return false
    }
}
Presentify

Take your presentation to the next level.

FaceScreen

Put your face and name on your screen.

ToDoBar

Your to-dos on your menu bar.

Ram Patra Published on August 14, 2020
Image placeholder

Keep reading

If this article was helpful, others might be too

question swiftui macOS January 26, 2024 How to hide the title bar in a SwiftUI macOS app?

Let’s say you have a view named ContentView and your main App file looks like this:

question swift macOS October 29, 2023 How to make Color conform to RawRepresentable in SwiftUI in macOS?

For various reasons you may want to convert the Color type to a String. And, below is a relatively cleaner way to do it.

question presentify macOS August 6, 2020 How to annotate or draw in JioMeet?

Reliance Jio has done a commendable job releasing a video conferencing app in a short time frame, however, it received criticisms that it copied pixel by pixel from Zoom. I actually agree with some of the criticisms but that’s for another blog post.