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:
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? */ } }