eudev starts at boot; Xorg finds its input devices through it

udevd and a one-shot trigger run from schinit, 10-schos.conf no longer lists
event0/event1, and the docs say what udev covers and what it does not.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
This commit is contained in:
Nexoniarz 2026-10-26 11:44:21 +01:00
commit b3f72cd95e
13 changed files with 169 additions and 50 deletions

View file

@ -121,37 +121,26 @@ cat > "$P/root/.xinitrc" <<'XEOF'
exec wmaker
XEOF
# X's input devices, named rather than found. Alpine's Xorg asks udev for
# them, SchOS has no udev, and X came up with no keyboard and no mouse: the
# pointer did not move, Ctrl+Alt+F-keys did nothing and nothing could end the
# session. SchOS has exactly two input nodes whatever the machine -- every
# keyboard on event0, every mouse on event1 (kernel/dev/input.c) -- so a
# fixed list is the whole answer. The file is SchOS's, in xorg.conf.d, which
# no Alpine package writes into.
# X's input devices are found, not named: udevd (etc/schinit/udevd.job) turns
# the kernel's uevents into /run/udev data, and Xorg asks libudev for every
# device with ID_INPUT set. That was a hand-written list of event0 and event1
# while SchOS had no udev. The file is SchOS's, in xorg.conf.d, which no Alpine
# package writes into; what is left here is the options the defaults do not
# give, and the framebuffer driver.
mkdir -p "$P/etc/X11/xorg.conf.d"
cat > "$P/etc/X11/xorg.conf.d/10-schos.conf" <<'XEOF'
# SchOS has no udev, so X is told its input devices instead of finding them.
# event0 is every keyboard and event1 every mouse (kernel/dev/input.c).
Section "ServerFlags"
Option "AutoAddDevices" "false"
# Ctrl+Alt+Backspace ends X.
Option "DontZap" "false"
EndSection
Section "InputDevice"
Identifier "keyboard"
Driver "evdev"
Option "Device" "/dev/input/event0"
Section "InputClass"
Identifier "SchOS keyboards"
MatchIsKeyboard "on"
Option "XkbRules" "evdev"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
Section "InputDevice"
Identifier "mouse"
Driver "evdev"
Option "Device" "/dev/input/event1"
EndSection
Section "Device"
Identifier "fb"
Driver "fbdev"
@ -165,8 +154,6 @@ EndSection
Section "ServerLayout"
Identifier "schos"
Screen "screen"
InputDevice "keyboard" "CoreKeyboard"
InputDevice "mouse" "CorePointer"
EndSection
XEOF