Аналог Linux для Windows GetAsyncKeyState()

#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. 🙂