How to use UHIDD
Introduction
The purpose of this page is to show how UHIDD can be used in the latest 6.5-DEVELOPMENT branch of DragonFly, commit 088552 is recommended but only ec3f0bf is needed, the release branch of DraonFly 6.5+ will have support by default. UHIDD is a system service that allows for mouse and keyboard support for generic USB HID devices that aren't directly supported by a kernel driver.
Installation
Currently UHIDD isn't in the ports tree, you have to download the source code and compile it, thankfully all that's needed is a simple make
and make install
The code is located: https://gitlab.com/YusufAbdulHalim/uhidd
The port is quite minimal from the freebsd original, and it works 1:1 with the freebsd version.
The service can be started regularly like this(IIRC)
service uhidd start &&
service uhidd stop &&
service uhidd restart
Or in the terminal as: uhidd -kmohs /dev/ugen[ID]
Please note that if you want it in rc you must add the uhidd_flags
equal to whatever flags you specified and the uhidd_enable
set to YES
The -u option can be used to remove ALL input kernel devices from the USB device, this comes with the issue of the fact that libinput/evdev probably wont be available with UHIDD only!
Required Kernel Drivers
You must load cuse.ko as well as vkbd.ko(if you want keyboard emulation)
Run this:
kldload cuse.ko && kldload vkbd.ko
to make sure its loaded, if you don't have them, you may be on a earlier version of DragonFly without support.
Other resources
You can check the man page for more information, it includes information like keymaping(which you probably want to do) and configuration bits. The uhidd.conf
man page describes how to configure it and the uhidd
man page describes the actual command.