summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfigurator.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/Xconfigurator.pm')
-rw-r--r--perl-install/Xconfigurator.pm101
1 files changed, 81 insertions, 20 deletions
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
index 701ba190e..ab185daf4 100644
--- a/perl-install/Xconfigurator.pm
+++ b/perl-install/Xconfigurator.pm
@@ -873,10 +873,10 @@ sub write_XF86Config {
print G "EndSection\n\n\n";
#- write module section for version 3.
- if ($o->{wacom} || $o->{card}{Utah_glx}) {
+ if (@{$o->{wacom}} || $o->{card}{Utah_glx}) {
print F qq(Section "Module"
);
- print F qq( Load "xf86Wacom.so"\n) if $o->{wacom};
+ print F qq( Load "xf86Wacom.so"\n) if @{$o->{wacom}};
print F qq( Load "glx-3.so"\n) if $o->{card}{Utah_glx}; #- glx.so may clash with server version 4.
print F qq(EndSection
@@ -884,50 +884,109 @@ sub write_XF86Config {
}
#- write wacom device support.
- print F qq(
+ foreach (@{$o->{wacom}}) {
+ my $dev = "/dev/" . $o->{wacom}[$_-1];
+ print F $dev =~ /input\/event/ ? qq(
+Section "XInput"
+ SubSection "WacomStylus"
+ DeviceName "stylus$_"
+ Port "$dev"
+ USB
+ AlwaysCore
+ Mode Absolute
+ EndSubSection
+ SubSection "WacomCursor"
+ DeviceName "cursor$_"
+ Port "$dev"
+ USB
+ AlwaysCore
+ Mode Relative
+ EndSubSection
+ SubSection "WacomEraser"
+ DeviceName "eraser$_"
+ Port "$dev"
+ USB
+ AlwaysCore
+ Mode Absolute
+ EndSubSection
+EndSection
+
+) : qq(
Section "XInput"
SubSection "WacomStylus"
- Port "/dev/$o->{wacom}"
+ DeviceName "stylus$_"
+ Port "$dev"
AlwaysCore
Mode Absolute
EndSubSection
SubSection "WacomCursor"
- Port "/dev/$o->{wacom}"
+ DeviceName "cursor$_"
+ Port "$dev"
AlwaysCore
Mode Relative
EndSubSection
SubSection "WacomEraser"
- Port "/dev/$o->{wacom}"
+ DeviceName "eraser$_"
+ Port "$dev"
AlwaysCore
Mode Absolute
EndSubSection
EndSection
-) if $o->{wacom};
+);
+ }
- print G qq(
+ foreach (1..@{$o->{wacom}}) {
+ my $dev = "/dev/" . $o->{wacom}[$_-1];
+ print G $dev =~ /input\/event/ ? qq(
Section "InputDevice"
- Identifier "stylus"
+ Identifier "stylus$_"
Driver "wacom"
Option "Type" "stylus"
- Option "Device" "/dev/$o->{wacom}"
+ Option "Device" "$dev"
Option "Mode" "Absolute"
+ Option "USB" "on"
EndSection
Section "InputDevice"
- Identifier "eraser"
+ Identifier "eraser$_"
Driver "wacom"
Option "Type" "eraser"
- Option "Device" "/dev/$o->{wacom}"
+ Option "Device" "$dev"
Option "Mode" "Absolute"
+ Option "USB" "on"
EndSection
Section "InputDevice"
- Identifier "cursor"
+ Identifier "cursor$_"
Driver "wacom"
Option "Type" "cursor"
- Option "Device" "/dev/$o->{wacom}"
+ Option "Device" "$dev"
Option "Mode" "Relative"
+ Option "USB" "on"
EndSection
-) if $o->{wacom};
+) : qq(
+Section "InputDevice"
+ Identifier "stylus$_"
+ Driver "wacom"
+ Option "Type" "stylus"
+ Option "Device" "$dev"
+ Option "Mode" "Absolute"
+EndSection
+Section "InputDevice"
+ Identifier "eraser$_"
+ Driver "wacom"
+ Option "Type" "eraser"
+ Option "Device" "$dev"
+ Option "Mode" "Absolute"
+EndSection
+Section "InputDevice"
+ Identifier "cursor$_"
+ Driver "wacom"
+ Option "Type" "cursor"
+ Option "Device" "$dev"
+ Option "Mode" "Relative"
+EndSection
+);
+ }
#- write modules section for version 4.
print G qq(
@@ -1158,11 +1217,13 @@ Section "ServerLayout"
print G '
InputDevice "Mouse1" "CorePointer"
';
- print G '
- InputDevice "stylus" "AlwaysCore"
- InputDevice "eraser" "AlwaysCore"
- InputDevice "cursor" "AlwaysCore"
-' if $o->{wacom};
+ foreach (1..@{$o->{wacom}}) {
+ print G '
+ InputDevice "stylus$_" "AlwaysCore"
+ InputDevice "eraser$_" "AlwaysCore"
+ InputDevice "cursor$_" "AlwaysCore"
+';
+ }
print G '
InputDevice "Keyboard1" "CoreKeyboard"
EndSection