summaryrefslogtreecommitdiffstats
path: root/perl-install/mouse.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/mouse.pm')
-rw-r--r--perl-install/mouse.pm39
1 files changed, 22 insertions, 17 deletions
diff --git a/perl-install/mouse.pm b/perl-install/mouse.pm
index f2fb1fd57..fe154592b 100644
--- a/perl-install/mouse.pm
+++ b/perl-install/mouse.pm
@@ -229,7 +229,7 @@ sub mouseconfig {
#- check new probing methods keep everything used here intact!
foreach (0..3) {
- $t = detect_devices::probeSerial("/dev/ttyS$_");
+ $t = detect_devices::probeSerial("/dev/ttyS$_") or next;
if ($t->{CLASS} eq 'MOUSE') {
$t->{MFG} ||= $t->{MANUFACTURER};
@@ -296,7 +296,7 @@ sub detect() {
#- which takes a while for its probe.
if ($::isStandalone) {
my $mouse = $fast_mouse_probe->();
- $mouse and return ($mouse, @wacom);
+ $mouse and return { wacom => \@wacom, %$mouse };
}
#- probe serial device to make sure a wacom has been detected.
@@ -306,10 +306,10 @@ sub detect() {
if (!$::isStandalone) {
my $mouse = $fast_mouse_probe->();
$r && $mouse and $r->{auxmouse} = $mouse; #- we kept the auxilliary mouse as PS/2.
- $r and return ($r, @wacom);
- $mouse and return ($mouse, @wacom);
+ $r and return { wacom => \@wacom, %$r };
+ $mouse and return { wacom => \@wacom, %$mouse };
} else {
- $r and return ($r, @wacom);
+ $r and return { wacom => \@wacom, %$r };
}
#- in case only a wacom has been found, assume an inexistant mouse (necessary).
@@ -317,7 +317,7 @@ sub detect() {
nbuttons => 2,
device => "nothing",
MOUSETYPE => "Microsoft",
- XMOUSETYPE => "Microsoft"}, @wacom;
+ XMOUSETYPE => "Microsoft", wacom => \@wacom };
if (!modules::get_probeall("usb-interface") && detect_devices::is_a_recent_computer() && $::isInstall) {
#- special case for non detected usb interface on a box with no mouse.
@@ -335,6 +335,21 @@ sub detect() {
return fullname2mouse("serial|Generic 2 Button Mouse", unsafe => 1);
}
+sub set_xfree_conf {
+ my ($mouse, $xfree_conf) = @_;
+
+ my @mice = map {
+ {
+ Protocol => $_->{XMOUSETYPE},
+ Device => "/dev/$_->{device}",
+ if_($_->{nbuttons} > 3, ZAxisMapping => [ '4 5', if_($_->{nbuttons} > 5, '6 7') ]),
+ if_($_->{nbuttons} < 3, Emulate3Buttons => undef, Emulate3Timeout => 50),
+ };
+ } ($mouse, if_($mouse->{auxmouse}, $mouse->{auxmouse}));
+
+ $xfree_conf->set_mice(@mice);
+}
+
#- write_conf : write the mouse infos into the Xconfig files.
#- input :
#- $mouse : the hashtable containing the informations
@@ -354,17 +369,7 @@ sub write_conf {
require Xconfig::xfree;
my $xfree_conf = Xconfig::xfree->read;
-
- my @mice = map {
- {
- Protocol => $_->{XMOUSETYPE},
- Device => "/dev/$_->{device}",
- if_($_->{nbuttons} > 3, ZAxisMapping => [ '4 5', if_($_->{nbuttons} > 5, '6 7') ]),
- if_($_->{nbuttons} < 3, Emulate3Buttons => undef, Emulate3Timeout => 50),
- };
- } ($mouse, $mouse->{auxmouse});
-
- $xfree_conf->set_mice(@mice);
+ set_xfree_conf($mouse, $xfree_conf);
$xfree_conf->write;
}