Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Since uinput module is missing, you should consider building it before going further.</p> <p>I've never rebuilt a Linux kernel module this way, so you can follow the explanation <a href="https://stackoverflow.com/questions/11771818/how-to-make-existing-linux-kernel-module-driver-after-modifying-the-driver-sou/11804929#11804929">here</a></p> <p>First, you need to get the corresponding Linux source code and headers. Also install <em>module-init-tools</em><br> Then, change dir to /usr/src/linux and do as root</p> <pre><code>cp /boot/config-* ./.config make drivers/input/misc/uinput.ko </code></pre> <p>It'll take a minutes to build uinput.ko</p> <p>Check if it works before move uinput.ko to /lib/modules/&lt;"yourkernelversion">/kernel/drivers/input/misc</p> <pre><code>insmod ./drivers/input/misc/uinput.ko </code></pre> <hr> <h2>Edit 1:</h2> <p>It seems that since Linux 2.6.35-17.23, <a href="https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/584812" rel="nofollow noreferrer">uinput is a built-in module</a>. That's why <a href="http://ubuntuforums.org/showthread.php?t=1369602" rel="nofollow noreferrer">it's not shown by lsmod</a>.</p> <p>I have just taken a look at your code, and I think the problem is in this line</p> <pre><code>if (write(uifd, &amp;uidev, sizeof(uinput_user_dev) != sizeof(uinput_user_dev))) </code></pre> <p>It should be</p> <pre><code>if (write(uifd, &amp;uidev, sizeof(uinput_user_dev)) != sizeof(uinput_user_dev)) </code></pre> <p>Hope that helps</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload