virtual input device driver for linux kernel