Immissione tasto

In base alla proprietà HAL del veicolo VEHICLE_PROPERTY_HW_KEY_INPUT, definita in hardware/libhardware/include/hardware/vehicle.h, Android Automotive gestisce l'input da tasti di elementi che includono interruttori del telecomando dello sterzo, pulsanti hardware e pannelli touch.

Ad esempio, l'invio di un evento chiave su una rete CAN bus:

Evento chiave

Figura 1. Eventi chiave Android Automotive nel flusso CANbus.

Dati sugli eventi chiave

I seguenti dati sono associati a ogni evento chiave nell'HAL del veicolo:

  • Azione di input (su/giù):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
  • Codice chiave mappato alle chiavi Android in un'implementazione partner dell'HAL del veicolo.
  • Display di destinazione (principale/strumenti):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,

La gestione dell'inserimento delle chiavi nel quadro strumenti utilizza CarInputService (lo stesso servizio utilizzato per la normale gestione dell'inserimento nel veicolo). Gli eventi chiave vengono propagati a InstrumentClusterRenderingService:

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