// =====================================================
// Просмотр клавиатурных кодов ASCII 
//
// (C) Фролов А.В, 1997
//
// E-mail: frolov@glas.apc.org
// WWW:    http://www.glasnet.ru/~frolov
//            или
//         http://www.dials.ccas.ru/frolov
// =====================================================
#include <conio.h>
#include <ctype.h>
#include <stdio.h>

int main(void)
{
  int key;
  
  printf("KBDASCII, (c) A. Frolov, 1997\n"
    "Press any key, <Esc> to exit\n");
  
  // Читаем в цикле символы с клавиатуры и отображаем
  // коды ASCII нажатых клавиш.
  // Выходим из цикла, когда пользователь нажимает
  // клавишу <Esc>
  for(;;) 
  {
    // Читаем символ
    key = getch();

    // Если прочитанный символ равен 0, вызываем функцию getch
    // для получения расширенного кода ASCII нажатой клавиши
    if((key == 0) || (key == 0xe0)) 
    {
      key = getch();
      printf("Extended code ASCII:\t" );
    }
    else 
      printf( "Code ASCII:\t");
    
    printf("%d\n",key);

    // Когда пользователь нажимает клавишу 
    // <Esc>. выходим из цикла
    if(key == 27) 
      break;
  }
  return 0;
}
