Bricolaj GPS moto

In timp ce astept capacul, ma joc cu butoanele GPIO in Android.
Se pare ca Android foloseste si trimite catre aplicatii niste keycodes pentru diversele functii ale butoanelor. Acele keycodes sunt date de un keyboard layout file in functie de keycodes-urile trimise de kernel. La randul lor, kernel keycodes sunt trimise de driverul de tastatura si, surprize-surprize, sunt DIFERITE de keycodes-urile Android-ului. Si ca sa fie totul perfect zapacit, driverul de tastatura trimite kernel keycodes in functie de butonul fizic apasat, adica pozitia lui pe tastatura, NU functia butonului. Adica o tastatura in franceza va trimite exact aceleasi QWERTY keycodes ca si una americana, chiar daca codurile nu corespund cu eticheta butoanelor.
Revenind...
Conectez eu niste butoane acolo..., adaug un device overlay cu gpio-key pentru fiecare buton, aloc niste keycodes de-ale Android-ului, si apoi ma minunez juma' de zi cum apas butonul G si pe ecran apare K, cum apas enter si el face shutdown, cum apas dreapta si el se crash-uie, etc. etc. :capu:
 
Asta e kindof normal, pentru că apăsând "Z" pe tastatura franceză, care nu e configurată în OS, de obicei obții "Y", plus că trebuie să suporți și modifier keys, în funcție de care fiecare tastă poate să fie cu totul altceva.
 
Documentatia androidului e bestiala:
If the input device has any keys that are mapped to KEYCODE_DPAD_UP, KEYCODE_DPAD_DOWN, KEYCODE_DPAD_LEFT, KEYCODE_DPAD_RIGHT, and KEYCODE_DPAD_CENTER (all must be present), then the device is considered to have a directional keypad.

Doua pagini mai incolo:
Legacy Unsupported Keys
These mappings appeared in previous versions of Android but were inconsistent with HID or used non-standard Linux key codes. They are no longer supported.
[...]
LKCLinux Key Code NameVersionAKCAndroid Key Code NameNotes
0x00e8KEY_CENTER1.60x0017KEYCODE_DPAD_CENTER4
 
Era cât pe ce să spun că e Marius, dar mi-am adus aminte că el tocmai și-a lansat pe orbită propriul sistem GNSS. :tongue:
 

Attachments

  • Screenshot_20190819-112736.png
    Screenshot_20190819-112736.png
    1.2 MB · Views: 37
Back
Top