Как считать нажатие клавиши - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Добрый день, начинаю изучать си, подскажите как считать событие при нажатии клавиши up, down, left, ... пытаюсь создать программу для управления роботом нужно что бы при нажатии UP (без нажатие ENTER) запускалась команда "вперед", а когда кнопка отжималась останавливалась, как это сделать?

Решение задачи: «Как считать нажатие клавиши»

textual
Листинг программы
#include <stdio.h>
#include <termios.h>
 
static struct termios stored;
 
void init() {
    struct termios settings;
 
    tcgetattr(0, &stored);
 
    settings = stored;
 
    settings.c_lflag &= (~ICANON);
    settings.c_lflag &= (~ECHO);
    settings.c_cc[VTIME] = 0;
    settings.c_cc[VMIN] = 1;
 
    tcsetattr(0, TCSANOW, &settings);
}
 
void reset() {
    tcsetattr(0, TCSANOW, &stored);
}
 
int main() {
    char ch;
 
    init();
 
    while ((ch = getc(stdin)) != 'q') {
        printf("key = %d\n", ch);
    }
 
    reset();
 
    return 0;
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы