Masukan kunci, Masukan kunci

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

Misalnya, pengiriman peristiwa penting melalui jaringan bus CAN:

Peristiwa penting

Gambar 1. Peristiwa penting Android Automotive melalui aliran CANbus.

Data peristiwa penting

Data berikut dilampirkan pada setiap peristiwa penting di HAL Kendaraan:

  • Tindakan masukan (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 Kendaraan HAL.
  • Tampilan target (kluster instrumen/utama):
    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? */ }
}
,

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

Misalnya, pengiriman peristiwa penting melalui jaringan bus CAN:

Peristiwa penting

Gambar 1. Peristiwa penting Android Automotive melalui aliran CANbus.

Data peristiwa penting

Data berikut dilampirkan pada setiap peristiwa penting di HAL Kendaraan:

  • Tindakan masukan (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 Kendaraan HAL.
  • Tampilan target (kluster instrumen/utama):
    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? */ }
}