summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/mousedrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/mousedrake')
-rwxr-xr-xperl-install/standalone/mousedrake51
1 files changed, 24 insertions, 27 deletions
diff --git a/perl-install/standalone/mousedrake b/perl-install/standalone/mousedrake
index 852c5e612..397a1f12a 100755
--- a/perl-install/standalone/mousedrake
+++ b/perl-install/standalone/mousedrake
@@ -2,50 +2,47 @@
use lib qw(/usr/lib/libDrakX);
-use common qw(:system);
+use common qw(:common :system);
use interactive;
use mouse;
+use c;
+require 'dumpvar.pl';
local $_ = join '', @ARGV;
-/-h/ and die "usage: mousedrake [--auto] [--noauto] [--testing]\n";
+/-h/ and die "usage: mousedrake [--auto] [--testing]\n";
-$::auto = /--auto/;
-$::noauto = /--noauto/;
-$::testing = /--testing/;
+$::auto = /-auto/;
+$::testing = /-testing/;
$::isStandalone = 1;
-my $in = vnew interactive;
+my $in = vnew interactive('su');
-my $mouse = mouse::detect() unless $::noauto;
+my ($mouse) = mouse::detect() unless $::noauto;
-if (!(my $name = $mouse->{FULLNAME}) || !$::auto) {
- $name ||= "Generic Mouse (serial)";
- $name = $in->ask_from_list_('', _("What is the type of your mouse?"), [ mouse::names() ], $name);
- $mouse = mouse::name2mouse($name);
+if (!$mouse || !$::auto) {
+ $mouse ||= mouse::fullname2mouse("serial|Generic 2 Button Mouse");
+ my $name = $in->ask_from_treelistf('', _("Please, choose the type of your mouse."), '|',
+ sub { join '|', map { translate($_) } split '\|', $_[0] },
+ [ mouse::fullnames ],
+ $mouse->{type} . '|' . $mouse->{name});
+ $mouse = mouse::fullname2mouse($name);
if ($mouse->{device} eq "usbmouse") {
+ require pci_probing::main;
my ($c) = pci_probing::main::probe("serial_usb") or die _("no serial_usb found\n");
eval { modules::load($c->[1], "serial_usb") };
}
}
-
$mouse->{XEMU3} = 'yes' if $mouse->{nbuttons} < 3 && (!$::noauto || $in->ask_yesorno('', _("Emulate third button?"), 1));
-$mouse->{device} = mouse::serial_ports_names2dev(
- $in->ask_from_list(_("Mouse Port"),
- _("Which serial port is your mouse connected to?"),
- [ mouse::serial_ports_names() ])) if $mouse->{device} eq "ttyS";
-
-mouse::write('', $mouse);
-modules::write_conf("/etc/conf.modules") if $mouse->{device} eq "usbmouse" && !$::testing;
+$o->{mouse}{device} =
+ $o->ask_from_listf(_("Mouse Port"),
+ _("Please choose on which serial port your mouse is connected to."),
+ \&mouse::serial_port2text,
+ [ mouse::serial_ports ]) if $mouse->{type} eq 'serial';
-my $f = "/etc/X11/XF86Config";
-substInFile {
- if (/^Section "Pointer"/ .. /^EndSection/) {
- s|^(\s*Protocol\s+).*|$1 "$mouse->{XMOUSETYPE}"|;
- s|^(\s*Device\s+).*|$1 "/dev/mouse"|;
- }
-} $f if -e $f && !$::testing;
+dumpValue(\$mouse);
+mouse::write_conf($mouse);
-exec 'true' if ref($in) =~ /gtk/; #- workaround for perl-GTK
+$in->exit(0);