begin process at 2012 05 28 13:53:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

[BC++]getch() kbhit() Y EN A PAS UNE AUTRE??


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[BC++]getch() kbhit() Y EN A PAS UNE AUTRE??

vendredi 11 janvier 2002 à 16:35:10 | [BC++]getch() kbhit() Y EN A PAS UNE AUTRE??

idk

J'ai un probleme! existe t'il une fonction qui dit si une touche du clavier et pressé et en meme tmps qui prenne le code de cette touche?
Un peu pres comme sur les calculette Ti 82 -83 (getkey)! Car en faite je veux faire un petit jeu ou une barre se deplace gauche-droite! Avec getch c'est une catastrophe! et avec kbhit +
getch aussi!
Merci!
jeudi 24 janvier 2002 à 09:38:35 | Re : [BC++]getch() kbhit() Y EN A PAS UNE AUTRE??

Croqmort

si tu est sous dos
ce que tu peut faire c'est detourner l'interruption clavier
sous bc++ ça donne ça :
#include <dos.h>
#define KEYBOARD_INT 0x09
#define KEY_BUFFER 0x60
#define KEY_CONTROL 0x61
#define INT_CONTROL 0X20

void _interrupt _far New_Key_Int();
void (_interrupt _far *Old_Kbd_Isr)();
void Initialise_Key();
void Key_Actif();
void Key_Inactif();

void Initialise_Key(){
Old_Kbd_Isr=_dos_getvect(KEYBOARD_INT);
};

void Key_Actif(){
_dos_setvect(KEYBOARD_INT, New_Key_Int);
};

void Key_Inactif(){
_dos_setvect(KEYBOARD_INT, Old_Kbd_Isr);
};


void _interrupt _far New_Key_Int(){
asm{
sti
in al, KEY_BUFFER
xor ah, ah
mov raw_key, ax
in al, KEY_CONTROL
or al, 82h
out KEY_CONTROL, al
and al, 7fh
out KEY_CONTROL, al
mov al, 20h
out INT_CONTROL, al
}
if(raw_key<128)
// la touche ayant pour code : "raw_key" est pressé
else
// la touche ayant pour code : "raw_key" est
relaché
}

bon c'est peut etre un peu violent comme methode mais j'ai fait un jeu de vaisseau avec et ça marche impec !

-----------------
Réponse au message :
-------------------------------

J'ai un probleme! existe t'il une fonction qui dit si une touche du clavier et pressé et en meme tmps qui prenne le code de cette touche?
Un peu pres comme sur les calculette Ti 82 -83 (getkey)! Car en faite je veux faire un petit jeu ou une barre se deplace gauche-droite! Avec getch c'est une catastrophe! et avec kbhit +
getch aussi!
Merci!


Cette discussion est classée dans : bc, touche, getch, kbhit


Répondre à ce message

Sujets en rapport avec ce message

gestion du clavier [ par Myts ] SalutJe programme sous TC++ (turbo c++) sous dos.Et j'ai un probleme concernant la gestion du clavier.Mon jeux, prochainement sur ce site, doit effect 2 boucles qui ne veulent pas marcher en mm tps [ par florian1121 ] Bonjour, g un probleme avec deux boucles que je n'arrive pas a faire marcher simultanément!!C soit l'une soit l'autre mais pas les deux en meme temps, Probleme pour kbhit [ par ChAnGy59 ] Bonjour a tous,Voila mon petit sousis, j'aimerai pouvoir sortir d'une boucle while en "frappant" la touche Q, a l'aide de kbhit. Je voulais savoir si Question sur Getch() et retour chariot [ par KutaJack ] Bonjour Je suis débutant en C++ et j'utilise getch() avec kbhit() suivit d'un switch pour pouvoir faire tel ou tel action en fonction de la touche ap détection d'une touche clavier sans arret [ par benorde33 ] Bonjour, Je suis en train de développer un programme en C (console Windows) permettant d'activer des sorties et réceptionner l'état de plusieurs entr touche du clavier [ par enoitnaillal ] Bonjour tout le monde, Existe-il un moyen de détecter l’appuis d’une touche particulière du clavier ? (y compris les touches de fonctions, sans avoir avoir deux touche en une seule [ par tiomas ] bonjour voila j'ai un petit probleme je cherche a activez et desactivez cette fonction avec une seule et meme touche,par exemple numpad 2 le code do activez et dasctivez une focntion avec une seule touche [ par tiomas ] bonjour a tous codeur codeuse ^^ je cherche a modifier le code ci dessus afin de pouvoir activez et desactivez cette focntion avec la seul et meme tou Retour du code ascii de toute touche du clavier [ par Debord10 ] Bjr! Je veux afficher les codes ascii des toutes les touches du clavier en appuyant sur une;les touches de direction doivent s'afficher en double;mais


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales