Bonjour,
J'ai une cible embarquée (ARM11) avec un écran lcd 7", ainsi que trois boutons, le tout avec un debian perso.
Mon dernier travaille a été de gérer les boutons. Pour celà, j'ai défini 3 gpio-keys dans la définition de ma plateforme:
Ceci se traduit par la création d'un /dev/input/event0. Pour info, j'ai un event1 qui correspond à ma dalle tactile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 static struct gpio_keys_button my_buttons[] = { { .gpio = S3C64XX_GPN(0), .code = KEY_F1, .type = EV_KEY, .desc = "Button1", .active_low = 1, .debounce_interval = 20, }, { .gpio = S3C64XX_GPN(2), .code = KEY_F2, .type = EV_KEY, .desc = "Button2", .active_low = 1, .debounce_interval = 20, }, { .gpio = S3C64XX_GPN(4), .code = KEY_F3, .type = EV_KEY, .desc = "Button3", .active_low = 1, .debounce_interval = 20, } };
Souhaitant vérifier son fonctionnement, j'appelle, via une console série, un
.. sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part evtest /dev/input/event0
Après plusieurs manipulations, je me rends compte de plusieurs choses:
1- Lancer mon appli (Qt) puis la quitter permet de faire fonctionner mon evtest qui remonte bien des événements clavier.
2- Une fois mon appli quittée, l'appui sur les touches affiche le caractère correspondant sur la console de l'écran 7" alors que ma console série ne sort rien si je n'appelle pas mon evtest (ce qui me va très bien).
3 - Si je tente d'ouvrir le /dev/input/event0 dans mon appli, seul le premier évènement est attrapé.
4 - Le même programme sur Ubuntu fonctionne très bien...
De là je me pose deux questions:
1 - Pourquoi ce déblocage par mon appli?
2 - Pourquoi les caractères sortent sur la console du 7"
J'espère avoir quelques clefs pour résoudre ce problème
Merci d'avance
Partager