J'ai un clavier Microsoft Mobile Wedge. Je l'ai connecté à ma Nexus 9 et après avoir défini la langue dans les paramètres, il fonctionne presque parfaitement. Presque ! Il y a 4 touches sur le clavier qui ne fonctionnent pas, parce que ce sont des touches multi-codes. Il s'agit de la touche "loupe", de la touche "3 points sur un anneau", de la touche "rectangle noir croisé avec bordure rectangulaire" et de la touche "vitesses/réglages".
Jusqu'à présent, j'ai découvert avec
getevent -lt /dev/input/event4
que les codes-clés Linux qu'ils envoient sont
KEY_LEFTSHIFT
KEY_LEFTMETA
KEY_F21
KEY_LEFTALT
KEY_LEFTMETA
KEY_F21
KEY_LEFTCTRL
KEY_LEFTMETA
KEY_F21
KEY_LEFTMETA
KEY_F21
J'ai créé les 2 fichiers à partir de leur Generic.kl
y Generic.kcm
contreparties
/system/usr/keylayout/Vendor_045e_Product_0790.kl
/system/usr/keychars/Vendor_045e_Product_0790.kcm
et s'est assuré avec
dumpsys input
qu'ils sont utilisés.
J'ai d'abord essayé d'activer F21 dans la mise en page, mais cela n'a pas fonctionné car il n'y a pas de code clé Android pour F21. Je l'ai donc lié à INSERT à la place, car c'est une touche inutilisée. Ensuite, je suis allé dans la carte des caractères et j'ai essayé de créer une touche INSERT (qui est en fait F21) et de lui appliquer les bons modificateurs.
key INSERT {
base: 'a'
lmeta: 'A'
}
Ce qui précède est pour la clé qui avait seulement 2 codes. Malheureusement, cela n'a pas fonctionné. Rien ne s'est produit. Donc maintenant, je suis ici pour prendre votre cerveau.
Quelqu'un sait-il comment faire des clés à codes multiples ?
Merci beaucoup d'avance.