I am trying to create a utility that doesn’t open a window when executed, and that would be activated from a hot key; I read that currently Cocoa doesn’t have a function for that, and that I should use a deprecated Carbon function.
Isn’t there really a way to use global hot keys in Cocoa? What should I do: wait for Cocoa to introduce a function for that, or use the carbon function until a similar function is not introduced in Cocoa?
Use the Carbon Event Manager’s
RegisterEventHotKeyfunction. This function is supported in 64-bit (notice that it lacks the “not available in 64-bit” availability note).Conversely, NSEvent’s new
addGlobalMonitorForEventsMatchingMask:handler:method in Snow Leopard is not the easiest way to implement a hot-key. For one thing, it requires that the user have access for assistive devices turned on; moreover, it requires you to examine every event yourself, as compared with theRegisterEventHotKeysystem, which only calls your callback function when the user presses the specific key you registered for.