summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-misc/logitech-applet/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-misc/logitech-applet/files')
-rw-r--r--app-misc/logitech-applet/files/40-logitech_applet.rules6
-rw-r--r--app-misc/logitech-applet/files/logitech-applet-0.4_pre1-mx300-mx518.patch139
2 files changed, 145 insertions, 0 deletions
diff --git a/app-misc/logitech-applet/files/40-logitech_applet.rules b/app-misc/logitech-applet/files/40-logitech_applet.rules
new file mode 100644
index 000000000000..a51277c3ecb9
--- /dev/null
+++ b/app-misc/logitech-applet/files/40-logitech_applet.rules
@@ -0,0 +1,6 @@
+ACTION!="add", GOTO="logitech_applet_rules_end"
+SUBSYSTEM!="usb*", GOTO="logitech_applet_rules_end"
+
+ATTRS{manufacturer}=="Logitech", ATTRS{product}=="USB-PS/2 Optical Mouse", RUN+="/usr/sbin/logitech_applet -s 800"
+
+LABEL="logitech_applet_rules_end"
diff --git a/app-misc/logitech-applet/files/logitech-applet-0.4_pre1-mx300-mx518.patch b/app-misc/logitech-applet/files/logitech-applet-0.4_pre1-mx300-mx518.patch
new file mode 100644
index 000000000000..3e2e06536fcd
--- /dev/null
+++ b/app-misc/logitech-applet/files/logitech-applet-0.4_pre1-mx300-mx518.patch
@@ -0,0 +1,139 @@
+--- a/logitech_applet.c
++++ b/logitech_applet.c
+@@ -40,6 +40,44 @@
+ #endif
+
+ #define VENDOR_LOGITECH 0x046D
++#define HAS_RES 0x01 /* mouse supports variable resolution */
++#define HAS_SS 0x02 /* mouse supports smart scroll control */
++#define HAS_CSR 0x04 /* mouse supports cordless status reporting and control */
++#define HAS_SSR 0x08 /* mouse supports smart scroll reporting */
++#define USE_CH2 0x10 /* mouse needs to use the second channel */
++
++struct device_table {
++ int idVendor;
++ int idProduct;
++ char* Model;
++ char* Name;
++ int flags;
++}
++
++device_table[] = {
++ { VENDOR_LOGITECH, 0xC00E, "M-BJ58", "Wheel Mouse Optical", HAS_RES },
++ { VENDOR_LOGITECH, 0xC00F, "M-BJ79", "MouseMan Traveler", HAS_RES },
++ { VENDOR_LOGITECH, 0xC012, "M-BL63B", "MouseMan Dual Optical", HAS_RES },
++ { VENDOR_LOGITECH, 0xC01B, "M-BP86", "MX310 Optical Mouse", HAS_RES },
++ { VENDOR_LOGITECH, 0xC01D, "M-BS81A", "MX510 Optical Mouse", HAS_RES | HAS_SS | HAS_SSR },
++ { VENDOR_LOGITECH, 0xC01E, "M-BS81A", "MX518 Optical Mouse", HAS_RES },
++ { VENDOR_LOGITECH, 0xC01F, "M-BS82", "MX300 Optical Mouse", HAS_RES },
++ { VENDOR_LOGITECH, 0xC024, "M-BP82", "MX300 Optical Mouse", HAS_RES },
++ { VENDOR_LOGITECH, 0xC025, "M-BP81A", "MX500 Optical Mouse", HAS_RES | HAS_SS | HAS_SSR },
++ { VENDOR_LOGITECH, 0xC031, "M-UT58A", "iFeel Mouse (silver)", HAS_RES },
++ { VENDOR_LOGITECH, 0xC051, "M-BS81A", "MX518 Optical Mouse", HAS_RES },
++ { VENDOR_LOGITECH, 0xC501, "C-BA4-MSE", "Mouse Receiver", HAS_CSR },
++ { VENDOR_LOGITECH, 0xC502, "C-UA3-DUAL", "Dual Receiver", HAS_CSR | USE_CH2},
++ { VENDOR_LOGITECH, 0xC504, "C-BD9-DUAL", "Cordless Freedom Optical", HAS_CSR | USE_CH2 },
++ { VENDOR_LOGITECH, 0xC505, "C-BG17-DUAL", "Cordless Elite Duo", HAS_SS | HAS_SSR | HAS_CSR | USE_CH2},
++ { VENDOR_LOGITECH, 0xC506, "C-BF16-MSE", "MX700 Optical Mouse", HAS_SS | HAS_CSR },
++ { VENDOR_LOGITECH, 0xC508, "C-BA4-MSE", "Cordless Optical TrackMan", HAS_SS | HAS_CSR },
++ { VENDOR_LOGITECH, 0xC50B, "967300-0403", "Cordless MX Duo Receiver", HAS_SS|HAS_CSR },
++ { VENDOR_LOGITECH, 0xC50E, "M-RAG97", "MX1000 Laser Mouse", HAS_SS | HAS_CSR },
++ { VENDOR_LOGITECH, 0xC702, "C-UF15", "Receiver for Cordless Presenter", HAS_CSR },
++ { 0, 0, 0, 0, 0 }
++};
++
+
+ int get_resolution(struct usb_device *dev)
+ {
+@@ -141,7 +179,12 @@
+ return cruise;
+ }
+
+-/* resolution should be 0x03 for 400cpi, 0x04 for 800cpi */
++/* resolution should be:
++ * - 0x03 for 400cpi
++ * - 0x04 for 800cpi
++ * - 0x05 for 1200cpi
++ * - 0x06 for 1600cpi (actually 1800cpi on newer MX518)
++ */
+ int set_resolution(struct usb_device *dev, int resolution)
+ {
+ usb_dev_handle *usb_h;
+@@ -233,39 +276,6 @@
+ printf("Logitech Mouse Applet, Version %s\n", VERSION);
+ }
+
+-#define HAS_RES 0x01 /* mouse supports variable resolution */
+-#define HAS_SS 0x02 /* mouse supports smart scroll control */
+-#define HAS_CSR 0x04 /* mouse supports cordless status reporting and control */
+-#define HAS_SSR 0x08 /* mouse supports smart scroll reporting */
+-#define USE_CH2 0x10 /* mouse needs to use the second channel */
+-
+-struct device_table {
+- int idVendor;
+- int idProduct;
+- char* Model;
+- char* Name;
+- int flags;
+-} device_table[] = {
+- { VENDOR_LOGITECH, 0xC00E, "M-BJ58", "Wheel Mouse Optical", HAS_RES },
+- { VENDOR_LOGITECH, 0xC00F, "M-BJ79", "MouseMan Traveler", HAS_RES },
+- { VENDOR_LOGITECH, 0xC012, "M-BL63B", "MouseMan Dual Optical", HAS_RES },
+- { VENDOR_LOGITECH, 0xC01B, "M-BP86", "MX310 Optical Mouse", HAS_RES },
+- { VENDOR_LOGITECH, 0xC01D, "M-BS81A", "MX510 Optical Mouse", HAS_RES | HAS_SS | HAS_SSR },
+- { VENDOR_LOGITECH, 0xC024, "M-BP82", "MX300 Optical Mouse", HAS_RES },
+- { VENDOR_LOGITECH, 0xC025, "M-BP81A", "MX500 Optical Mouse", HAS_RES | HAS_SS | HAS_SSR },
+- { VENDOR_LOGITECH, 0xC031, "M-UT58A", "iFeel Mouse (silver)", HAS_RES },
+- { VENDOR_LOGITECH, 0xC501, "C-BA4-MSE", "Mouse Receiver", HAS_CSR },
+- { VENDOR_LOGITECH, 0xC502, "C-UA3-DUAL", "Dual Receiver", HAS_CSR | USE_CH2},
+- { VENDOR_LOGITECH, 0xC504, "C-BD9-DUAL", "Cordless Freedom Optical", HAS_CSR | USE_CH2 },
+- { VENDOR_LOGITECH, 0xC505, "C-BG17-DUAL", "Cordless Elite Duo", HAS_SS | HAS_SSR | HAS_CSR | USE_CH2},
+- { VENDOR_LOGITECH, 0xC506, "C-BF16-MSE", "MX700 Optical Mouse", HAS_SS | HAS_CSR },
+- { VENDOR_LOGITECH, 0xC508, "C-BA4-MSE", "Cordless Optical TrackMan", HAS_SS | HAS_CSR },
+- { VENDOR_LOGITECH, 0xC50B, "967300-0403", "Cordless MX Duo Receiver", HAS_SS|HAS_CSR },
+- { VENDOR_LOGITECH, 0xC50E, "M-RAG97", "MX1000 Laser Mouse", HAS_SS | HAS_CSR },
+- { VENDOR_LOGITECH, 0xC702, "C-UF15", "Receiver for Cordless Presenter", HAS_CSR },
+- { 0, 0, 0, 0, 0 }
+-};
+-
+ int main(int argc, char **argv)
+ {
+ struct usb_bus *bus;
+@@ -318,8 +328,12 @@
+ resolution = 400;
+ else if (!strcmp("800", optarg))
+ resolution = 800;
++ else if (!strcmp("1200", optarg))
++ resolution = 1200;
++ else if (!strcmp("1600", optarg))
++ resolution = 1600;
+ else
+- printf("Bad argument (should be 400 or 800)\n");
++ printf("Bad argument (should be 400, 800, 1200 or 1600)\n");
+ break;
+ case 'v':
+ version();
+@@ -363,14 +377,22 @@
+ break;
+ case 4: printf("800cpi\n");
+ break;
++ case 5: printf("1200cpi\n");
++ break;
++ case 6: printf("1600cpi\n");
++ break;
+ default: printf("(Unexpected result:%i)\n", resolution);
+ break;
+ }
+ } else {
+ if (400 == resolution)
+ set_resolution(dev, 0x03);
+- else
++ else if (800 == resolution)
+ set_resolution(dev, 0x04);
++ else if (1200 == resolution)
++ set_resolution(dev, 0x05);
++ else
++ set_resolution(dev, 0x06);
+ }
+ }
+