diff options
Diffstat (limited to 'perl-install/standalone/mousedrake')
-rwxr-xr-x | perl-install/standalone/mousedrake | 51 |
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); |