Hi colleagues, It has been written a long time ago about my patches, which introduced negation, "|"+"&" and regexes to Match statements:
On Thu, 23 Jun 2011 12:06:46 +1000 Peter Hutterer <[email protected]> wrote: > > sorry if you've already done this in another thread but do you have an > example of a configuration you're trying to attempt? As in, not a made up > one but an actual configuration. It would help greatly to see the > shortfalls of the current options and who knows even show other ways of > getting this configuration. > Since then I had software/hardware troubles (related to nouveau/ati drivers) and was not able to test suggested patches and configs. Now I have two working dualseat and several single-seat systems, which are configured in a unified manner. They are driven by xorg-server-1.11.1 with the latest patches submitted by me to the list. I am going not to submit them now again, but to post some actual config files to show how syntax enhancements can be convenient for Xorg administration. We leave standard input classes for mice+keyboards in all layouts but Seat0, Seat1, Seat 2 etc. Thus we can separate errors in custom XKB configs from troubles with X itself. /etc/X11/xorg.conf.d/10-evdev.conf ------------------------ # # Catch-all evdev loader for udev-based systems # We don't simply match on any device since that also adds accelerometers # and other devices that we don't really want to use. The list below # matches everything but joysticks. Section "InputClass" Identifier "evdev pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" MatchLayout "!regex:/^Seat[0-9]+$/" Driver "evdev" EndSection Section "InputClass" Identifier "evdev keyboard catchall" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" MatchLayout "!regex:/^Seat[0-9]+$/" Driver "evdev" EndSection Section "InputClass" Identifier "evdev touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev tablet catchall" MatchIsTablet "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection Section "InputClass" Identifier "evdev touchscreen catchall" MatchIsTouchscreen "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection /etc/X11/xorg.conf.d/90-keyboard.conf ------------------------ # Section "InputClass" Identifier "keyboard-all" MatchIsKeyboard "on" MatchDevicePath "/dev/input/event*" MatchLayout "!regex:/^Seat[0-9]+$/" Driver "evdev" Option "XkbLayout" "us" #Option "XkbVariant" "" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection Custom config for all seats (including one-seat systems): /etc/X11/xorg.conf.d/91-seats.conf ------------------------ Section "Module" Load "glx" Load "extmod" Load "dri2" Load "dbe" Load "dri" EndSection Section "InputClass" Identifier "Keyboard-at-seat" MatchProduct "regex:/^AT.*Set 2 keyboard$/" MatchLayout "regex:/^Seat[0-9]+$/" Option "XkbRules" "evdev" Option "XkbModel" "evdev" # Option "XkbLayout" "us_de,us_pl,ua_koi,ua_ru_by" Option "XkbLayout" "us_de,ua_ru_by" Option "XkbOptions" "overlay,terminate:ctrl_alt_bksp" Option "AutoRepeat" "500 3" EndSection Section "InputClass" Identifier "Mouse-at-seat" MatchProduct "regex:/ Mouse$/" MatchLayout "regex:/^Seat[0-9]+$/" Option "Buttons" "5" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" EndSection Section "ServerFlags" Option "DontZap" "off" Option "Xinerama" "off" Option "Log" "flush" EndSection Real input devices assignment is only here: /etc/X11/xorg.conf.d/xorg-both.conf ------------------------ Section "ServerLayout" Identifier "Seat0" Screen "GeForce VGA+TV" 0 0 EndSection Section "ServerLayout" Identifier "Seat1" Screen "Matrox" 0 1 EndSection Section "InputClass" Identifier "Keyboard0" Driver "evdev" MatchProduct "AT Translated Set 2 keyboard" MatchLayout "Seat0" EndSection Section "InputClass" Identifier "Mouse0" Driver "evdev" MatchProduct "A4Tech PS/2+USB Mouse" MatchLayout "Seat0" EndSection Section "InputClass" Identifier "Keyboard1" Driver "evdev" MatchProduct "AT Raw Set 2 keyboard" MatchLayout "Seat1" EndSection Section "InputClass" Identifier "Mouse1" Driver "evdev" MatchProduct "Logitech USB-PS/2 Optical Mouse" MatchLayout "Seat1" EndSection Section "InputClass" Identifier "Power Button" Driver "evdev" MatchProduct "Power Button" MatchLayout "Seat0|Seat1" EndSection Comments, please. Best regards, Oleh Nykyforchyn <[email protected]> _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
