| 17 | } |
| 18 | |
| 19 | MultitouchReturn VoodooI2CMultitouchEngine::handleInterruptReport(VoodooI2CMultitouchEvent event, AbsoluteTime timestamp) { |
| 20 | if (event.contact_count) |
| 21 | IOLog("Contact Count: %d\n", event.contact_count); |
| 22 | |
| 23 | for (int index = 0, count = event.transducers->getCount(); index < count; index++) { |
| 24 | VoodooI2CDigitiserTransducer* transducer = OSDynamicCast(VoodooI2CDigitiserTransducer, event.transducers->getObject(index)); |
| 25 | |
| 26 | if (!transducer) |
| 27 | continue; |
| 28 | |
| 29 | if (transducer->tip_switch) |
| 30 | IOLog("Transducer ID: %d, X: %d, Y: %d, Z: %d, Pressure: %d\n", transducer->secondary_id, transducer->coordinates.x.value(), transducer->coordinates.y.value(), transducer->coordinates.z.value(), transducer->tip_pressure.value()); |
| 31 | } |
| 32 | |
| 33 | return MultitouchReturnContinue; |
| 34 | } |
| 35 | |
| 36 | bool VoodooI2CMultitouchEngine::willTerminate(IOService* provider, IOOptionBits options) { |
| 37 | if (provider->isOpen(this)) |