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:
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? */ } }