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 direccionamiento, botones de hardware y paneles táctiles.

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

Evento clave

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

Datos de eventos clave

Se adjuntan los siguientes datos a cada evento clave en la 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 tecla asignado a las claves de Android en una implementación de socios de la HAL del vehículo.
  • Pantalla objetivo (clúster principal o de instrumentos):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,

El control de entradas de teclas en el clúster de instrumentos usa CarInputService (el mismo que el servicio usa para el manejo de entradas normales en el vehículo). Los eventos de tecla se propagan InstrumentClusterRenderingService:

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