Ввод
int getkbm(void);
getkbm получает о нажатиях клавиш на клавиатуре или кнопок мыши.
В отличие от getch специальные клавиши не разделяются на два кода (0 и скан-код), а возвращается одно значение - KEY_SPECIAL+скан-код. Состояние управляющих клавиш доступно через глобальную переменную _controlkeystate.
Для кнопок мыши возвращаются значения MOUSE_LCLICK, MOUSE_LDBLCLICK, MOUSE_RCLICK, MOUSE_RDBLCLICK, MOUSE_WHEELUP, MOUSE_WHEELDOWN. Конкретные координаты события и состояние кнопок доступны через глобальные переменные _mousex, _mousey, _mousebuttons.
При изменении размеров окна с помощью всплывающего меню (пункт "Свойства") возвращается значение WINDOW_RESIZE.
int kbmhit(void);
kbmhit проверяет, произошло или одно из событий: нажатие клавиши на клавиатуре или кнопки мыши, изменение размеров окна. Информация о событии может получена функцией getkbm.
Если событие произошло, возвращается ненулевое
значение, иначе - 0.
int getch(void);
Считать код нажатой клавиши на клавиатуре. Если клавиша не нажата, то ожидать нажатия. Для специальных клавиш функция сначала возвращает число 0, затем скан-код. Для обычных клавиш - ASCII-код.
Специальными клавишами являются KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_NUM_LOCK, KEY_SCROLL_LOCK, KEY_HOME, KEY_UP, KEY_PGUP, KEY_LEFT, KEY_CENTER (кнопка 5 при выключенном NumLock), KEY_RIGHT, KEY_END, KEY_DOWN, KEY_PGDN, KEY_INSERT, KEY_DELETE, KEY_CTRL, KEY_SHIFT, KEY_ALT.
Обычными клавишами - остальные, включая KEY_ESC, KEY_TAB, KEY_BACKSPACE, KEY_ENTER.
int getche(void);
getche получает символ с консоли и отображает его на экран. Функция игнорирует специальные клавиши.
int kbhit(void);
kbhit проверяет, была ли нажата клавиша на клавиатуре.
Если клавиша нажата, возвращается ненулевое
значение, иначе - 0. Код нажатой клавиши может быть получен через getch.
extern int _controlkeystate;
Переменная, в которой хранится текущее состоние управлящих клавиш (Ctrl, Shift, Alt)
extern int _mousebuttons, _mousex, _mousey;
Переменные, в которых хранятся текущее положение и состояние кнопок мыши.
int ungetch(int ch);
ungetch возвращает символ ch обратно на консоль, поэтому он будет следующим прочитанным символом. Функция ungetch не будет выполнена, если она вызывается более одного раза перед
следующим чтением.
char *cgets(char *str);
Ввод строки. В str[0] нужно указать максимальную длину вводимой строки. В str[1] будет возвращена длина введенной строки. Функция возвращает указатель str+2. Длина массива должна быть равна str[0]+2.
int cscanf(const char *format[,аргумент,...]);
Функция вводит строку с помощью cgets, а затем использует format для занесения информации в аргументы.
wchar_t *cgetws( wchar_t *str );
wchar_t getwch(void);
wchar_t ungetwch(wchar_t ch);
wchar_t getwche(void);
int cwscanf( const wchar_t *format[,аргумент,...]);
Дополнительные полезные функции для кодировки Unicode.