Tuş girişi, Tuş girişi

hardware/libhardware/include/hardware/vehicle.h dosyasında tanımlanan VEHICLE_PROPERTY_HW_KEY_INPUT Araç HAL özelliğini temel alan Android Automotive, direksiyon uzaktan kumanda anahtarları, donanım düğmeleri ve dokunmatik panelleri içeren öğelerden gelen anahtar girişini yönetir.

Örneğin, bir CAN veri yolu ağı üzerinden önemli bir olayın gönderilmesi:

Önemli olay

Şekil 1. CANbus akışındaki Android Automotive önemli olayları.

Önemli etkinlik verileri

Araç HAL'indeki her önemli olaya aşağıdaki veriler eklenir:

  • Giriş eylemi (yukarı/aşağı):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
    
  • Araç HAL'inin iş ortağı uygulamasında Android anahtarlarıyla eşlenen anahtar kodu.
  • Hedef ekranı (ana/gösterge paneli):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
    

Gösterge panelindeki anahtar giriş işleme, CarInputService kullanır (aynı servis, araçtaki düzenli giriş işleme için de kullanılır). Önemli olaylar InstrumentClusterRenderingService yayılır:

public class MyClusterRenderingService extends
InstrumentClusterRenderingService {
    ...
    @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to
    Presentation? */ }
}
,

hardware/libhardware/include/hardware/vehicle.h dosyasında tanımlanan VEHICLE_PROPERTY_HW_KEY_INPUT Araç HAL özelliğini temel alan Android Automotive, direksiyon uzaktan kumanda anahtarları, donanım düğmeleri ve dokunmatik panelleri içeren öğelerden gelen anahtar girişini yönetir.

Örneğin, bir CAN veri yolu ağı üzerinden önemli bir olayın gönderilmesi:

Önemli olay

Şekil 1. CANbus akışındaki Android Automotive önemli olayları.

Önemli etkinlik verileri

Araç HAL'indeki her önemli olaya aşağıdaki veriler eklenir:

  • Giriş eylemi (yukarı/aşağı):
    VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0,
    VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
    
  • Araç HAL'inin iş ortağı uygulamasında Android anahtarlarıyla eşlenen anahtar kodu.
  • Hedef ekranı (ana/gösterge paneli):
    VEHICLE_DISPLAY_MAIN               = 0,
    VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
    

Gösterge panelindeki anahtar giriş işleme, CarInputService kullanır (aynı servis, araçtaki düzenli giriş işleme için de kullanılır). Önemli olaylar InstrumentClusterRenderingService yayılır:

public class MyClusterRenderingService extends
InstrumentClusterRenderingService {
    ...
    @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to
    Presentation? */ }
}