Jump to content

i2c-hid touchscreens, trackpads and more


alex.daoud
 Share

59 posts in this topic

Recommended Posts

Update time!

 

It's been an eventful week for this project. We now have working (very basic and a bit laggy) inputs on one touchscreen thanks to some great work by @nuudles. Anyone who wants to test a pre-pre-pre-alpha (and not SP3 users, sorry but we haven't solved a DSDT issue for that device yet :( ), please contact @nuudles at http://gitter.im/alexandred/VoodooI2C. @nuudles will get you up to speed with what you need to do.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

So there has been significant progress in getting touch to work on the Surface Pro 3. We now have 3 different tablet devices (including SP3) confirmed working with VoodooI2C. See for yourself:

 

 

On top of that, the stylus works as well! Right now, it is fairly responsive but not as good as it could be. There are still many, many things that need to be done before we can even consider a proper public release. However, @julianjc84 has been kind enough to offer support for people who want to TEST a very pre-alpha version of this. I must stress that this is a pre-alpha and I personally will not be offering support and it is NOT designed for everyday use. I would recommend that once you test it, you remove it to prevent it from possibly breaking your install (I doubt it but always safe than sorry). Once more: this is not release standard, beware!

 

You can contact @julianjc84 in the following gitter chatroom for SP3 support: https://gitter.im/julianjc84/jc84_SP3_hookups

 

Please do not share the files outside of the gitter chatroom. I do not want this buggy kext to be floating around the internet. I trust you guys to do the right thing.

 

I, as usual, can always be found in https://gitter.im/alexandred/VoodooI2Cfor discussions related to the driver (non-SP3 device specific queries welcome). The project, as it stands, is currently on hold as I have started grad school and have no time whatsoever to work on it. I anticipate that we will have a proper release next year but don't hold me to it :)

  • Like 5
Link to comment
Share on other sites

  • 1 month later...

@Alex,

 

I got OSX working on the SP4 last night. Any chance I could get into your beta program so I can test the drivers on that? :-)

With video acceleration? I haven't tried yet because I figured there would be no video support. Can you post some details on your configuration, etc? Thanks in advance!

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

Small update for those waiting for SP3 touchscreen drivers. There hasn't been any new code contributions but someone was finally able to test a contribution from a couple of months back that gives proper input without the need for that HIDSample app (those who were alpha testing know what I'm referring to). The kext linked below can be loaded with "sudo kextload VoodooI2C.kext" and you should get basic mouse-like input. This includes navigating, left/right clicking and dragging. Keep in mind that these drivers are still experimental so I don't suggest you install them to /s/l/e. Furthermore, these drivers do not support power saving so it is highly likely that if you put the machine to sleep, it will crash. 

 

https://www.dropbox.com/s/cdnnfgh80fcoprw/VoodooI2C%20SP3%20alpha.zip?dl=0

Link to comment
Share on other sites

  • 2 weeks later...

I have a Dell Venue 11 Pro 7140. I like to try your kext for the touchscreen.
Where can I go and download this from. I don't know how to do Xcode,
so not sure on what to do. I'm on El Captain. Thank for the help.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • 4 weeks later...
  • 1 month later...

Lenovo Yoga 15IBD touchscreen support OOB but not autorotate. Does this kext solve autorotate?

One more thing, hid-i2c accelerometer sensor device id change with bios update. This make Linux to be sort out after bios update. Does the kext catchup with this?

https://www.youtube.com/watch?annotation_id=annotation_3372512937&feature=iv&src_vid=iGlL5b0HRhQ&v=lNFKSXUT7bk

https://www.youtube.com/watch?v=pgj5JuTJrzw

My device is INT3432 ElanMultitouch and Intel Aceelerometer Sensor

zB7T76f.jpg

Link to comment
Share on other sites

VoodooI2C

 

VoodooI2C is a kext that brings support for I2C controlled input devices to OS X. For a list of compatible controllers and devices, see the github page: https://github.com/alexandred/VoodooI2C .

 

Where we stand right now

 

Haswell, Broadwell and Skylake are fully functional as controllers. On the device side, most (if not all) i2c-hid devices have basic functionality (sometimes with minor changes to the code). Various proprietary interfaces are also supported such as the ELAN I2C interface which brings native multitouch to a variety of ELAN trackpads and touchscreens.

 

What will be supported?

 

I envisage only 3 classes of i2c-hid support by code I have written. Touchscreens, touchpads and sensor hubs. Sensor hubs contain information from the accelerometer (and possibly the fingerprint reader if your device has one, based on my research). This will allow us to get screen rotation on tablets.

 

Testing

 

Do you have a device with a touchscreen or trackpad that refuses to work no matter what drivers you throw it at? You might be a good candidate for this driver, simply post your DSDT, SSDTs and IOReg in this thread, along with your device's model number and OS X version and I will confirm if you will be able to use it or not.

 

 

Technical Data

 

Apple actually has drivers for the Intel LynxPoint LPSS I2C devices (as can be found in /System/Library/Extensions) but these are not compatible with our devices. Apple's drivers expect the interrupts to occur over GPIO whereas the ones found on our devices do not use this. Hence it cannot find the necessary pin data and that is why we get "probe fails" (also applies to SPI, UART etc).

 

Source Code

 

The source code can be found at http://www.github.com/alexandred/VoodooI2C

 

Disclaimer

 

I am in no way affiliated with the VoodooProject. VoodooI2C was an internal name as I couldn't think of what to name it. Suggestions?

I have patched my dsdt and install this voodooi2c version and got it detected but nothing change. What else now?

https://drive.google.com/open?id=0B1KNH_A4Fos6OVU3SWlrU3pFZE0

uewJE3W.jpg

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...

Hi folks,

 

does anyone know what exactly is supported with the following Controller (as mentioned in the project readme):

 

WCOM4818 touch screen + stylus (Skylake HP Elite X2 1012)

So does this readme mean Multitouch or simply one-point-touch or what exactly!?

 

I'm thinking about buying an Elite X2 1012.

If I get one I will try to let it run macOS - though I have not found any reference to someone else working on that particular 2-in1-tablet.

 

Thanks in advance!

 

 

-- Gesendet von unterwegs @ iOS9

Link to comment
Share on other sites

 Share

×
×
  • Create New...