Ticket #6108: wacom_bamboo2.patch
File wacom_bamboo2.patch, 3.4 KB (added by , 14 years ago) |
---|
-
src/add-ons/input_server/devices/wacom/TabletDevice.h
31 31 uint32 mode = DEVICE_INTUOS); 32 32 33 33 void ReadData(const uchar* data, 34 int dataBytes, 34 35 bool& hasContact, 35 36 uint32& mode, 36 37 uint32& buttons, … … 76 77 DEVICE_PENSTATION, 77 78 DEVICE_CINTIQ, 78 79 DEVICE_BAMBOO, 80 DEVICE_BAMBOO_PT, 79 81 }; 80 82 81 83 enum { -
src/add-ons/input_server/devices/wacom/TabletDevice.cpp
223 223 case 0xB2: 224 224 SetDevice(60960.0, 45720.0, DEVICE_INTUOS3); 225 225 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; 226 241 default: 227 242 status = B_BAD_VALUE; 228 243 break; … … 243 258 244 259 // ReadData 245 260 void 246 TabletDevice::ReadData(const uchar* data, bool& hasContact, uint32& mode,247 uint32& buttons, float& x, float& y, float& pressure,261 TabletDevice::ReadData(const uchar* data, int dataBytes, bool& hasContact, 262 uint32& mode, uint32& buttons, float& x, float& y, float& pressure, 248 263 int32& clicks, int32& eraser, float& wheelX, float& wheelY, 249 264 float& tiltX, float& tiltY) const 250 265 { … … 302 317 303 318 break; 304 319 } 320 case DEVICE_BAMBOO_PT: 321 { 322 if (dataBytes < 20) { // ignore touch-packets 323 xPos = data[3] << 8 | data[2]; 324 yPos = data[5] << 8 | data[4]; 325 326 hasContact = (data[1] & 0x10) && (data[1] & 0x20); 327 328 uint16 pressureData = data[7] << 8 | data[6]; 329 pressure = (float)pressureData / 1023.0; 330 eraser = (data[1] & 0x08); 331 332 firstButton = (data[1] & 0x01); 333 secondButton = (data[1] & 0x02); 334 thirdButton = (data[1] & 0x04); 335 336 break; 337 } 338 } 305 339 case DEVICE_INTUOS: 306 340 case DEVICE_INTUOS3: 307 341 case DEVICE_CINTIQ: … … 598 632 float tiltX = 0.0; 599 633 float tiltY = 0.0; 600 634 // let the device extract all information from the data 601 tabletDevice->ReadData(data, hasContact, mode, buttons,635 tabletDevice->ReadData(data, dataBytes, hasContact, mode, buttons, 602 636 x, y, pressure, clicks, eraser, 603 637 wheelX, wheelY, tiltX, tiltY); 604 638 if (hasContact) { … … 766 800 case 0xB2: 767 801 *name = "Wacom Intuos3 9x12 USB"; 768 802 break; 803 804 case 0xD0: 805 *name = "Wacom Bamboo 2FG USB"; 806 break; 807 case 0xD1: 808 *name = "Wacom BambooFun 2FG 4x5\" USB"; 809 break; 810 case 0xD2: 811 *name = "Wacom Bamboo Craft USB"; 812 break; 813 case 0xD3: 814 *name = "Wacom BambooFun 2FG 6x8\" USB"; 815 break; 816 case 0xD4: 817 *name = "Wacom Bamboo 4x5\" USB"; 818 break; 819 769 820 default: 770 821 *name = "<unkown wacom tablet>"; 771 822 break;