Ядро Linux: Удалить обработчик ввода из драйвера - PullRequest
1 голос
/ 10 марта 2019

когда я вижу вывод cat /proc/bus/input/devices я вижу это:

I: Bus=0010 Vendor=0001 Product=0001 Version=0100
N: Name="aml_keypad"
P: Phys=keypad/input0
S: Sysfs=/devices/c8100580.rc/input/input0
U: Uniq=
H: Handlers=kbd mouse0 event0 
B: PROP=0
B: EV=7
B: KEY=7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffff fffffffffffffffe
B: REL=103

Как я могу удалить обработчик из драйвера. (Я собираю ядро ​​для себя)

Например, я хочу удалить mouse0 из обработчиков

1 Ответ

1 голос
/ 26 апреля 2019

Чтобы удалить обработчик, достаточно просто прокомментировать соответствующий _set_bit в исходном коде драйвера. В моем случае:

// __set_bit(BTN_MOUSE, dev->input_device->keybit);
// __set_bit(BTN_LEFT, dev->input_device->keybit);
// __set_bit(BTN_RIGHT, dev->input_device->keybit);
// __set_bit(BTN_MIDDLE, dev->input_device->keybit);
//
// __set_bit(EV_REL, dev->input_device->evbit);
// __set_bit(REL_X, dev->input_device->relbit);
// __set_bit(REL_Y, dev->input_device->relbit);
// __set_bit(REL_WHEEL, dev->input_device->relbit);

Приведенный выше фрагмент является частью этого файла .

...