Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1395 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  lire la touche "control" au clavier, c'est possible?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lire la touche "control" au clavier, c'est possible?

n°381240
zarmaras
Posté le 03-05-2003 à 15:45:42  profilanswer
 

Hello all!
J'ai un probleme: je suis en train de faire un interpreteur de commandes sous unix, et il faut qu'il soit capable de reconnaitre des combinaisons de touches qui commencent par control ou tab (ex: ctrl-a, ctrl-e, alt-x etc... donc une combinaison de 2 touches qui commence toujours par alt ou control)
 
J'arrive a lire les caracteres alphanumeriques avec un read() sur le 0 (clavier), mais pour lire que l'utilisateur a tape control ou alt, j'y arrive pas, qq aurait une solution ?
 
D'avance, merci

mood
Publicité
Posté le 03-05-2003 à 15:45:42  profilanswer
 

n°381322
Konar
Posté le 03-05-2003 à 17:47:06  profilanswer
 

hihihi, y a des gens ki font encore des shells dans la vie ? chuis bien content pour eux, c'est clair ke ca leur servira toute leur vie...
 
tiens, je t'ai sorti ca :
(t'as de la chance, ca aurait du etre effacé depuis longtemps)
 

Code :
  1. #define CONTROL_MASK 0x1f
  2. #define CONTROL_BIT 0x40
  3. #define META_BIT 0x80
  4. #define IS_CTRL_CHAR(c) ((c) < 0x20 && (c) >= 0)
  5. #define IS_META_CHAR(c) ((c) > 0x7f && (c) <= 255)
  6. #define TO_CTRL(c) ((c) & CONTROL_MASK)
  7. #define TO_META(c) ((c) | META_BIT)
  8. #define UN_CTRL(c) (((c) | CONTROL_BIT))
  9. #define UN_META(c) ((c) & (~META_BIT))
  10. #define ESC_SEQ  TO_CTRL('[')


 
et aussi ca : (on appelle ca 'séquences d'echappement' je crois). Tu fais un read(), et si ca correspond a une des séquences d'echappement prédéfinies, tu agis en conséquence...
 

Code :
  1. {
  2.   char c[3];
  3.   c[0] = TO_CTRL('L'); c[1] = 0; c[2] = 0; // clear-screen
  4.   c[0] = (char)TO_META('f'); c[1] = 0; c[2] = 0; // forward-word
  5.   c[0] = TO_CTRL('U'); c[1] = 0; c[2] = 0; // kill-whole-line
  6. }


 
voila, je sais pas trop si ca va te servir...


Message édité par Konar le 03-05-2003 à 17:47:55
n°381607
zarmaras
Posté le 04-05-2003 à 12:23:03  profilanswer
 

Yes, merci, je vais essayer :)
(entre parentheses, le shell je le fais pas par plaisir, c'est un proj a mon bahut, c'est bien paske j'ai pas le choix que je le fais)

n°381753
Konar
Posté le 04-05-2003 à 15:51:37  profilanswer
 

zarmaras a écrit :

Yes, merci, je vais essayer :)
(entre parentheses, le shell je le fais pas par plaisir, c'est un proj a mon bahut, c'est bien paske j'ai pas le choix que je le fais)


 
m'en doute bien, je crois bien qu'on m'a fait le meme coup.
 
bonne chance... avec un peu de bol t'auras pas 0.

n°381766
konar_spre​me
Posté le 04-05-2003 à 16:03:01  profilanswer
 

Konar a écrit :


bonne chance... avec un peu de bol t'auras pas 0.


 
Bien sûr que si. S'il fait un shell c'est qu'il est dans un bahut de merde (pas de nom) qui file 0 au mieux pour des projs pourris sous BSD (ms qui compile sur Digital Unix aussi).

n°381793
Kyle_Katar​n
Posté le 04-05-2003 à 16:41:25  profilanswer
 

konar_spreme a écrit :


 
Bien sûr que si. S'il fait un shell c'est qu'il est dans un bahut de merde (pas de nom) qui file 0 au mieux pour des projs pourris sous BSD (ms qui compile sur Digital Unix aussi).
 


 
Ca sent la private ça ;-)

n°385755
zarmaras
Posté le 07-05-2003 à 12:37:56  profilanswer
 

konar_spreme a écrit :


 
Bien sûr que si. S'il fait un shell c'est qu'il est dans un bahut de merde (pas de nom) qui file 0 au mieux pour des projs pourris sous BSD (ms qui compile sur Digital Unix aussi).
 


 

Konar a écrit :


bonne chance... avec un peu de bol t'auras pas 0.


 
Bien sûr que si. S'il fait un shell c'est qu'il est dans un bahut de merde (pas de nom) qui file 0 au mieux pour des projs pourris sous BSD (ms qui compile sur Digital Unix aussi).
 
Lol, en vla un qui sait etre hyper constructif...
Je suis a l'Epita, c'est une ecole privee d'ingenieur info et elle est classee 3e au niveau national, le diplome est connu dans toute l'Europe et aux states, tous nos projets marchent sur bsd, alpha et sunos, depuis septembre on a appris le C, le C++, le java, le SQL, Oracle et bien d'autres choses dont je ne me souviens pas, j'ai deja obtenu pour octobre un stage remunere de cinq mois a Boston.
 
J'ai pas cite le nom paske ca n'aurait pas servi pour ce qui est de repondre a ma question, visiblement Konar_spreme a les boules d'etre dans un bahut de merde et se vener apres tous ceux qui sont en ecole d'info, paske c'est forcement des bahuts moins pourris que le sien, c'est un comportement assez immature en soi...
Par contre si c'est le contraire et qu'il est dans une bonne ecole, c'est encore pire, il s'agira alors d'un gros connard double d'une grosse tete bien imbibee d'amour pour soi-meme (d'ou le pseudo en Konar_... qui me parait ici des plus justifies)
 
Voila, en gros t'es juste bien pitoyable, d'ailleurs je te plains, tu dois avoir une vie bien merdique pour te comporter de la sorte...

n°385764
zarmaras
Posté le 07-05-2003 à 12:46:12  profilanswer
 

Au fait, konar_spreme, j'ai bien daigne te repondre, mais faudra pas abuser avec tes posts, j'ai autre chose a faire que de moucher les morveux prepuberes...
Je retournerai sur le post dans une vingtaine de jours, si j'ai du temps a perdre pour lire ce que tu y aura mis (ce qui n'est pas sur), ne t'impatiente pas si je ne reponds pas de suite, ton cas est pathetique et j'ai vraiment autre chose a faire que de m'enerver apres un morbak aigri.
Pete un coup, essaie de te trouver une moeuf et de faire quelquechose de constructif de ta vie.  :hello:  

n°385784
konar_spre​me
Posté le 07-05-2003 à 13:12:30  profilanswer
 

zarmaras a écrit :

Au fait, ... plein de conneries effacées...


 
Je fini mon ing3 a Epita au moins de juin.
Donc je sais de quoi je parle.
Bahut de merde.

n°385790
Konar
Posté le 07-05-2003 à 13:19:34  profilanswer
 

zarmaras a écrit :


...depuis septembre on a appris le C, le C++, le java, le SQL, Oracle et bien d'autres choses dont je ne me souviens pas


 
parfait ca...

mood
Publicité
Posté le 07-05-2003 à 13:19:34  profilanswer
 

n°385877
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 07-05-2003 à 14:02:49  profilanswer
 

zarmaras a écrit :

Au fait, konar_spreme, j'ai bien daigne te repondre, mais faudra pas abuser avec tes posts, j'ai autre chose a faire que de moucher les morveux prepuberes...


En même temps, vu comment tu te la pètes avec ton école d'ingé, je me demande lequel de vous deux est le plus morveux [:meganne]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°385883
harrysauce
Miaaaooou!
Posté le 07-05-2003 à 14:04:13  profilanswer
 

Taiche a écrit :


En même temps, vu comment tu te la pètes avec ton école d'ingé, je me demande lequel de vous deux est le plus morveux [:meganne]

+1


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  lire la touche "control" au clavier, c'est possible?

 

Sujets relatifs
ecrire et lire dans un fichier en visual basic 6 ?Est-ce possible d'intégrer un jukebox en html???
Est-ce possible d'appeler une DLL (en C++) avec PHP ?[gnuplot] Il ne veut pas lire la 3° colonne ??
afficher le texte d'1 fichier txt dans une page htm sans php possible?[ASM]Lecture clavier sans echo sans attente...
SendKeys : quelle chaine de caractère pour touche "Windows"[C] Lire un fichier texte
Insérer dynamiquement un control ds une frame?[RESOLU][VB6.0] Comment connaître l'index du control qui a le focus?
Plus de sujets relatifs à : lire la touche "control" au clavier, c'est possible?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR