Input tombol

Berdasarkan properti HAL Kendaraan VEHICLE_PROPERTY_HW_KEY_INPUT, yang ditentukan dalam hardware/libhardware/include/hardware/vehicle.h, Android Automotive menangani input tombol dari elemen yang mencakup tombol remote kemudi, tombol hardware, dan panel sentuh.

Misalnya, pengiriman peristiwa utama melalui jaringan bus CAN:

Peristiwa utama

Gambar 1. Peristiwa utama Android Automotive melalui alur CANbus.

Data peristiwa utama

Data berikut dilampirkan ke setiap peristiwa utama di HAL Kendaraan:

  • Tindakan input (atas/bawah):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
  • Kode kunci yang dipetakan ke kunci Android dalam implementasi partner HAL Kendaraan.
  • Tampilan target (cluster utama/instrumen):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,

Penanganan input kunci di cluster instrumen menggunakan CarInputService (layanan yang sama digunakan untuk penanganan input reguler di kendaraan). Peristiwa utama disebarkan ke InstrumentClusterRenderingService:

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