hardware/libhardware/include/hardware/vehicle.h
में बताई गई Vehicle HAL प्रॉपर्टी VEHICLE_PROPERTY_HW_KEY_INPUT
के आधार पर, Android Automotive उन एलिमेंट से मिले मुख्य इनपुट को मैनेज करता है जिनमें स्टीयरिंग रिमोट स्विच, हार्डवेयर बटन, और टच पैनल शामिल हैं.
उदाहरण के लिए, CAN बस नेटवर्क पर किसी मुख्य इवेंट को डिस्पैच करना:
पहली इमेज. CANbus फ़्लो पर Android Automotive के मुख्य इवेंट.
मुख्य इवेंट का डेटा
वाहन के एचएएल में हर मुख्य इवेंट के साथ यह डेटा अटैच होता है:
- इनपुट ऐक्शन (अप/डाउन):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- वाहन के एचएएल को लागू करने वाले पार्टनर के पास, Android की बटन को मैप करने वाला कोड होता है.
- टारगेट डिसप्ले (मुख्य/इंस्ट्रूमेंट क्लस्टर):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
इंस्ट्रूमेंट क्लस्टर में बटन के इनपुट को मैनेज करने के लिए CarInputService
का इस्तेमाल किया जाता है. यह वही सेवा है जिसका इस्तेमाल, वाहन में सामान्य इनपुट मैनेज करने के लिए किया जाता है. मुख्य इवेंट, InstrumentClusterRenderingService
पर भेजे जाते हैं:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }