Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Wacom Cintiq 22HD: xsetwacom lists nothing
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
VinzC
Advocate
Advocate


Joined: 17 Apr 2004
Posts: 4665
Location: Theux (Belgium)

PostPosted: Wed Sep 12, 2012 6:28 pm    Post subject: [SOLVED] Wacom Cintiq 22HD: xsetwacom lists nothing Reply with quote

Hi again.

I recently bought a Wacom Cintiq 22HD. It embeds a 22 inches display, a DVI-D video cable and a USB cable. My desktop environment is Xfce 4.10. The tablet is detected somehow when I plug the USB cable in because I see the OSD notification "A tablet was plugged in". However when I run xsetwacom --list devices it returns nothing.

If I plug my Wacom Bamboo fun xsetwacom --list devices returns the following:
xsetwacom --list devices:
Wacom Bamboo Comic 2FG Pen stylus   id: 11   type: STYLUS   
Wacom Bamboo Comic 2FG Pen eraser   id: 12   type: ERASER   
Wacom Bamboo Comic 2FG Finger touch   id: 13   type: TOUCH     
Wacom Bamboo Comic 2FG Finger pad   id: 14   type: PAD

I am running my machine with CK sources (3.3.4), which I patched with this:
Code:
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
index 6533f44..0020419 100644
--- a/drivers/input/tablet/wacom_wac.c
+++ b/drivers/input/tablet/wacom_wac.c
@@ -464,7 +464,7 @@ static void wacom_intuos_general(struct wacom_wac *wacom)
    if ((data[1] & 0xb8) == 0xa0) {
       t = (data[6] << 2) | ((data[7] >> 6) & 3);
       if ((features->type >= INTUOS4S && features->type <= INTUOS4L) ||
-          features->type == WACOM_21UX2 || features->type == WACOM_24HD) {
+          (features->type >= WACOM_21UX2 && features->type <= WACOM_24HD)) {
          t = (t << 1) | (data[1] & 1);
       }
       input_report_abs(input, ABS_PRESSURE, t);
@@ -614,7 +614,7 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
             input_report_abs(input, ABS_MISC, 0);
          }
       } else {
-         if (features->type == WACOM_21UX2) {
+         if (features->type == WACOM_21UX2 || features->type == WACOM_22HD) {
             input_report_key(input, BTN_0, (data[5] & 0x01));
             input_report_key(input, BTN_1, (data[6] & 0x01));
             input_report_key(input, BTN_2, (data[6] & 0x02));
@@ -633,6 +633,12 @@ static int wacom_intuos_irq(struct wacom_wac *wacom)
             input_report_key(input, BTN_Z, (data[8] & 0x20));
             input_report_key(input, BTN_BASE, (data[8] & 0x40));
             input_report_key(input, BTN_BASE2, (data[8] & 0x80));
+
+            if (features->type == WACOM_22HD) {
+               input_report_key(input, KEY_PROG1, data[9] & 0x01);
+               input_report_key(input, KEY_PROG2, data[9] & 0x02);
+               input_report_key(input, KEY_PROG3, data[9] & 0x04);
+            }
          } else {
             input_report_key(input, BTN_0, (data[5] & 0x01));
             input_report_key(input, BTN_1, (data[5] & 0x02));
@@ -1231,6 +1237,7 @@ void wacom_wac_irq(struct wacom_wac *wacom_wac, size_t len)
    case CINTIQ:
    case WACOM_BEE:
    case WACOM_21UX2:
+   case WACOM_22HD:
    case WACOM_24HD:
       sync = wacom_intuos_irq(wacom_wac);
       break;
@@ -1432,6 +1439,12 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev,
       wacom_setup_cintiq(wacom_wac);
       break;
 
+   case WACOM_22HD:
+      __set_bit(KEY_PROG1, input_dev->keybit);
+      __set_bit(KEY_PROG2, input_dev->keybit);
+      __set_bit(KEY_PROG3, input_dev->keybit);
+      /* fall through */
+
    case WACOM_21UX2:
       __set_bit(BTN_A, input_dev->keybit);
       __set_bit(BTN_B, input_dev->keybit);
@@ -1858,6 +1871,9 @@ static const struct wacom_features wacom_features_0xF0 =
 static const struct wacom_features wacom_features_0xCC =
    { "Wacom Cintiq 21UX2",   WACOM_PKGLEN_INTUOS,    87200, 65600, 2047,
      63, WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
+static const struct wacom_features wacom_features_0xFA =
+   { "Wacom Cintiq 22HD",    WACOM_PKGLEN_INTUOS,    95840, 54260, 2047,
+     63, WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
 static const struct wacom_features wacom_features_0x90 =
    { "Wacom ISDv4 90",       WACOM_PKGLEN_GRAPHIRE,  26202, 16325,  255,
      0, TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
@@ -2075,6 +2091,7 @@ const struct usb_device_id wacom_ids[] = {
    { USB_DEVICE_WACOM(0xEF) },
    { USB_DEVICE_WACOM(0x47) },
    { USB_DEVICE_WACOM(0xF4) },
+   { USB_DEVICE_WACOM(0xFA) },
    { USB_DEVICE_LENOVO(0x6004) },
    { }
 };
diff --git a/drivers/input/tablet/wacom_wac.h b/drivers/input/tablet/wacom_wac.h
index bd5d37b..96c185c 100644
--- a/drivers/input/tablet/wacom_wac.h
+++ b/drivers/input/tablet/wacom_wac.h
@@ -73,8 +73,9 @@ enum {
    INTUOS4S,
    INTUOS4,
    INTUOS4L,
-   WACOM_24HD,
    WACOM_21UX2,
+   WACOM_22HD,
+   WACOM_24HD,
    CINTIQ,
    WACOM_BEE,
    WACOM_MO,

for I once spotted the Cintiq series were supported only lately.

Strangely enough the stylus works though I have only tried to move it around, I haven't tried to use it. The reason is I need to assign the tablet area to the tablet display, which is why I need xsetwacom to work.

Does anybody have an idea or a suggestion how to make it work?

Thanks in advance.
_________________
Gentoo addict: tomorrow I quit, I promise!... Just one more emerge...
GNU/Linux user #369763
“Wow! I feel root”


Last edited by VinzC on Thu Sep 13, 2012 12:04 am; edited 1 time in total
Back to top
View user's profile Send private message
VinzC
Advocate
Advocate


Joined: 17 Apr 2004
Posts: 4665
Location: Theux (Belgium)

PostPosted: Thu Sep 13, 2012 12:04 am    Post subject: Reply with quote

Problem solved.

The fix was to copy /usr/share/X11/xorg.conf.d/50-wacom.conf to /etc/X11/xorg.conf.d/. It is even more strange since I didn't have to with my other Wacom Bamboo :roll: . Go figure...
xsetwacom --list devices:
Wacom Cintiq 22HD stylus           id: 10   type: STYLUS   
Wacom Cintiq 22HD eraser           id: 11   type: ERASER   
Wacom Cintiq 22HD pad              id: 12   type: PAD

Oh well, solved anyway.
_________________
Gentoo addict: tomorrow I quit, I promise!... Just one more emerge...
GNU/Linux user #369763
“Wow! I feel root”
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum