Моя проблема заключается в следующем:
Я хочу сделать программу, простой текстовый редактор, который может работать со всеми клавишами набора клавиатур, такими как функциональные клавиши (от F1 до F12), команда, Сдвиг влево, ALT или TAB.
Точнее, я хочу иметь возможность назначать все клавиши для определенных операций.
Я создал программу для распечатки значений ASCII этих ключей, но ключи не принимаются, как я хочу, моя тестовая программа распечатывает либо значения нескольких кодов ASCII, либо не принимаетэто все как при нажатии клавиши Command, вместо этого:
Моя тестовая программа для вывода значения ASCII нажатой клавиши:
#include <stdio.h>
int main (void)
{
char k;
printf("\n\n\n\n");
while(1)
{
printf("Please press any key:");
k = getchar();
getchar();
printf("ASCII code of given input key: %d",k);
printf("\n\n\n");
}
}
Вывод после нажатия клавиши F2:
Please press any key:^[OQ
ASCII code of given input key: 27
Please press any key:ASCII code of given input key: 81
Вывод после нажатия клавиши F2:
Please press any key:^[[15~
ASCII code of given input key: 27
Please press any key:ASCII code of given input key: 49
Please press any key:ASCII code of given input key: 126
Вывод после нажатия клавиши Command, Alt или левой клавиши:
Please press any key: // no reaction at all
Из-за того, что я думаю, что это должно быть сделано легко, потому что, конечно, нормально использовать все клавиши клавиатуры в программе, мне, как новичку, не так легко найти правильный способ достижениячто.
Я нашел этот вопрос здесь, на Stackoverflow, но он относится к C #: Специальные клавиши на клавиатурах
Почему я не могу получить значение ASCII этих клавиш?
Извините, если у меня может быть ошибочное впечатление, чтоВсе ключи принадлежат значениям ASCII.