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