This posting is older than 6 months and can contain outdated information.
Hi Gaurav,
rest assured, that the kernel extension is not to blame. But, yes, of
course there is a difference when you use the kernel extension:
With the kernel extension, Remote Buddy accurately can measure the
beginning and end of a press of the Play button, so that if you press
the button for five secs, the associated press and release events
inside Remote Buddy will also be five seconds from one another, with
frequent repeat events filling the time inbetween.
Apple's driver, on the other end, does not support any of this. It
generates a press event *immediately* followed by a release event, so
no matter how long you press the play button, the application will
always be told you did it for zero seconds.
The same press of the Play (or Menu) button for 5 seconds will
generate this (with timestamps):
Kernel extension:
Press (0.5 s) ... Repeat (0.52s) .. Repeat (0.54s) .. Repeat
(0.56s) .. .. Release (5.0 s)
Apple driver:
Press (0.5 s) .. Release (0.5 s) .. completely ignores the remaining
4.5 seconds of your button press
So, if you chose the wrong settings for your action, it will be
executed repeatedly for the true duration of the button press with
the kernel extension - and executed only once with Apple's driver,
irrespective of how long you press that button.
If you only want your custom action to be executed *once* regardless
of the length of your button press, be sure to choose the right
settings in its actors:
- for keyboard actors, set "Operation" to "Single key press on button
press".
- for AppleScript actors, set "Execute on" to "button press".
If you chose a built-in action and it misbehaves, please let me know.
Hope that helps.
Best regards,
Felix