En fonction de la propriété HAL du véhicule VEHICLE_PROPERTY_HW_KEY_INPUT
, définie dans
hardware/libhardware/include/hardware/vehicle.h
, Android Automotive gère la saisie des touches
des éléments tels que les télécommandes de contrôle, les boutons physiques et les panneaux tactiles.
Par exemple, la distribution d'un événement clé sur un réseau de bus CAN:
Figure 1. . Événements clés Android Automotive sur le flux CANbus.
Données d'événement clé
Les données suivantes sont jointes à chaque événement clé dans le HAL du véhicule:
- Action d'entrée (haut/bas):
VEHICLE_HW_KEY_INPUT_ACTION_DOWN = 0, VEHICLE_HW_KEY_INPUT_ACTION_UP = 1,
- Code de clé mappé avec des clés Android dans une implémentation partenaire de la HAL du véhicule.
- Affichage cible (cluster principal/groupe d'instruments):
VEHICLE_DISPLAY_MAIN = 0, VEHICLE_DISPLAY_INSTRUMENT_CLUSTER = 1,
La gestion des entrées de touches dans le groupe d'instruments utilise CarInputService
(identique
pour le traitement normal 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? */ } }