Basé sur la propriété Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT
, définie dans hardware/libhardware/include/hardware/vehicle.h
, Android Automotive gère les entrées clés à partir d'éléments qui incluent les télécommandes de direction, les boutons matériels et les écrans tactiles.
Par exemple, envoi d'un événement clé sur un réseau bus CAN :
Figure 1. Événements clés d'Android Automotive sur le flux CANbus.
Données d'événements clés
Les données suivantes sont attachées à chaque événement clé dans le HAL du véhicule :
- Action de saisie (haut/bas) :
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Code clé mappé aux clés Android dans une implémentation partenaire du Vehicle HAL.
- Affichage cible (groupe principal/instrument) :
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
La gestion des entrées clés dans le groupe d'instruments utilise CarInputService
(le même service utilisé pour la gestion régulière des entrées dans le véhicule). Les événements clés sont propagés à InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } },
Basé sur la propriété Vehicle HAL VEHICLE_PROPERTY_HW_KEY_INPUT
, définie dans hardware/libhardware/include/hardware/vehicle.h
, Android Automotive gère les entrées clés à partir d'éléments qui incluent les télécommandes de direction, les boutons matériels et les écrans tactiles.
Par exemple, envoi d'un événement clé sur un réseau bus CAN :
Figure 1. Événements clés d'Android Automotive sur le flux CANbus.
Données d'événements clés
Les données suivantes sont attachées à chaque événement clé dans le HAL du véhicule :
- Action de saisie (haut/bas) :
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Code clé mappé aux clés Android dans une implémentation partenaire du Vehicle HAL.
- Affichage cible (groupe principal/instrument) :
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
La gestion des entrées clés dans le groupe d'instruments utilise CarInputService
(le même service utilisé pour la gestion régulière des entrées dans le véhicule). Les événements clés sont propagés à InstrumentClusterRenderingService
:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected void onKeyEvent(KeyEvent keyEvent) { /* Inject to Presentation? */ } }