summaryrefslogtreecommitdiffstats
path: root/perl-install/mouse.pm
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2000-11-08 00:01:16 +0000
committerMystery Man <unknown@mandriva.org>2000-11-08 00:01:16 +0000
commitd5c526273db473a7d87a26000585900fc10dda7d (patch)
tree0fdaabe7a00921b6cc556601b103d344fc7ac781 /perl-install/mouse.pm
parent9c164312d4bfff6d93e1c4529de6b992f2bebc44 (diff)
downloaddrakx-d5c526273db473a7d87a26000585900fc10dda7d.tar
drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar.gz
drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar.bz2
drakx-d5c526273db473a7d87a26000585900fc10dda7d.tar.xz
drakx-d5c526273db473a7d87a26000585900fc10dda7d.zip
This commit was manufactured by cvs2svn to create branch
'unlabeled-1.1.1'.
Diffstat (limited to 'perl-install/mouse.pm')
-rw-r--r--perl-install/mouse.pm166
1 files changed, 27 insertions, 139 deletions
diff --git a/perl-install/mouse.pm b/perl-install/mouse.pm
index 94741db34..3386654db 100644
--- a/perl-install/mouse.pm
+++ b/perl-install/mouse.pm
@@ -6,44 +6,11 @@ use strict;
#-######################################################################################
#- misc imports
#-######################################################################################
-use common qw(:common :system :functional :file);
-use modules;
-use detect_devices;
-use run_program;
-use devices;
-use commands;
-use modules;
+use common qw(:common :system :functional);
use log;
my @mouses_fields = qw(nbuttons device MOUSETYPE XMOUSETYPE FULLNAME);
my @mouses = (
-arch() =~ /^sparc/ ? (
- [ 3, "sunmouse", "sun", "sun", __("Sun - Mouse") ],
-) : arch() eq "ppc" ? (
- [ 1, "adbmouse", "Busmouse", "BusMouse", __("Apple ADB Mouse") ],
- [ 2, "adbmouse", "Busmouse", "BusMouse", __("Apple ADB Mouse (2 Buttons)") ],
- [ 3, "adbmouse", "Busmouse", "BusMouse", __("Apple ADB Mouse (3+ Buttons)") ],
- [ 1, "usbmouse", "imps2", "IMPS/2", __("Apple USB Mouse") ],
- [ 2, "usbmouse", "imps2", "IMPS/2", __("Apple USB Mouse (2 Buttons)") ],
- [ 3, "usbmouse", "imps2", "IMPS/2", __("Apple USB Mouse (3+ Buttons)") ],
-) : (
- [ 2, "psaux", "ps/2", "PS/2", __("Generic Mouse (PS/2)") ],
- [ 3, "psaux", "ps/2", "PS/2", __("Logitech MouseMan/FirstMouse (ps/2)") ],
- [ 3, "psaux", "ps/2", "PS/2", __("Generic 3 Button Mouse (PS/2)") ],
- [ 2, "psaux", "ps/2", "GlidePointPS/2", __("ALPS GlidePoint (PS/2)") ],
- [ 5, "psaux", "ps/2", "MouseManPlusPS/2", __("Logitech MouseMan+/FirstMouse+ (PS/2)") ],
- [ 5, "psaux", "ps/2", "ThinkingMousePS/2", __("Kensington Thinking Mouse (PS/2)") ],
- [ 5, "psaux", "ps/2", "NetMousePS/2", __("ASCII MieMouse (PS/2)") ],
- [ 5, "psaux", "netmouse", "NetMousePS/2", __("Genius NetMouse (PS/2)") ],
- [ 5, "psaux", "netmouse", "NetMousePS/2", __("Genius NetMouse Pro (PS/2)") ],
- [ 5, "psaux", "netmouse", "NetScrollPS/2", __("Genius NetScroll (PS/2)") ],
- [ 5, "psaux", "imps2", "IMPS/2", __("Microsoft IntelliMouse (PS/2)") ],
- [ 2, "atibm", "Busmouse", "BusMouse", __("ATI Bus Mouse") ],
- [ 2, "inportbm", "Busmouse", "BusMouse", __("Microsoft Bus Mouse") ],
- [ 3, "logibm", "Busmouse", "BusMouse", __("Logitech Bus Mouse") ],
- [ 2, "usbmouse", "ps/2", "PS/2", __("USB Mouse") ],
- [ 3, "usbmouse", "ps/2", "IMPS/2", __("USB Mouse (3 buttons or more)") ],
-),
[ 0, "none", "none", "Microsoft", __("No Mouse") ],
[ 2, "ttyS", "pnp", "Auto", __("Microsoft Rev 2.1A or higher (serial)") ],
[ 3, "ttyS", "logim", "MouseMan", __("Logitech CC Series (serial)") ],
@@ -58,45 +25,28 @@ arch() =~ /^sparc/ ? (
[ 2, "ttyS", "Microsoft", "Microsoft", __("Generic Mouse (serial)") ],
[ 2, "ttyS", "Microsoft", "Microsoft", __("Microsoft compatible (serial)") ],
[ 3, "ttyS", "Microsoft", "Microsoft", __("Generic 3 Button Mouse (serial)") ],
- [ 3, "ttyS", "Microsoft", "ThinkingMouse", __("Kensington Thinking Mouse (serial)") ],
[ 2, "ttyS", "MouseSystems", "MouseSystems", __("Mouse Systems (serial)") ],
+ [ 2, "psaux", "ps/2", "PS/2", __("Generic Mouse (PS/2)") ],
+ [ 3, "psaux", "ps/2", "PS/2", __("Logitech MouseMan/FirstMouse (ps/2)") ],
+ [ 3, "psaux", "ps/2", "PS/2", __("Generic 3 Button Mouse (PS/2)") ],
+ [ 2, "psaux", "ps/2", "GlidePointPS/2", __("ALPS GlidePoint (PS/2)") ],
+ [ 5, "psaux", "ps/2", "MouseManPlusPS/2", __("Logitech MouseMan+/FirstMouse+ (PS/2)") ],
+ [ 5, "psaux", "ps/2", "ThinkingMousePS/2", __("Kensington Thinking Mouse (PS/2)") ],
+ [ 5, "psaux", "ps/2", "NetMousePS/2", __("ASCII MieMouse (PS/2)") ],
+ [ 5, "psaux", "netmouse", "NetMousePS/2", __("Genius NetMouse (PS/2)") ],
+ [ 5, "psaux", "netmouse", "NetMousePS/2", __("Genius NetMouse Pro (PS/2)") ],
+ [ 5, "psaux", "netmouse", "NetScrollPS/2", __("Genius NetScroll (PS/2)") ],
+ [ 5, "psaux", "imps2", "IMPS/2", __("Microsoft IntelliMouse (PS/2)") ],
+ [ 2, "atibm", "Busmouse", "BusMouse", __("ATI Bus Mouse") ],
+ [ 2, "inportbm", "Busmouse", "BusMouse", __("Microsoft Bus Mouse") ],
+ [ 3, "logibm", "Busmouse", "BusMouse", __("Logitech Bus Mouse") ],
);
map_index {
my %l; @l{@mouses_fields} = @$_;
$mouses[$::i] = \%l;
} @mouses;
-#- xmousetypes must be sorted as found in /usr/include/X11/extensions/xf86misc.h
-#- so that first mean "0", etc
-my @xmousetypes = (
- "Microsoft",
- "MouseSystems",
- "MMSeries",
- "Logitech",
- "BusMouse",
- "Logitech",
- "PS/2",
- "MMHittab",
- "GlidePoint",
- "IntelliMouse",
- "ThinkingMouse",
- "IMPS/2",
- "ThinkingMousePS/2",
- "MouseManPlusPS/2",
- "GlidePointPS/2",
- "NetMousePS/2",
- "NetScrollPS/2",
- "SysMouse",
- "Auto",
- "AceCad",
- "WSMouse",
- "USB",
-#MouseMan,
-);
-sub xmouse2xId { my ($id) = @_; my $i; map_index { $_ eq $id and $i = $::i } @xmousetypes; $i }
-
sub names { map { $_->{FULLNAME} } @mouses }
-sub list { @mouses }
sub name2mouse {
my ($name) = @_;
@@ -106,86 +56,24 @@ sub name2mouse {
die "$name not found";
}
-sub X2nbuttons {
- first(map { $_->{nbuttons} } grep { $_->{XMOUSETYPE} eq $_[0] } @mouses);
+sub serial_ports_names {
+ map { "ttyS" . ($_ - 1) . " / COM$_" } 1..4;
}
-
-sub serial_ports() { map { "ttyS$_" } 0..3 }
-sub serial_port2text {
- $_[0] =~ /ttyS (\d+)/x;
- "$_[0] / COM" . ($1 + 1);
+sub serial_ports_names2dev {
+ local ($_) = @_;
+ /(\w+)/;
}
-sub read($) {
- my ($prefix) = @_;
- my %mouse = getVarsFromSh "$prefix/etc/sysconfig/mouse";
- $mouse{device} = readlink "$prefix/dev/mouse" or log::l("reading $prefix/dev/mouse symlink failed");
- %mouse;
-}
+sub read($) { getVarsFromSh $_[0]; }
sub write($;$) {
- my ($prefix, $mouse) = @_;
- local $mouse->{FULLNAME} = qq("$mouse->{FULLNAME}"); #-"
- local $mouse->{WHEEL} = bool2yesno($mouse->{nbuttons} > 3);
- setVarsInSh("$prefix/etc/sysconfig/mouse", $mouse, qw(MOUSETYPE XMOUSETYPE FULLNAME XEMU3 WHEEL device));
- symlinkf $mouse->{device}, "$prefix/dev/mouse" or log::l("creating $prefix/dev/mouse symlink failed");
-}
-
-sub mouseconfig {
- my ($t, $mouse, $wacom);
-
- #- Whouah! probing all devices from ttyS0 to ttyS3 once a time!
- detect_devices::probeSerialDevices();
-
- #- check new probing methods keep everything used here intact!
- foreach (0..3) {
- $t = detect_devices::probeSerial("/dev/ttyS$_");
- if ($t->{CLASS} eq 'MOUSE') {
- $t->{MFG} ||= $t->{MANUFACTURER};
-
- $mouse = name2mouse("Microsoft IntelliMouse (serial)") if $t->{MFG} eq 'MSH' && $t->{MODEL} eq '0001';
- $mouse = name2mouse("Logitech MouseMan/FirstMouse (serial)") if $t->{MFG} eq 'LGI' && $t->{MODEL} =~ /^80/;
- $mouse = name2mouse("Genius NetMouse (serial)") if $t->{MFG} eq 'KYE' && $t->{MODEL} eq '0003';
-
- $mouse ||= name2mouse("Generic Mouse (serial)"); #- generic by default.
- $mouse->{device} = "ttyS$_";
- last;
- } elsif ($t->{CLASS} eq "PEN" || $t->{MANUFACTURER} eq "WAC") {
- $wacom = "ttyS$_";
- }
- }
- $mouse, $wacom;
+ my ($mouse, $prefix) = @_;
+ setVarsInSh("$prefix/etc/sysconfig/mouse", $mouse, qw(MOUSETYPE XMOUSETYPE FULLNAME XEMU3));
+ symlink $mouse->{device}, "$prefix/dev/mouse" or log::l("creating $prefix/dev/mouse symlink failed");
}
sub detect() {
- return name2mouse("Sun - Mouse") if arch() =~ /^sparc/;
-
- if (arch() eq "ppc") {
- return name2mouse("Apple USB Mouse") if detect_devices::hasMouseMacUSB;
- # No need to search for an ADB mouse. If I did, the PPC kernel would
- # find one whether or not I had one installed! So.. default to it.
- return name2mouse("Apple ADB Mouse");
- }
-
- detect_devices::hasMousePS2 and return { unsafe => 1, %{name2mouse("Generic Mouse (PS/2)")} };
-
- eval { commands::modprobe("serial") };
- my ($r, $wacom) = mouseconfig(); return ($r, $wacom) if $r;
-
- if (detect_devices::probeUSB()) {
- eval {
- modules::load("usbmouse");
- modules::load("mousedev");
- };
- sleep(2);
- if (!$@ && detect_devices::tryOpen("usbmouse")) {
- $wacom or modules::unload("serial");
- return name2mouse("USB Mouse"), $wacom;
- }
- modules::unload("mousedev");
- modules::unload("usbmouse");
- }
-
- #- defaults to generic ttyS0
- { device => "ttyS0", unsafe => 1, %{name2mouse("Generic Mouse (serial)")} };
+ my %l;
+ @l{qw(FULLNAME nbuttons MOUSETYPE XMOUSETYPE device)} = split("\n", `mouseconfig --nointeractive 2>/dev/null`) or die "mouseconfig failed";
+ \%l;
}