Essential Linux Device Driversの本にある仮想マウスドライバを実行しようとしていますが、/var/log/Xorg.0.logのinsmodを使用してこのモジュールをカーネルにロードすると、次の内容が表示されます。
[ 757.212] (II) config/udev: Adding input device (/dev/input/event10)
[ 757.212] (II) No identifier specified, ignoring this device.
Xorgがこのデバイスを無視しないようにするにはどうすればよいですか?それともカーネルモジュールコードに何を追加する必要がありますか?
答え1
入力デバイスドライバで次のコード行を置き換えます。
set_bit(EV_REL, vms_input_dev->evbit);
set_bit(REL_X, vms_input_dev->relbit);
set_bit(REL_Y, vms_input_dev->relbit);
そして
vms_input_dev->name = "Virtual Mouse";
vms_input_dev->phys = "vmd/input0"; // "vmd" is the driver's name
vms_input_dev->id.bustype = BUS_VIRTUAL;
vms_input_dev->id.vendor = 0x0000;
vms_input_dev->id.product = 0x0000;
vms_input_dev->id.version = 0x0000;
vms_input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
vms_input_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_LEFT) | BIT_MASK(BTN_RIGHT) | BIT_MASK(BTN_MIDDLE);
vms_input_dev->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);
vms_input_dev->keybit[BIT_WORD(BTN_MOUSE)] |= BIT_MASK(BTN_SIDE) | BIT_MASK(BTN_EXTRA);
vms_input_dev->relbit[0] |= BIT_MASK(REL_WHEEL);
Ubuntu 12.04で動作します