키 입력

hardware/libhardware/include/hardware/vehicle.h 에 정의된 차량 HAL 속성 VEHICLE_PROPERTY_HW_KEY_INPUT 을 기반으로 Android Automotive는 조종 원격 스위치, 하드웨어 버튼, 터치 패널을 포함한 요소의 키 입력을 처리합니다.

예를 들어, CAN 버스 네트워크를 통해 주요 이벤트를 전달합니다.

주요 이벤트

그림 1. CANbus 흐름을 통한 Android Automotive 주요 이벤트.

주요 이벤트 데이터

차량 HAL의 각 주요 이벤트에는 다음 데이터가 첨부됩니다.

  • 입력 동작(위/아래):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
    
  • 차량 HAL의 파트너 구현에서 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? */ }
}