ロード時にxorgで仮想マウスが無視される

ロード時にxorgで仮想マウスが無視される

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で動作します

おすすめ記事