diff options
Diffstat (limited to 'sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch')
-rw-r--r-- | sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch | 287 |
1 files changed, 0 insertions, 287 deletions
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 deleted file mode 100644 index 5a5cd7d3fcb9..000000000000 --- a/sys-apps/lomoco/files/lomoco-1.0-gentoo-hardware-support.patch +++ /dev/null @@ -1,287 +0,0 @@ -- Support for other hardware -- ssr comment in the mouse array. -- Use of defines for numeric constants to improve code readability. -- Debian patch integrated - -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}, -@@ -42,6 +42,7 @@ - {0xc012, "MouseMan Dual Optical", "M-BL63B", 0, 1, 0, 0, 0}, - {0xc01d, "MX510 Optical Mouse", "M-BS81A", 0, 1, 1, 1, 0}, - {0xc01e, "MX518 Optical Mouse", "M-BS81A", 0, 1, 1, 0, 0}, -+ {0xc051, "MX518 Optical Mouse", "M-BS81A", 0, 1, 1, 0, 0}, - {0xc024, "MX300 Optical Mouse", "M-BP82", 0, 1, 0, 0, 0}, - {0xc01b, "MX310 Optical Mouse", "M-BP86", 0, 1, 0, 0, 0}, - {0xc025, "MX500 Optical Mouse", "M-BP81A", 0, 1, 1, 1, 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 ": "" - ); - } -@@ -667,7 +671,7 @@ - device->filename, - device->descriptor.idVendor, - device->descriptor.idProduct, -- ret ? product : "Unknown" -+ ret > 0 ? product : "Unknown" - ); - continue; - } -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 */ |