ioctl проверяет состояние сдвига, ошибка возврата, неверный аргумент - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь запустить пример кода, как показано ниже.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;
}
...