Jump to content

Cavendish Qi

Cavendish Qi

Member Since 11 Apr 2010
Offline Last Active May 13 2013 08:10 PM
-----

Topics I've Started

Elan Touchpad Driver

28 August 2012 - 01:26 PM

Latest
There is another work on the same topic in tonymacx86, http://www.tonymacx8...er-mac-osx.html
I will have a try tonight or later.
Note: they released kexts for Lion and Mountain Lion, source code in https://github.com/E...ouchpad-Driver/

Status
Just started, very beginning(yes, I mean not much functions work by now).
For V3, single finger movement and taptoclick should work.
It's a development thread for now, not for final end users!
If you want to help this topic, please join!

Target
This thread is focused on Elan touchpad(at least for ASUS laptops), not for others.

Code
Code Base: https://github.com/AppleLife/VoodooPS2
(Thanks Slice, THe KiNG, AndyV and all people who contributed to VoodooPS2)
Relative talk: http://www.projectos...?showtopic=1937

My repo: https://github.com/liangqi/VoodooPS2/
My change: https://github.com/l...21f16bd0dd3e1a5
Note: this change will allow people to build code on 10.7 + Xcode 4.4 and 10.8 + Xcode 4.4, but I only tested the VoodooPS2ElanTrackpad.kext on 10.8. Need someone to verify whether it works on 10.7 or not.

Reference
Elan linux driver:
Documentation:
elantech.txt http://git.kernel.or...ech.txt;hb=HEAD
event-codes.txt http://git.kernel.or...des.txt;hb=HEAD

Source code:
elantech.h http://git.kernel.or...ntech.h;hb=HEAD
elantech.c http://git.kernel.or...ntech.c;hb=HEAD
input.h http://git.kernel.or...input.h;hb=HEAD

Elan freebsd driver: freebsd.zip, got from akbar102
check attachment now, will update as links when I found

By now, I think linux driver is better than freebsd one.

Environment
My work env: 10.8.1 + Xcode 4.4.1 / 10.7.4 + Xcode 4.4
My test env: 10.8.1 + Xcode 4.4.1
Laptop: ASUS A43SV/K43SV

Finished
please check the commit msg in above link of "My change".

Todo
1. at least by now, we found Apple hasn't released any api for multitouch device, you could find this, /System/Library/PrivateFrameworks/MultitouchSupport.framework/
2. then what we could do for now, only provide functions which are in IOHIPointing, you can consider it is a mouse device. I will try 2 fingers taptoclick for right button click, and 2 fingers scroll for h/v scroll
3. we should use the settings in System Preferences/TrackPad, at least the "Tracking Speed"
4. And I think current one is "very" unstable, not sure about the reason....

Attachments
1. AppleACPIPS2Nub.kext.zip
2. ApplePS2Controller.kext.zip
3. ApplePS2Controller-10.7build.kext.zip - build on 10.7 + Xcode 4.4(build with f14d012285e1e1218187f16ff21ddc462219294b)
4. ApplePS2Controller-10.8build.kext.zip - build on 10.8 + Xcode 4.4(build with a4f3acc85beb848007dde5ad721f16bd0dd3e1a5, latest)

Test Tasks
0. please mention your laptop model, OS X version, Xcode version with your log, if same contents happened multiple times, pls only paste one here, thanks.
1. verify about whether ApplePS2Controller-10.7build.kext.zip and ApplePS2Controller-10.8build.kext.zip work fine or not on 10.8 - Finished by me
2. verify about whether ApplePS2Controller-10.7build.kext.zip and ApplePS2Controller-10.8build.kext.zip work fine or not on 10.7
3. or maybe someone could try to use them on 10.6
4. could you introduce more info about your elan touchpad? for example, how many buttons on it? what are the available options for it on Windows?

How I test
(NOTE: you need to have an external usb mouse to work on OS X!)
0. build my code
1. I am using the AppleACPIPS2Nub.kext and ApplePS2Controller.kext(in /S/L/E) from Multi.Beast. 5.0.2, also included in attachement
2. remove the ApplePS2Mouse.kext and ApplePS2Trackpad.kext from /S/L/E/ApplePS2Controller.kext/Contents/Plugins
3. copy the VoodooPS2ElanTrackpad.kext(for Xcode 4.4, it should be sth like ~/Library/Developer/Xcode/DerivedData/VoodooPS2-abcdefg....../Build/Products/Debug/VoodooPS2Controller.kext/Contents/PlugIns) into above position, /S/L/E/ApplePS2Controller.kext/Contents/Plugins
4. run Kext Utility to fix the permission and update the kernel cache.
5. reboot the machine and check system.log in Console, what I got now:
https://gist.github.com/3614140
Note: in the log, left button click, right button click, 1 finger tap to click, 1 finger movement(for v3 hardware). 2 fingers and 3 fingers maybe cause some kernel crash or no response, need to reboot the machine

Where can I find the ioreg(s) for macintosh?

30 January 2012 - 06:45 AM

I just found a thread about those files from another forum, the author of that thread mentioned he got the file from here. The thread should be written by Andy Vandijck. But I just can't find it by search. Could you give me any hint? Thanks.

The contents of that file are like attachment screen shots.
© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy