Я пытаюсь запустить пример кода, как показано ниже.Ioctl вернул -1, и ошибка «Неверный аргумент».Что я знаю, так это то, что ioctl здесь используется для проверки состояния сдвига.Ioctl возвращает успех, когда нажата клавиша Shift?Если нет, то как я узнаю, что нажатие клавиши shift выполняется с помощью ioctl?Плюс, это под xterm.
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
int main()
{
char shift_state;
shift_state = 6;
if (ioctl(0, TIOCLINUX, &shift_state) < 0) {
perror("ioctl TIOCLINUX 6 (get shift state)");
exit(1);
}
printf("%x\n", shift_state);
return 0;
}