uinput module backport