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

Assembleur Discussion :

Stopper la répétition du clavier


Sujet :

Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Par défaut Stopper la répétition du clavier
    Bonour à tous,
    Je voudrais savoir si on peut stoper la répétition des touches lorsqu'elles sont enfoncées.
    Je sais que l'on peut définir les fréquences de répétition, mais la fréquence 0 RPS nest pas spécifiée dans Int 16h, Fct 03h.
    Quelqu'un a t il une solution?

  2. #2
    Membre expérimenté
    Avatar de TangiX
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 139
    Par défaut
    le plus simple : tu detourne la fct de l'int 16h qui te gene et tu la reecris

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Par défaut
    Oui,
    en fait j'ai déjà detouné l'int 09h, et donc j'ai écrit un morceau de code (à moitié pompé sur le site), mais il me semble que l'int 09h est appelée pour:
    -un appui
    -un relachement
    -une répétition

    Ex: je laisse la touche 'a' enfoncée, il sort à l'écran le caractere 'a' avec une certaine fréquence. Ca je n'an veux pas!

    Si en gardant la touche 'a' j'enfonce et relache la touche 'b', le caractere 'b' sort sur l'écran et le caractere 'a' ne sort plus alors que la touche est encore enfoncée. Là je suis heureux.

    Mais alors pourquoi dans le premier cas la touche 'a' sort à repetition?

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 051
    Billets dans le blog
    2
    Par défaut
    Bonjour !

    La répétition d'un caractère est générée directement par le contrôleur du clavier. Lorsqu'une touche est enfoncée assez longtemps pour déclencher la répétition, le contrôleur du clavier émet une série de codes d'enfoncement de la touche, sans codes de relâchement.

    Le boulot de l'Int 09h se borne grosso modo à copier les codes émis par le clavier dans le buffer du BIOS.

    C'est le BIOS (Int 16h) qui, ensuite, réagit différemment selon qu'il s'agit d'une touche normale ou d'une touche Shift, Ctrl, Alt... Donc, tu dois détourner l'interruption 16h.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Par défaut
    Ok , merci pour les infos, je vais regarder ce que je peux faire.

  6. #6
    Membre expérimenté
    Avatar de TangiX
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 139
    Par défaut
    il suffit de modifier l'int 9h pour ne plus avoir la répitition
    la répétition correspond au code d'appui
    donc tant que ya pa de relachement d'une touche, ne pa considerer l'appui

  7. #7
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    8 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 8 051
    Billets dans le blog
    2
    Par défaut
    Mais dans ce cas, il faut laisser passer les touches Ctrl, Alt, Shift, etc. Sinon, elles ne fonctionneront plus comme elles doivent. De plus, le code de ces touches varie d'un type de clavier à l'autre.

    Comme, en plus, le test de reconnaissance de ces touches sera à nouveau fait par l'Int 16h, ne serait-il pas plus judicieux de détourner celle-ci ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/04/2009, 08h11
  2. Réponses: 3
    Dernier message: 23/12/2008, 14h27
  3. stopper les event clavier firefox avec une alert
    Par ReiVon dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 05/08/2008, 16h15
  4. Delai de répétition des touches clavier
    Par Risike dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/05/2008, 15h26
  5. Problème de répétition de touche clavier ^^¨¨
    Par daniel50171 dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 14/09/2007, 01h53

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