summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2006-04-30 09:41:33 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2006-04-30 09:41:33 +0000
commitb426be4d3f1b60dfe8d20e5e0ae8a16d1dc561db (patch)
treea1d86758eb03e89e10e28a983703d31442578b6f /sys-apps
parentCvs drop which includes the krgb fix, include fontconfig patch, bug 104512, f... (diff)
downloadgentoo-2-b426be4d3f1b60dfe8d20e5e0ae8a16d1dc561db.tar.gz
gentoo-2-b426be4d3f1b60dfe8d20e5e0ae8a16d1dc561db.tar.bz2
gentoo-2-b426be4d3f1b60dfe8d20e5e0ae8a16d1dc561db.zip
Re-add support for hardware that Gentoo supported in lmctl, and other changes that were previously sent upstream but seem to have been dropped.
(Portage version: 2.1_pre10)
Diffstat (limited to 'sys-apps')
-rw-r--r--sys-apps/lomoco/ChangeLog9
-rw-r--r--sys-apps/lomoco/files/digest-lomoco-1.0-r13
-rw-r--r--sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch271
-rw-r--r--sys-apps/lomoco/lomoco-1.0-r1.ebuild35
4 files changed, 317 insertions, 1 deletions
diff --git a/sys-apps/lomoco/ChangeLog b/sys-apps/lomoco/ChangeLog
index 5a2fa35f783e..9cf513aa5636 100644
--- a/sys-apps/lomoco/ChangeLog
+++ b/sys-apps/lomoco/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-apps/lomoco
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/lomoco/ChangeLog,v 1.3 2006/04/22 12:15:04 tcort Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/lomoco/ChangeLog,v 1.4 2006/04/30 09:41:32 robbat2 Exp $
+
+*lomoco-1.0-r1 (30 Apr 2006)
+
+ 30 Apr 2006; Robin H. Johnson <robbat2@gentoo.org>
+ +files/lomoco-1.0-gentoo-hardware-support.patch, +lomoco-1.0-r1.ebuild:
+ Re-add support for hardware that Gentoo supported in lmctl, and other
+ changes that were previously sent upstream but seem to have been dropped.
22 Apr 2006; Thomas Cort <tcort@gentoo.org> lomoco-1.0.ebuild:
Added ~alpha keyword. Tested by Mike Hlavac <mike@flyingpenguins.org>.
diff --git a/sys-apps/lomoco/files/digest-lomoco-1.0-r1 b/sys-apps/lomoco/files/digest-lomoco-1.0-r1
new file mode 100644
index 000000000000..4132be1399bb
--- /dev/null
+++ b/sys-apps/lomoco/files/digest-lomoco-1.0-r1
@@ -0,0 +1,3 @@
+MD5 f5197d0a3ee81229c3eecc1e03f7b08d lomoco-1.0.tar.gz 24573
+RMD160 b918be68997e8a4a73b86097d57da7a12c02bb26 lomoco-1.0.tar.gz 24573
+SHA256 e9e537e8bca6186f84b457394a9e934b89c36870c66aa202ed188c7aa24e9dcc lomoco-1.0.tar.gz 24573
diff --git a/sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch b/sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch
new file mode 100644
index 000000000000..2913ec477fee
--- /dev/null
+++ b/sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch
@@ -0,0 +1,271 @@
+- Support for other hardware
+- ssr comment in the mouse array.
+- Use of defines for numeric constants to improve code readability.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar --exclude '*~' lomoco-1.0.old/src/lomoco.c lomoco-1.0/src/lomoco.c
+--- lomoco-1.0.old/src/lomoco.c 2006-03-01 06:10:05.000000000 -0800
++++ lomoco-1.0/src/lomoco.c 2006-04-30 02:38:05.107430674 -0700
+@@ -32,11 +32,12 @@
+ * model: you can find on the hardware, look for M/N: ...
+ * csr: mouse with receiver (wireless)
+ * res: mouse has resolution control
+- * sms: mouse has smart control
++ * ssr: mouse has smart scroll reporting
++ * sms: mouse has smart scroll
+ * dual: dual receiver (wireless mouse+wireless keyboard)
+ *
+ * product id, name, model, csr, res, ssr, sms, dual */
+-mouse_t mice [] = {
++static mouse_t mice [] = {
+ {0xc00e, "Wheel Mouse Optical", "M-BJ58", 0, 1, 0, 0, 0},
+ {0xc00f, "MouseMan Traveler", "M-BJ79", 0, 1, 0, 0, 0},
+ {0xc012, "MouseMan Dual Optical", "M-BL63B", 0, 1, 0, 0, 0},
+@@ -49,50 +50,37 @@
+ {0xc041, "G5 Laser Gaming Mouse", "M-UAC113", 0, 1, 0, 1, 0},
+ {0xc501, "Mouse Receiver", "C-BA4-MSE", 1, 0, 0, 0, 0},
+ {0xc502, "Dual Receiver", "C-UA3-DUAL", 1, 0, 0, 0, 1},
+- {0xc503, "Receiver for MX900 Receiver", "C-UJ16A", 1, 0, 0, 1, 0},
++ {0xc503, "Receiver for MX900", "C-UJ16A", 1, 0, 0, 1, 0},
+ {0xc504, "Receiver for Cordless Freedom Optical", "C-BD9-DUAL", 1, 0, 0, 0, 1},
+ {0xc505, "Receiver for Cordless Elite Duo", "C-BG17-DUAL", 1, 0, 0, 0, 1},
+ {0xc506, "Receiver for MX700 Optical Mouse", "C-BF16-MSE", 1, 0, 0, 1, 0},
+ {0xc508, "Receiver for Cordless Optical TrackMan", "C-BA4-MSE", 1, 0, 0, 1, 0},
+- {0xc702, "Receiver for Cordless Presenter", "C-UF15", 1, 0, 0, 0, 0},
+- {0xc704, "Receiver for diNovo Media Desktop", "C-BQ16A", 1, 0, 1, 1, 0},
++
++ /* From Michele Noberasco <s4t4n@gentoo.org> */
++ {0xc50a, "Reciveer for Cordless Optical Mouse for Notebooks", "C-BJ27-MSE", 1, 0, 0, 0, 0},
++
++ /* From Robin H. Johnson <robbat2@gentoo.org> */
++ {0xc50b, "Receiver for Cordless Desktop MX", "C-BK16A-DUAL",1, 0, 0, 1, 1},
++
+ /* From Markus Wiesner <m_wiesner@gmx.net> */
+ {0xc50e, "Receiver for MX1000 Laser", "C-BN34", 1, 0, 1, 1, 0},
+ {0xc512, "Receiver for Cordless Desktop MX3100 Laser", "C-BO34", 1, 0, 0, 1, 1},
++
++ {0xc702, "Receiver for Cordless Presenter", "C-UF15", 1, 0, 0, 0, 0},
++ {0xc704, "Receiver for diNovo Media Desktop", "C-BQ16A", 1, 0, 1, 1, 0},
+ {0x0000, NULL, NULL, 0, 0, 0, 0}
+ };
+
+-
+ /*
+- * Description: Query the mouse and report all cordless mouse specific infos
++ * Description: Print out a set of CSR data
+ * e.g. receiver type, mouse type, battery status
+ *
+- * Parameters: mouse_t *m
+- * mouse struct with the mouse specs
+- * struct usb_dev_handle *handle
+- * usb device handle of the mouse
+- * unsigned int addr
+- * address for dual receivers
++ * Parameters: unsigned char* buf
++ * result from query_csr internals
+ *
+ * Return: void
+ */
+-static void query_csr(mouse_t *m, struct usb_dev_handle *handle,
+- unsigned int addr) {
+- unsigned char buf[12] = {0};
+-
+- if (usb_control_msg ( handle,
+- USB_TYPE_VENDOR | USB_ENDPOINT_IN,
+- 0x09,
+- (0x0003 | addr),
+- (0x0000 | addr),
+- (char *) buf,
+- 8,
+- TIMEOUT ) != 8) {
+-
+- perror("Writing to USB device: CSR");
+- exit(EXIT_FAILURE);
+- }
+-
++static void print_csr(unsigned char* buf) {
+ /* We have not obtained blocks P6 P0 P4 P5 P8 P9 PB0 PB1 */
+
+ /* Is a C504 receiver busy? */
+@@ -111,6 +99,7 @@
+ case 0x3c: printf ("C508\n"); break;
+ case 0x3d: printf ("C506\n"); break;
+ case 0x3e: printf ("C505\n"); break;
++ case 0x3f: printf ("C50B\n"); break;
+ case 0x42: printf ("C512\n"); break;
+ default: printf ("Unknown (type %x)\n", P0);
+ }
+@@ -138,6 +127,7 @@
+ case 0x82: printf ("Cordless Optical TrackMan\n"); break;
+ case 0x8A: printf ("MX700 Cordless Optical Mouse\n"); break;
+ case 0x8B: printf ("MX700 Cordless Optical Mouse (2ch)\n"); break;
++ case 0x94: printf ("Cordless Optical Mouse for Notebooks\n"); break;
+ default: printf ("Unknown (type %x)\n", P4);
+ }
+
+@@ -199,6 +189,38 @@
+ }
+ }
+
++/*
++ * Description: Query the mouse and report all cordless mouse specific infos
++ * e.g. receiver type, mouse type, battery status
++ *
++ * Parameters: mouse_t *m
++ * mouse struct with the mouse specs
++ * struct usb_dev_handle *handle
++ * usb device handle of the mouse
++ * unsigned int addr
++ * address for dual receivers
++ *
++ * Return: void
++ */
++static void query_csr(mouse_t *m, struct usb_dev_handle *handle,
++ unsigned int addr) {
++ unsigned char buf[12] = {0};
++
++ if (usb_control_msg ( handle,
++ USB_TYPE_VENDOR | USB_ENDPOINT_IN,
++ REQUEST_MOUSE_CSR,
++ (0x0003 | addr),
++ (0x0000 | addr),
++ (char *) buf,
++ 8,
++ TIMEOUT ) != 8) {
++
++ perror("Writing to USB device: CSR");
++ exit(EXIT_FAILURE);
++ }
++ print_csr(buf);
++
++}
+
+ /*
+ * Description: Query the mouse and report the current resolution
+@@ -218,8 +240,8 @@
+
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR | USB_ENDPOINT_IN,
+- 0x01,
+- (0x000e | addr),
++ REQUEST_MOUSE_GET_RES_SSR,
++ (VALUE_MOUSE_GET_RES | addr),
+ (0x0000 | addr),
+ (char *) buf,
+ 1,
+@@ -255,8 +277,8 @@
+ if (m->has_ssr) {
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR | USB_ENDPOINT_IN,
+- 0x01,
+- (0x0017 | addr),
++ REQUEST_MOUSE_GET_RES_SSR,
++ (VALUE_MOUSE_GET_SSR | addr),
+ (0x0000 | addr),
+ (char*) buf,
+ 1,
+@@ -394,8 +416,8 @@
+ assert ((set_channel == 1) || (set_channel == 2));
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR,
+- 0x02,
+- (0x0008 | addr),
++ REQUEST_MOUSE_PUT_RES_SMS,
++ (VALUE_MOUSE_CHANNEL | addr),
+ ((set_channel - 1) | addr),
+ NULL,
+ 0,
+@@ -412,8 +434,8 @@
+ if (set_unlock) {
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR,
+- 0x02,
+- (0x06 | addr),
++ REQUEST_MOUSE_PUT_RES_SMS,
++ (VALUE_MOUSE_UNLOCK | addr),
+ (0x1 | addr),
+ NULL,
+ 0,
+@@ -430,8 +452,8 @@
+ if (set_lock) {
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR,
+- 0x02,
+- (0x0006 | addr),
++ REQUEST_MOUSE_PUT_RES_SMS,
++ (VALUE_MOUSE_UNLOCK | addr),
+ (0x0000 | addr),
+ NULL,
+ 0,
+@@ -448,8 +470,8 @@
+ if (set_clear) {
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR,
+- 0x09,
+- (0x0004 | addr),
++ REQUEST_MOUSE_CSR,
++ (VALUE_MOUSE_CLEAR | addr),
+ (0x0000 | addr),
+ NULL,
+ 0,
+@@ -483,8 +505,8 @@
+
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR,
+- 0x0002,
+- 0x000e,
++ REQUEST_MOUSE_PUT_RES_SMS,
++ VALUE_MOUSE_PUT_RES,
+ (set_res / 400) + 2,
+ NULL,
+ 0,
+@@ -514,8 +536,8 @@
+ assert ((set_sms == 1) || (set_sms == -1));
+ if (usb_control_msg ( handle,
+ USB_TYPE_VENDOR,
+- 0x02,
+- 0x0017,
++ REQUEST_MOUSE_PUT_RES_SMS,
++ VALUE_MOUSE_PUT_SSR,
+ (set_sms == 1 ? 0x0001 : 0x0000),
+ NULL,
+ 0,
+@@ -641,7 +663,7 @@
+ /* Do we support this device? If so, list it. */
+ if ((m = find_mouse (device)) != NULL) {
+
+- printf ("%s.%s: %04x:%04x %s (%s) Caps: %s%s%s\n",
++ printf ("%s.%s: %04x:%04x %s (%s) Caps: %s%s%s%s\n",
+ device->bus->dirname,
+ device->filename,
+ device->descriptor.idVendor,
+@@ -650,6 +672,7 @@
+ m->model,
+ m->has_csr? "CSR ": "",
+ m->has_res? "RES ": "",
++ m->has_ssr? "SSR ": "",
+ m->has_sms? "SMS ": ""
+ );
+ }
+diff -Nuar --exclude '*~' lomoco-1.0.old/src/lomoco.h lomoco-1.0/src/lomoco.h
+--- lomoco-1.0.old/src/lomoco.h 2006-03-01 06:10:05.000000000 -0800
++++ lomoco-1.0/src/lomoco.h 2006-04-30 02:34:04.381175920 -0700
+@@ -97,4 +97,17 @@
+ int is_dual;
+ } mouse_t;
+
++
++#define REQUEST_MOUSE_CSR 0x09
++#define VALUE_MOUSE_GET 0x0003
++#define VALUE_MOUSE_CLEAR 0x0004
++#define REQUEST_MOUSE_GET_RES_SSR 0x01
++#define VALUE_MOUSE_GET_RES 0x000e
++#define VALUE_MOUSE_GET_SSR 0x0017
++#define REQUEST_MOUSE_PUT_RES_SMS 0x02
++#define VALUE_MOUSE_UNLOCK 0x0006
++#define VALUE_MOUSE_CHANNEL 0x0008
++#define VALUE_MOUSE_PUT_RES 0x000e
++#define VALUE_MOUSE_PUT_SSR 0x0017
++
+ #endif /* __LOMOCO_H */
diff --git a/sys-apps/lomoco/lomoco-1.0-r1.ebuild b/sys-apps/lomoco/lomoco-1.0-r1.ebuild
new file mode 100644
index 000000000000..702c05134eb8
--- /dev/null
+++ b/sys-apps/lomoco/lomoco-1.0-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/lomoco/lomoco-1.0-r1.ebuild,v 1.1 2006/04/30 09:41:33 robbat2 Exp $
+
+inherit autotools eutils
+
+DESCRIPTION="Lomoco can configure vendor-specific options on Logitech USB mice \
+(or dual-personality mice plugged into the USB port). Visit the website for \
+specific available options."
+HOMEPAGE="http://lomoco.linux-gamers.net/"
+SRC_URI="http://lomoco.linux-gamers.net/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~x86"
+IUSE=""
+
+DEPEND="dev-libs/libusb"
+
+src_unpack() {
+ unpack ${A}
+ epatch ${FILESDIR}/${P}-gentoo-hardware-support.patch
+ cd ${S}
+ eautoreconf
+}
+
+src_compile() {
+ econf
+ emake || die "make failed"
+}
+
+src_install() {
+ make DESTDIR="${D}" install || die "make install failed"
+ dodoc AUTHORS ChangeLog NEWS README
+}