Forum Linux.embarqué /dev/input/eventX bloqué tant qu'une appli Qt n'a pas été exécutée...

Posté par  .
Étiquettes :
-2
25
avr.
2012

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:

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,
    }
};

Ceci se traduit par la création d'un /dev/input/event0. Pour info, j'ai un event1 qui correspond à ma dalle tactile.

Souhaitant vérifier son fonctionnement, j'appelle, via une console série, un
evtest /dev/input/event0

sans succès…

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 :calim2:

Merci d'avance

  • # "mon appli"

    Posté par  . Évalué à 2.

    Elle fait quoi ton appli ? elle utilise ces touches ? Est ce que Qt fait des grab sur des evdev dans ton dos ? Est ce que il y a du X ?

    S'il y a du X avec driver evdev, il y aura des grabs, il faut juste vérifier quel périphérique se fait grabber.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.