我正在尝试从我的Arduino
调整iPhone的屏幕亮度,这就像键盘一样。不幸的是,我没有成功,因为我不知道要发送的确切扫描码。
我查看了ApplePS2Keyboard.cpp,发现0x69 (brightness down)
和0x6A (brightness up)
仅适用于我的Mac ,但这些扫描代码在iPhone上无效原因。
我还考虑使用Fn+F1
的关键组合,但似乎Fn
没有生成任何扫描代码,所以我无法继续。
[更新12/11/2012]:下载了KeyCodes应用并在我的Mac上运行,看起来Fn
键生成了0x800100
的修饰符,但“亮度上升”功能键不会生成任何键码。这是否意味着内核收到扫描代码0x6A
,然后立即转换为操作而不是密钥代码?
如果Apple的无线键盘同时适用于Mac和任何iOS设备,并且假设无论您使用哪个主机生成相同的扫描代码,为什么相同的扫描代码无效iOS设备?
我已经尝试通过循环来自0x2A to 0x80
的可能扫描代码来使用暴力,但它们都不起作用。我也尝试过强制消费者报告格式的所有排列,但这也不起作用。我的蓝牙模块是Roving Networks RN-42 HID。
请帮忙!谢谢!