Release Notes

Changes in version 1.7 (05.09.2018):

  • Fix: Fixes an issue with up and down buttons not working properly under macOS 10.13.6: macOS 10.13.6 posts kHIDUsage_GD_SystemMenu[Up|Down] alongside kHIDUsage_Csmr_Volume[Increment|Decrement], which ends up being interpreted as a double press. To avoid this, these usages are ignored when running under 10.13.6 and later.
  • Updated build settings to no longer target i386 (which produces an error in recent Xcode versions)

Changes in version 1.6 (27.09.2017):

  • NEW: Support for macOS 10.13 (High Sierra)
  • NEW: ARC support
  • Enhancement: Thread-safety Hardening is now enabled by default for macOS 10.5 or later
  • Enhancement: pragma modernization
  • Fix: fixed typos

Changes in version 1.4 (18.02.2015):

  • Enhancement: Removed dependency on Carbon for projects targeting OS X 10.10 or later
  • Fix: Bugfixes relating to screen savers, secure input and access sharing

Changes in version 1.2 (27.05.2011):

  • Enhancement: HIDRemote hardened for running on a seperate thread (#define HIDREMOTE_THREADSAFETY_HARDENED_NOTIFICATION_HANDLING if you run HIDRemote from a thread other than the main thread)
  • Enhancement: When using HIDRemote in exclusive mode without exclusive lock lending, HIDRemote now posts notifications that the remote is available for re-use after all resources have been released/freed
  • Fix: Fixed a (rare) crash bug.

Changes in version 1.1.1 (16.12.2009):

  • Change: The kHIDRemoteButtonCodePlayHold code for the new aluminum Apple® Remote's "Play/Pause" button is now actually supported.

    But use it with care: the underlying problem is that the OS X driver uses the same HID button code for long presses of the "Center" button on white and long presses of the actually different "Play/Pause" button on the aluminum remote.

    In order to correctly translate that code in either kHIDRemoteButtonCodeCenterHold or kHIDRemoteButtonCodePlayHold, the remote control type needs to be known, first, which may not always be possible. This leaves you with three options:

    1. handle kHIDRemoteButtonCodeCenterHold and kHIDRemoteButtonCodePlayHold identically until -[HIDRemote lastSeenModel] returns something other than kHIDRemoteModelUndetermined. This may be confusing to the user.
    2. save -[HIDRemote lastSeenModel] on application exit and set it at application launch using -[HIDRemote setLastSeenModel:]. This should work fine in most use cases, but may pose a problem when a user uses different remote control models with your application.
    3. always handle the two button codes identically in your application to avoid any user confusion in the first place. This is what I recommend.

Changes in version 1.1 (13.11.2009):

  • NEW: Support for the new aluminum Apple® remote.
    • NEW: Separate button code for the new, additional Play/Pause button (currently OS 10.6.2 only)
    • NEW: Auto-detection of the remote model.
  • NEW: New, unified set of button codes for the white and aluminum remote.
  • Enhancement: Better workaround for the OS X SecureEventInput issue.

Changes in version 1.0 (22.10.2009):

  • Initial release.