Entrada clave, entrada clave

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

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

Evento clave

Figura 1. Eventos clave de Android Automotive sobre el flujo de CANbus.

Datos clave del evento

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

  • 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 asociada de Vehicle HAL.
  • Pantalla de destino (principal/grupo de instrumentos):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
    

El manejo de entradas clave en el grupo de instrumentos utiliza CarInputService (el mismo servicio que se utiliza para el manejo de entradas regulares en el vehículo). Los eventos clave se propagan a InstrumentClusterRenderingService :

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

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

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

Evento clave

Figura 1. Eventos clave de Android Automotive sobre el flujo de CANbus.

Datos clave del evento

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

  • 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 asociada de Vehicle HAL.
  • Pantalla de destino (principal/grupo de instrumentos):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
    

El manejo de entradas clave en el grupo de instrumentos utiliza CarInputService (el mismo servicio que se utiliza para el manejo de entradas regulares en el vehículo). Los eventos clave se propagan a InstrumentClusterRenderingService :

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