взято здесь
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
#include <stdio.h> #include <bios.h> #include <ctype.h> #include <stdlib.h> #define RIGHT 0x0001 #define LEFT 0x0002 #define CTRL 0x0004 #define ALT 0x0008 int main(void) { system("CLS"); int key, modifiers; /* Функция 1 возвращает 0, пока не будет нажата клавиша. Ожидание ввода. */; /* now use function 0 to get return value of while (bioskey(1) == 0); /* Теперь используем функцию 0, чтобы получить значение клавиши */ key = bioskey(0); /* Используем функцию 2, чтобы определить, используются ли клавиши типа SHIFT */ modifiers = bioskey(2); if (modifiers) { printf("["); if (modifiers & RIGHT) printf("RIGHT "); if (modifiers & LEFT ) printf("LEFT "); if (modifiers & CTRL ) printf("CTRL "); if (modifiers & ALT ) printf("ALT "); printf("] "); } /* вывести символ нажатой клавишу */ if (isalnum(key & 0xFF)) printf("'%c'\n",key); else printf("%#02x\n",key); return 0; } |
Не соберётся.
1. Знаки пунктуации за знаками комментариев.
2. Функция при таком объявлении должна возвращать значение.
Ошибки поправимы.
Далее. Вот нажали мы f. И ты считаешь что вернулось f — это код клавиши f???? Если так, то мне ничего не понятно.