Hi! I am writing a C++ program and I want to integrate global hotkeys capabilities. There are ways to implement global hotkeys in objective-c, like by using DDHotkey or CGEventTap. Setting aside the problems of invoking objective-c code from c++ code, my question is quite simple. (Using one of the techniques noted above) After I register a hotkey and I press that hotkey, what happens next? Is the program suspended and the event handler called right away? Or do I just call some function (whenever I want to), which calls the appropriate handlers if a hotkey was fired by that time? What is the program's flow like? As you might see, I do not understand the big picture. All I see is a pile of code snippets, which tell me nothing. I am very new to Mac OS X development. Extra credit question: is DDHotkey legacy, because it's based on Carbon, which is deprecated? Please, let me kindly ask you to clarify the above points.