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

lire la touche "control" au clavier, c'est possible? - C++ - Programmation

Marsh Posté le 03-05-2003 à 15:45:42    

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

Reply

Marsh Posté le 03-05-2003 à 15:45:42   

Reply

Marsh Posté le 03-05-2003 à 17:47:06    

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
Reply

Marsh Posté le 04-05-2003 à 12:23:03    

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)

Reply

Marsh Posté le 04-05-2003 à 15:51:37    

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.

Reply

Marsh Posté le 04-05-2003 à 16:03:01    

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).

Reply

Marsh Posté le 04-05-2003 à 16:41:25    

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 ;-)

Reply

Marsh Posté le 07-05-2003 à 12:37:56    

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...

Reply

Marsh Posté le 07-05-2003 à 12:46:12    

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:  

Reply

Marsh Posté le 07-05-2003 à 13:12:30    

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.

Reply

Marsh Posté le 07-05-2003 à 13:19:34    

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...

Reply

Marsh Posté le 07-05-2003 à 13:19:34   

Reply

Marsh Posté le 07-05-2003 à 14:02:49    

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.
Reply

Marsh Posté le 07-05-2003 à 14:04:13    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed