GetAsyncKeyState vs. Bluetooth headset Using the keyboard, the play/pause button behaves as expected but pressing the button in my Bluetooth headset does not. My solution to this bad implementation in the driver is to add a "is held" vs "is pressed"/"is clicked" in an @extended return: ( 1 = that is held, vs 0 = keyboard repeat ) See edit below. Func _IsPressed($sHexKey, $vDLL = "user32.dll") Local $aCall = DllCall($vDLL, "short", "GetAsyncKeyState", "int", "0x" & $sHexKey