IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Lecture clavier en c


Sujet :

C

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut Lecture clavier en c
    Bonjour,

    Je débute en C, et je bute sur un problème qui ne doit pas être bien compliqué à résoudre, vous allez certainement pouvoir m'aider.

    Je possède un routeur Soekris net4801 qui tourne sous FreeBSD (version embedded) avec diverses fonctions. Sur ce routeur, je souhaite connecter une imprimante ticket thermique série et un clavier usb (preh key tech). L'idée est de générer des tickets en foncion de la touche qui est pressée sur le clavier pour cela un vulgaire script shell et c'est réglé. Seul problème, comme il s'agit d'un os embedded, je ne peux pas utiliser kbdcontrol pour interfacer mon clavier à une console virtuelle (pas de consoles virtuelles en embedded). Je pense donc qu'il faut développer un petit prog en C qui scrute /dev/ukbd0 en attendant de recevoir des carractères du clavier puis en fonction des chaines reçues, exécuter le script shell correspondant. Je ne demande pas un prog clé en main, mais des conseils sur la réalisation de ce dernier.

    Merci d'avance pour vos réponses, Nico

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 485
    Par défaut
    Bonjour,

    Ton problème ne semble pas concerner le langage C en particulier. Il faudrait voir les spécifications de /dev/ukbd0 pour savoir comment l'exploiter mais, en lui-même, tu dois pouvoir l'ouvrir avec un fopen() ordinaire (avec éventuellement quelques ioctl()).

    Après, tout ce qu'il te manque, c'est une boucle qui lit le clavier et qui lance les processus. Tu peux le faire avec fork() et exec() mais si c'est pour lancer des scripts Shell de haut niveau, un bête system() est tout-à-fait indiqué.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut
    Merci pour cette réponse rapide, je vais essayer de développer mon prog avec fopen() et system(). Débutant oblige, je reviendrai sûrement vers vous pour vous faire part des problèmes auquels je serai confronté.

    Cordialement, Nico

Discussions similaires

  1. Lecture clavier en php
    Par kaskarot dans le forum Langage
    Réponses: 5
    Dernier message: 08/02/2010, 13h01
  2. Probleme lecture clavier
    Par hebus44 dans le forum Débuter
    Réponses: 7
    Dernier message: 09/12/2009, 14h16
  3. [Lazarus] Lecture clavier en mode graphique
    Par ducelier dans le forum Lazarus
    Réponses: 6
    Dernier message: 23/07/2009, 22h28
  4. Lecture clavier caractere par caractere
    Par pracede2005 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 14/01/2008, 12h08
  5. Problème de lecture d'un entier au clavier
    Par Yakurena dans le forum C
    Réponses: 11
    Dernier message: 18/07/2005, 08h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo