разница между / dev / input / mouse0 и / dev / input / mice

Я работаю с USB-драйвером мыши, и я действительно не знаю, как разделить и использовать информацию, отправляемую /dev/input/mouse0 и /dev/input/mice

. После нескольких поисков в Google я нашел несколько кода об использовании /dev/input/mice

int fd, bytes;
unsigned char data[4];

const char *pDevice = "/dev/input/mice";

// Open Mouse
fd = open(pDevice, O_RDWR);
if(fd == -1)
{
    printf("ERROR Opening %s\n", pDevice);
    return -1;
}

int left, middle, right;
signed char x, y;

// Read Mouse
bytes = read(fd, data, sizeof(data));

if(bytes > 0)
{
    left = data[0] & 0x1;
    right = data[0] & 0x2;
    middle = data[0] & 0x4;

    x = data[1];
    y = data[2];
    printf("x=%d, y=%d, left=%d, middle=%d, right=%d\n", x, y, left, middle, right);

    if(left)
        return left;
    if(right)
        return right;
    if(middle)
        return middle;
}

return 0;

Эта программа работает, но не получила никакой информации о колесиковом прокрутке

Мне удалось найти программу, которая использует [ f6]

int fd;
struct input_event ev
const char* pFile = "/dev/input/event0";

fd = open(pFile, O_RDONLY);
if(fd == -1)
{
    printf("ERROR Opening %s\n", pFile);
    return -1;
}

read(fd, &ev, sizeof(ev));
std::cout << "type : " << ev.type << "  code : " << ev.code << "  value : " << ev.value << std::endl;

close(fd);

return 0;

Но есть проблема для диагонального перемещения, потому что этот файл сохранял только одну координату в одно и то же время, а координата X имеет приоритет на Y; так что это довольно раздражает, когда вы хотите переместить мышь на ось Y

Однако я не нахожу код для использования /dev/input/mouse0, поэтому какая информация сохраняется в этом файле?

Итак, мои вопросы: 1. Какая информация сохраняется в /dev/input/mouse0? 2. Как я могу прочитать всю информацию о мыши без открытия 2-х файлов и без проблемы приоритета (прокрутка прокрутки + перемещение оси X / Y)?

1
задан 5 June 2018 в 17:36

0 ответов

Другие вопросы по тегам:

Похожие вопросы: