# brintOS wasm32-hwjs: the X input device, declared statically. # # There is no udev on this distro, so the server has nothing to enumerate and # upstream's 10-evdev.conf -- an InputClass catch-all, matched only against # HOTPLUGGED devices -- never fires. The device is declared here instead. # # ONE section, not two. The guest presents exactly one evdev node, # /dev/input/event0 (BRINTOS-2307: N: Name="brintos-virtio-input", # H: Handlers=kbd event0, B: EV=7 -- EV_SYN|EV_KEY|EV_REL), and evdev registers # a single X device carrying both the key and the relative-axis classes for it. # A second section naming the same node is refused by the driver itself: # EvdevIsDuplicate() compares major/minor and returns BadMatch with # "device file is duplicate. Ignoring." (evdev.c:2523-2528 -- the guard is at # 2523, the message it emits at 2525). # # AutoServerLayout is what puts it in the implied layout. With no ServerLayout # section, xf86Config.c:1639 calls xf86layoutAddInputDevices(), which adds only # the InputDevice sections carrying this option (Layout.c:441). Without it the # section parses and is then never instantiated -- silently. # # AutoAddDevices is turned off so the server does not wait on a hotplug backend # that cannot exist here; it also sets xf86Info.forceInputDevices # (xf86Config.c:885), which is what makes the core-device search consider this # section. Section "ServerFlags" Option "AutoAddDevices" "false" EndSection Section "InputDevice" Identifier "brintos-virtio-input" Driver "evdev" Option "Device" "/dev/input/event0" Option "AutoServerLayout" "true" Option "CorePointer" "true" Option "CoreKeyboard" "true" # BRINTOS-WORKAROUND: brintos/hardwarejs#69 revisit -- the released runtime sends relative motion only, and acceleration makes the X pointer drift from the browser pointer faster; a runtime that asks for the absolute pointer is unaffected, so this goes when the release carries it, not when the issue closes. Option "AccelerationProfile" "-1" EndSection