3. Using XFree with event interface support

This will allow you:

Caution

Currently hot-plugging doesn't seems to work properly. I have reports that it works when using the Dev Name option, but my primary purpose was to get it working with Dev Phys and this does not currently seem to work. Why "Dev Phys"? - because if one wants to setup a single system for 4,5 or more users it would be easier to get 4,5 or more pieces of the same keyboard/ mouse then to find the same number keyboards or mice but from different manufacturer or with different names, and i find configuring XFree for such number users is simpler when Dev Phys is used.

Warning

This section is somewhat abandoned and is not tested under Ruby-2.6 as it didn't work reliably for me.

For this to work you will have to use XFree with the patches for event interface support, developed by Zephaniah Hull. You can find them at the following url: http://people.debian.org/~warp/evdev/.

To build from source you will need the following patches :

The binaries for Debian include these patches.

For hot-plugging you will also need the /etc/hotplug/input.agent , which you can find under the above address and in Appendix Scripts

Then you have to configure XFree to use the event devices.

The configuration section for a mouse should look something like this:

Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option      "Protocol"      "evdev"
    Option      "Dev Name"      "A4Tech USB Optical Mouse"
    Option      "Dev Phys"      "usb-*/input0"
    Option      "Buttons"       "9"

    Option      "ZAxisMapping"  "6 7 8 9"
EndSection

The configuration section for a keyboard should look something like this:

Section "InputDevice"
    Identifier  "Keyboard1"
    Driver      "kbd"
    Option      "Protocol"      "evdev"
    Option      "Dev Name"      "SILITEK USB Keyboard"
    Option      "Dev Phys"      "usb-*/input0"
    Option      "AutoRepeat"    "250 30"
    Option      "XkbRules"      "xfree86"
    Option      "XkbModel"      "pc101"
    Option      "XkbLayout"     "dvorak"
EndSection

For Dev Name and Dev Phys, the wildcats ? and * work, you MUST have at least one of the two, if you have both then the device must match on both, a non-existent entry is the same as one consisting of *.