Masukan Kunci

Berdasarkan properti Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT , yang didefinisikan dalam hardware/libhardware/include/hardware/vehicle.h , Android Automotive menangani input kunci dari elemen yang mencakup sakelar jarak jauh kemudi, tombol perangkat keras, dan panel sentuh.

Misalnya, pengiriman peristiwa utama melalui jaringan bus CAN:

Acara kunci

Gambar 1. Peristiwa kunci Android Automotive melalui alur CANbus.

Data Peristiwa Utama

Data berikut dilampirkan ke setiap peristiwa penting di Vehicle HAL:

  • Tindakan input (atas/bawah):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
    
  • Kode kunci dipetakan ke kunci Android dalam implementasi mitra dari Vehicle HAL.
  • Tampilan target (klaster utama/instrumen):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
    

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

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