Entrada de clave

Según la propiedad VEHICLE_PROPERTY_HW_KEY_INPUT de la HAL del vehículo, definida en hardware/libhardware/include/hardware/vehicle.h, Android Automotive controla la entrada de teclas de elementos que incluyen interruptores remotos del volante, botones de hardware y paneles táctiles.

Por ejemplo, el envío de un evento de tecla a través de una red de bus CAN:

Evento clave

Figura 1: Eventos clave de Android Automotive a través del flujo de CANbus.

Datos de eventos clave

Los siguientes datos se adjuntan a cada evento clave en el sistema HAL del vehículo:

  • Acción de entrada (arriba/abajo):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
  • Código de clave asignado a claves de Android en una implementación de socio del sistema HAL del vehículo.
  • Pantalla de destino (clúster principal o de instrumentos):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,

El control de entradas de teclas en el panel de instrumentos usa CarInputService (el mismo servicio que se usa para el control de entradas normal en el vehículo). Los eventos de teclas se propagan a InstrumentClusterRenderingService:

public class MyClusterRenderingService extends
InstrumentClusterRenderingService {
    ...
    @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to
    Presentation? */ }
}