将密钥代码添加到AOSP中

时间:2019-01-03 13:52:25

标签: android

我需要将带有方向等附加参数的键码httr添加到RCurl中。关键事件将由工具触发。

我已经在android命令中定义了代码。

在我的测试应用程序中,我已经实现了KEYCODE_ROTARY_KNOB,在这里我收到了我的密钥代码,但是缺少方向信息。

KeyCode.java获取方法的确必须校正direction的值。我添加了一种获取路线的吸气方法。

AOSP从应用程序onKeyDown中调用。调用了该方法,但方向打印的值仍为0(未更改)。

我怀疑其他模块会覆盖getDirection中定义的"event.getDirection"

2 个答案:

答案 0 :(得分:1)

在KeyEvent.java中这样写:

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

  • isSystem()
  • isWakeKey()
  • frameworks / native / include / android / keycodes.h
  • frameworks / native / include / input / InputEventLabels.h
  • frameworks / base / core / res / res / values / attrs.xml

此外,Android当前不为供应商特定的键代码保留代码范围。如果您有新的关键代码,则必须为开源项目贡献一个补丁,以定义这些新代码。 这旨在在所有Android设备上维护一组一致的键代码定义。

答案 1 :(得分:0)

MIDI用于旋钮;又名电位计。

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