Je dois un appareil qui n'a pas de prise casque de 3,5 mm. À la place, il utilise mes écouteurs avec un adaptateur USB-C vers 3,5 mm. Si les haut-parleurs et le micro fonctionnent, ce n'est pas le cas des boutons. Les fonctions qui leur sont attribuées sont incorrectes. Play/Pause
fonctionne, mais Vol+
diminue le volume et Vol-
sélectionne des éléments à l'écran.
Je veux changer ce comportement. En utilisant l'application "KeyEvent Display", j'ai compris que
-
Vol+
déclenche "numéro de code de la clé linux" 114 -
Vol-
déclencheurs "numéro de code de la clé linux" 259 -
Play/Pause
déclenche "numéro de code clé linux" 226
L'utilisation de la Documentation Android J'ai compris que les boutons sont tous gérés par la fonction /system/usr/keylayout/Generic.kl
. J'ai pu obtenir le comportement attendu en modifiant les lignes suivantes :
key 114 VOLUME_UP
key 226 HEADSETHOOK
key 259 VOLUME_DOWN
Cependant, cela interfère avec la fonction d'autres boutons de mon téléphone !
C'est pourquoi je souhaite créer un fichier de configuration spécifique à l'appareil. Pour cela, j'ai besoin soit du nom de l'appareil, soit des identifiants du vendeur et du produit. (Comme expliqué dans la documentation Android.) Cependant, je ne sais pas comment les obtenir. L'application "USB Device Info" ne montre aucun appareil connecté. Voici le résultat abrégé de cat /proc/bus/input/devices
:
I: Bus=0000 Vendor=0000 Product=0003 Version=2061
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
I: Bus=0019 Vendor=0001 Product=0001 Version=0100
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
Pleine puissance : ici .
Résultats pertinents de "Under the Hood" : pastebin.com/kDeBNS0H
J'ai créé un fichier contenant le code ci-dessus et j'ai essayé de lui donner les noms de fichiers suivants (en redémarrant à chaque fois) : Vendor_0000_Product_0003.kl
, Vendor_0000_Product_0000.kl
, Vendor_0001_Product_0001.kl
mais rien n'y fait.
Quelqu'un peut-il m'aider ?