#c #linux #fedora #keyboard-input
#c #linux #fedora #ввод с клавиатуры
Вопрос:
Существует ли какой-либо Linux-аналог функции Windows GetAsyncKeyState() ? Или, может быть, существует какая-то асинхронная функция, которая возвращает — буфер клавиатуры пустой или нет?
Спасибо.
Ответ №1:
Ключевой вопрос здесь: для какой абстракции? X windows, ncurses или stdio? Linux не так прост и монолитен, как Windows.
Для stdio (обычная старая текстовая программа stdin / stdout) fgetc_unlocked
делает свое дело.
Комментарии:
1.
Linux isn't as simple and monolithic as Windows is.
. Это безвозмездное подтверждение.2. «Linux не так прост и монолитен, как Windows» — это абсолютно точный комментарий в контексте этого вопроса. 1
3. @Cicada: Это довольно упрощающее утверждение, но оператору нужно встать на правильный путь: если вы спрашиваете: «Удерживается ли нажата клавиша Y?» в системе UNIX, система UNIX с правильными кодами ошибок ответила бы EWHICHONE: » Какая клавиша Y? Я потенциально обслуживаю сотни пользователей, распределенных по всей планете, и половина из них, вероятно, использует считыватели Брайля или okuleles для ввода «.
4. Просто для информации: Linux использует монолитный подход со своим ядром, а не Windows, которая использует микроядерный подход. Просто для образовательных целей. Я ненавижу Winzozz, и я фанат Unix и пользователь Linux, Solaris и OSX. 🙂