rework the osx implementation to look at all devices

avoids the wacky api of key and value matching