Android 在AOSP中添加密钥码

Android 在AOSP中添加密钥码,android,Android,我需要在AOSP中添加keycodekeycode\u旋钮,并添加一个附加参数,如方向。钥匙事件将由工具触发 我已经定义了android要求的代码 在我的测试应用程序中,我实现了onKeyDown,在这里我收到了我的keycode,但方向信息缺失 java获取方法必须纠正方向值。我添加了一个获取方向的getter方法 此getDirection从应用程序“event.getDirection”调用。调用了该方法,但为“方向”打印的值仍然为0(未更改) 我怀疑其他模块是否会覆盖KeyEvent.j

我需要在
AOSP
中添加keycode
keycode\u旋钮
,并添加一个附加参数,如方向。钥匙事件将由工具触发

我已经定义了android要求的代码

在我的测试应用程序中,我实现了
onKeyDown
,在这里我收到了我的keycode,但方向信息缺失

java获取方法必须纠正方向值。我添加了一个获取方向的getter方法

getDirection
从应用程序
“event.getDirection”
调用。调用了该方法,但为“方向”打印的值仍然为0(未更改)


我怀疑其他模块是否会覆盖KeyEvent.java中定义的
mDirection

注意:如果在此处添加新的密钥码,则还必须将其添加到:

  • isSystem()
  • isWakeKey()
  • frameworks/native/include/android/keycodes.h
  • frameworks/native/include/input/InputEventLabels.h
  • frameworks/base/core/res/res/values/attrs.xml
此外,Android目前没有为特定于供应商的密钥代码保留代码范围。如果您有新的关键代码,则必须向开源项目提供一个补丁来定义这些新代码。 这是为了在所有Android设备上保持一组一致的关键代码定义。

用于旋转旋钮;又称作电位计


这是最常见的方式;如果想要控制软件,那些无休止旋转的软件是最好的,因为它们不必拧紧它们,直到它们绕过受控软件中的当前值,但它们使用相对值(尽管不会有任何物理上明显的最小或最大位置)。这个
KEYCODE\u旋钮的想法有一个很大的问题:只能有一个旋钮-那么,当你需要第二个旋钮时,怎么样?

我确实这样做了。我在网上找到的另一个文档的帮助下成功地实现了它。你的回答当然有帮助。谢谢你。我将在这里共享文档。@SajidKhan您能在这里共享文档吗?很抱歉,我现在看到了评论,找不到文档。我的问题的解决方案是,我没有在framework/native/中的“InputTransport.cpp”中添加步骤和方向。Input dispatcher将keyevent对象传递给InputTransport,并从InputTransport请求keyevent对象的清理副本。因为这里遗漏了“步骤”和“方向”的声明。我可以提供详细的答案,如果有人需要。