Linux 内核:从驱动程序中删除输入处理程序
Linux kernel : Remove input handler from a driver
当我看到 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
为了删除处理程序,在驱动程序源代码中注释相关的 _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);
上面的片段是 file 的一部分。
当我看到 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
为了删除处理程序,在驱动程序源代码中注释相关的 _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);
上面的片段是 file 的一部分。