Klawisze wejściowe

Na podstawie właściwości interfejsu HAL pojazdu VEHICLE_PROPERTY_HW_KEY_INPUT zdefiniowanej w pliku hardware/libhardware/include/hardware/vehicle.h system Android Automotive obsługuje wprowadzanie danych za pomocą elementów, takich jak przełączniki kierownicy, przyciski sprzętowe i panele dotykowe.

Na przykład wysyłanie kluczowego zdarzenia przez sieć CAN-bus:

Kluczowe zdarzenie

Rysunek 1. Zdarzenia kluczowe Androida Automotive w ramach przepływu danych CANbus.

Dane kluczowych zdarzeń

Do każdego kluczowego zdarzenia w interfejsie HAL pojazdu dołączane są te dane:

  • Działanie wprowadzania (w górę/w dół):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
  • Kod klucza zmapowany na klucze Androida w implementacji interfejsu Vehicle HAL przez partnera.
  • Wyświetlacz docelowy (główny lub panel instrumentów):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,

Obsługa danych wejściowych klucza w tablicy rozdzielczej korzysta z funkcji CarInputService (ta sama usługa obsługuje regularne dane wejściowe w samochodzie). Kluczowe zdarzenia są propagowane do: InstrumentClusterRenderingService:

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