Ao inicializar o campo de nome do dispositivo e ativar os eventos de keybit (BTN_MOUSE), eu pude fazer o mouse se mover. Ainda estou tentando encontrar o motivo pelo qual os eventos relativos não estão funcionando, sem ativar os eventos do botão-chave.
No driver de dispositivo de entrada (ou seja, a função do módulo init do driver de mouse virtual), adicionei as linhas de código abaixo logo antes de registrar o dispositivo de entrada. Resto do código é o mesmo que no livro
// Nome do dispositivo
vms_input_dev- > name="Mouse virtual";
// Ativar eventos relativos e de botão
set_bit (EV_REL, vms_input_dev- > evbit);
set_bit (EV_KEY, vms_input_dev- > evbit);
set_bit (BTN_LEFT, vms_input_dev- > keybit);
set_bit (REL_X, vms_input_dev- > relbit);
set_bit (REL_Y, vms_input_dev- > relbit);
O código funcionou para mim no Ubuntu 12.04