00001
00003 #ifndef SLANG_TECLADO_H
00004 #define SLANG_TECLADO_H
00005
00006 namespace Slang {
00007
00021 class Tecla {
00022 public:
00023
00031 enum TeclaEnum {
00032 nulo = 0,
00033 ctrl_a = 1,
00034 ctrl_b = 2,
00035 ctrl_c = 3,
00036 ctrl_d = 4,
00037 ctrl_e = 5,
00038 ctrl_f = 6,
00039 ctrl_g = 7,
00040 ctrl_h = 8,
00041 ctrl_i = 9,
00042 ctrl_j = 10,
00043 ctrl_k = 11,
00044 ctrl_l = 12,
00045 ctrl_m = 13,
00046 ctrl_n = 14,
00047 ctrl_o = 15,
00048 ctrl_p = 16,
00049 ctrl_q = 17,
00050 ctrl_r = 18,
00051 ctrl_s = 19,
00052 ctrl_t = 20,
00053 ctrl_u = 21,
00054 ctrl_v = 22,
00055 ctrl_w = 23,
00056 ctrl_x = 24,
00057 ctrl_y = 25,
00058 ctrl_z = 26,
00059 refresca = 12,
00060 cima = 0x101,
00061 baixo = 0x102,
00062 esquerda = 0x103,
00063 direita = 0x104,
00064 pagina_anterior = 0x105,
00065 pagina_seguinte = 0x106,
00066 casa = 0x107,
00067 fim = 0x108,
00068 a1 = 0x109,
00069 a3 = 0x10A,
00070 b2 = 0x10B,
00071 c1 = 0x10C,
00072 c3 = 0x10D,
00073 refaz = 0x10E,
00074 desfaz = 0x10F,
00075 apaga_para_tras = 0x110,
00076 entrada = 0xD,
00077
00078 insere = 0x112,
00079 apaga = 0x113,
00080 F0 = 0x200,
00081 F1 = 0x201,
00082 F2 = 0x202,
00083 F3 = 0x203,
00084 F4 = 0x204,
00085 F5 = 0x205,
00086 F6 = 0x206,
00087 F7 = 0x207,
00088 F8 = 0x208,
00089 F9 = 0x209,
00090 F10 = 0x20A,
00091 F11 = 0x20B,
00092 F12 = 0x20C,
00093 erro = 0xFFFF
00094 };
00095
00098 Tecla(TeclaEnum tecla);
00099
00101 operator TeclaEnum () const;
00102
00106 char comoChar() const;
00107
00110 bool deslocamento() const;
00112 bool caractere() const;
00113
00114 private:
00115 TeclaEnum tecla;
00116 };
00117
00199 class Teclado {
00200 public:
00201 Teclado();
00202 ~Teclado();
00203
00207 bool teclaDisponivel(int decimos_de_segundo = 0) const;
00208
00210 Tecla tecla();
00212 void limpa();
00213
00214 private:
00215 static bool existe_instancia;
00216 };
00217
00222 extern Teclado teclado;
00223 }
00224
00225
00226 #include "teclado_impl.H"
00227
00228 #endif // SLANG_TECLADO_H