From e5b00404525d79276a492b737678731f031f6cac Mon Sep 17 00:00:00 2001 From: Ondra Havel Date: Mon, 4 Jun 2012 00:36:45 +0200 Subject: [PATCH 1/6] am0605 backported --- hanvon.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hanvon.c b/hanvon.c index c319a52..14bfa4f 100644 --- a/hanvon.c +++ b/hanvon.c @@ -16,6 +16,7 @@ MODULE_LICENSE(DRIVER_LICENSE); #define USB_VENDOR_ID_HANVON 0x0b57 #define USB_PRODUCT_ID_AM0806 0x8502 +#define USB_PRODUCT_ID_AM0605 0x8503 #define USB_PRODUCT_ID_AM1107 0x8505 #define USB_PRODUCT_ID_AM1209 0x8501 #define USB_PRODUCT_ID_RL0604 0x851f @@ -119,6 +120,7 @@ static struct usb_device_id hanvon_ids[] = { { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM1209) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM1107) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM0806) }, + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM0605) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0604) }, { } }; From fbb9619e1e8a162e246af1b6123b2ccd83431087 Mon Sep 17 00:00:00 2001 From: Ondra Havel Date: Wed, 19 Dec 2012 23:07:19 +0100 Subject: [PATCH 2/6] AM3M support, 3.5+ compatibility --- hanvon.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hanvon.c b/hanvon.c index 14bfa4f..8dc25b7 100644 --- a/hanvon.c +++ b/hanvon.c @@ -5,7 +5,7 @@ #include #include -#define DRIVER_VERSION "0.4" +#define DRIVER_VERSION "0.5" #define DRIVER_AUTHOR "Ondra Havel " #define DRIVER_DESC "USB Hanvon tablet driver" #define DRIVER_LICENSE "GPL" @@ -15,11 +15,13 @@ MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE(DRIVER_LICENSE); #define USB_VENDOR_ID_HANVON 0x0b57 +#define USB_PRODUCT_ID_AM3M 0x8528 #define USB_PRODUCT_ID_AM0806 0x8502 #define USB_PRODUCT_ID_AM0605 0x8503 #define USB_PRODUCT_ID_AM1107 0x8505 #define USB_PRODUCT_ID_AM1209 0x8501 #define USB_PRODUCT_ID_RL0604 0x851f +#define USB_PRODUCT_ID_RL0504 0x851d #define USB_AM_PACKET_LEN 10 static int lbuttons[]={BTN_0,BTN_1,BTN_2,BTN_3}; /* reported on all AMs */ @@ -92,7 +94,7 @@ static void hanvon_irq(struct urb *urb) if(data[3]==0xaa) /* right side (am1107, am1209) */ report_buttons(hanvon,rbuttons,data[4]); break; - + case 0x02: /* position change */ if((data[1] & 0xf0) != 0) { input_report_abs(dev, ABS_X, get_unaligned_be16(&data[2])); @@ -113,15 +115,17 @@ static void hanvon_irq(struct urb *urb) exit: retval = usb_submit_urb (urb, GFP_ATOMIC); if (retval) - err("%s - usb_submit_urb failed with result %d", __func__, retval); + dbg("%s - usb_submit_urb failed with result %d", __func__, retval); } static struct usb_device_id hanvon_ids[] = { + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM3M) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM1209) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM1107) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM0806) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM0605) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0604) }, + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0504) }, { } }; From d85b427453c59c24a92d097d9c88f8628ba5d6c2 Mon Sep 17 00:00:00 2001 From: Ondra Havel Date: Fri, 4 Jan 2013 01:00:22 +0100 Subject: [PATCH 3/6] adding support for gp0806 --- hanvon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hanvon.c b/hanvon.c index 8dc25b7..f48241b 100644 --- a/hanvon.c +++ b/hanvon.c @@ -21,7 +21,9 @@ MODULE_LICENSE(DRIVER_LICENSE); #define USB_PRODUCT_ID_AM1107 0x8505 #define USB_PRODUCT_ID_AM1209 0x8501 #define USB_PRODUCT_ID_RL0604 0x851f -#define USB_PRODUCT_ID_RL0504 0x851d +#define USB_PRODUCT_ID_RL0504 0x851d +#define USB_PRODUCT_ID_GP0806 0x8039 + #define USB_AM_PACKET_LEN 10 static int lbuttons[]={BTN_0,BTN_1,BTN_2,BTN_3}; /* reported on all AMs */ @@ -126,6 +128,7 @@ static struct usb_device_id hanvon_ids[] = { { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_AM0605) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0604) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0504) }, + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_GP0806) }, { } }; From 15ac102348bbd851eb23b80138fcc077553b1bd4 Mon Sep 17 00:00:00 2001 From: Ondra Havel Date: Fri, 4 Jan 2013 01:09:07 +0100 Subject: [PATCH 4/6] readme update --- README | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/README b/README index a1432e0..7f9048b 100644 --- a/README +++ b/README @@ -10,8 +10,9 @@ one works only together with pen activity), and the slider button. Supported hardware ================== -Artmaster I: AM0806, AM1107, AM1209 -Rollick: RL0604 +AM3M, AM0806, AM0605, AM1107, AM1209, RL0604, RL0504, GP0806 + +AM - Artmaster I, RL - Rollick, GP - GraphicPal Installation @@ -32,15 +33,3 @@ After insmod, check with dmesg, if the module was loaded properly. "USB Hanvon tablet driver" should appear in the listing. lsmod should also contain hanvon in its listing: lsmod | grep hanvon - - -Revision history -================ - -0.0.1 - initial release - 0.2 - corrected pressure detection, working slider button - 0.3 - remaining buttons also working, added x and y tilting - 0.3b - patch for AM1209 from Markus Zucker applied - 0.3c - patch for AM1107 from Daniel Koch applied - 0.3d - support for right side buttons of AM1107 and AM1209 - 0.4 - code cleanup, RL0604 patch from Daniel Clemmer From e514de8cdcedb61c037bcb3d0d01358dff9d9c07 Mon Sep 17 00:00:00 2001 From: ond Date: Sun, 3 Feb 2013 17:22:26 +0100 Subject: [PATCH 5/6] adding gp0504 --- README | 4 +++- hanvon.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README b/README index 7f9048b..55e5953 100644 --- a/README +++ b/README @@ -10,7 +10,9 @@ one works only together with pen activity), and the slider button. Supported hardware ================== -AM3M, AM0806, AM0605, AM1107, AM1209, RL0604, RL0504, GP0806 +AM3M, AM0806, AM0605, AM1107, AM1209 +RL0604, RL0504 +GP0806, GP0504 AM - Artmaster I, RL - Rollick, GP - GraphicPal diff --git a/hanvon.c b/hanvon.c index f48241b..8d706e7 100644 --- a/hanvon.c +++ b/hanvon.c @@ -23,6 +23,7 @@ MODULE_LICENSE(DRIVER_LICENSE); #define USB_PRODUCT_ID_RL0604 0x851f #define USB_PRODUCT_ID_RL0504 0x851d #define USB_PRODUCT_ID_GP0806 0x8039 +#define USB_PRODUCT_ID_GP0504   0x8037 #define USB_AM_PACKET_LEN 10 @@ -129,6 +130,7 @@ static struct usb_device_id hanvon_ids[] = { { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0604) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0504) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_GP0806) }, + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_GP0504) }, { } }; From d73afa65263c7ec6b874f65e4c81e445fea1ceae Mon Sep 17 00:00:00 2001 From: ond Date: Fri, 7 Jun 2013 23:43:49 +0200 Subject: [PATCH 6/6] adding nilox nxs1513 --- hanvon.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hanvon.c b/hanvon.c index 8d706e7..db0861c 100644 --- a/hanvon.c +++ b/hanvon.c @@ -23,7 +23,9 @@ MODULE_LICENSE(DRIVER_LICENSE); #define USB_PRODUCT_ID_RL0604 0x851f #define USB_PRODUCT_ID_RL0504 0x851d #define USB_PRODUCT_ID_GP0806 0x8039 -#define USB_PRODUCT_ID_GP0504   0x8037 +#define USB_PRODUCT_ID_GP0806B 0x8511 +#define USB_PRODUCT_ID_GP0504 0x8037 +#define USB_PRODUCT_ID_NXS1513 0x8030 #define USB_AM_PACKET_LEN 10 @@ -130,7 +132,9 @@ static struct usb_device_id hanvon_ids[] = { { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0604) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_RL0504) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_GP0806) }, + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_GP0806B) }, { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_GP0504) }, + { USB_DEVICE(USB_VENDOR_ID_HANVON, USB_PRODUCT_ID_NXS1513) }, { } };