Ticket #6108: wacom_bamboo.patch

File wacom_bamboo.patch, 2.4 KB (added by idefix, 14 years ago)

Add support for the newest Wacom Bamboo devices.

  • src/add-ons/input_server/devices/wacom/TabletDevice.h

     
    7676        DEVICE_PENSTATION,
    7777        DEVICE_CINTIQ,
    7878        DEVICE_BAMBOO,
     79        DEVICE_BAMBOO_PT,
    7980    };
    8081
    8182    enum {
  • src/add-ons/input_server/devices/wacom/TabletDevice.cpp

     
    223223        case 0xB2:
    224224            SetDevice(60960.0, 45720.0, DEVICE_INTUOS3);
    225225            break;
     226        case 0xD0:  // Wacom Bamboo 2FG (from Linux Wacom Project)
     227            SetDevice(14720.0, 9200.0, DEVICE_BAMBOO_PT);
     228            break;
     229        case 0xD1:  // Wacom BambooFun 2FG 4x5 (from Linux Wacom Project)
     230            SetDevice(14720.0, 9200.0, DEVICE_BAMBOO_PT);
     231            break;
     232        case 0xD2:  // Wacom Bamboo Craft (from Linux Wacom Project)
     233            SetDevice(14720.0, 9200.0, DEVICE_BAMBOO_PT);
     234            break;
     235        case 0xD3:  // Wacom BambooFun 2FG 6x8 (from Linux Wacom Project)
     236            SetDevice(21648.0, 13530.0, DEVICE_BAMBOO_PT);
     237            break;
     238        case 0xD4:  // Wacom Bamboo 4x5 (from Linux Wacom Project)
     239            SetDevice(14720.0, 9200.0, DEVICE_BAMBOO_PT);
     240            break;
    226241        default:
    227242            status = B_BAD_VALUE;
    228243            break;
     
    302317
    303318            break;
    304319        }
     320        case DEVICE_BAMBOO_PT:
     321        {
     322            xPos = data[3] << 8 | data[2];
     323            yPos = data[5] << 8 | data[4];
     324
     325            hasContact = (data[1] & 0x10) && (data[1] & 0x20);     
     326
     327            uint16 pressureData = data[7] << 8 | data[6];
     328            pressure = (float)pressureData / 1023.0;
     329            eraser = (data[1] & 0x08);
     330
     331            firstButton = (data[1] & 0x01);
     332            secondButton = (data[1] & 0x02);
     333            thirdButton = (data[1] & 0x04);
     334
     335            break;
     336        }
    305337        case DEVICE_INTUOS:
    306338        case DEVICE_INTUOS3:
    307339        case DEVICE_CINTIQ:
     
    766798        case 0xB2:
    767799            *name = "Wacom Intuos3 9x12 USB";
    768800            break;
     801
     802        case 0xD0:
     803            *name = "Wacom Bamboo 2FG USB";
     804            break;
     805        case 0xD1:
     806            *name = "Wacom BambooFun 2FG 4x5\" USB";
     807            break;
     808        case 0xD2:
     809            *name = "Wacom Bamboo Craft USB";
     810            break;
     811        case 0xD3:
     812            *name = "Wacom BambooFun 2FG 6x8\" USB";
     813            break;
     814        case 0xD4:
     815            *name = "Wacom Bamboo 4x5\" USB";
     816            break;
     817
    769818        default:
    770819            *name = "<unkown wacom tablet>";
    771820            break;