Jump to content

VoodooPS2 optimized for Snow Leopard, Leopard and Tiger


  • Please log in to reply
150 replies to this topic

#61
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,630 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
@Slice: I examined the Synaptics code some more and you were right.
It gets the value override from the Info.plist for the divisor (speed divisor) and inside the Info.plist it was still 23 instead of 1.
I modified the speed in the Info.plist to 1 and now it starts faster (and works right, even before login).
It may be a good idea though to make the resolution customiseable inside the Info.plist as well as the VoodooPS2 prefpane.
I will probably work on this later (when I have the time).
It may also be a good idea to expand the prefpane to also work for the other 2 trackpad classes (I may do that later too).

#62
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,019 posts
  • Gender:Male
  • Location:Moscow
I made a version that is good enough for me:
Keyboard supports multimedia keys.
ALPS trackpad supports tapping, sideScrolling and is affected by DarwinX Trackpad.prefPane.

THe KiNG
For you Keyboard will print all scancodes, not only extended, after you press PrintScreen. Second press stops logging.
At my keyboard PrintScreen = 0x2a (down)_0xaa (up) but not 0x37 as in the driver :unsure: May be you change the key (logScan) to some other unuseful code.
And also for you debug version of ALPSTrackpad. It prints into kernel.log every touch to trackpad.
I see my getStatus differ from your
Jan  2 22:38:48 MacBook kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [15 01 0a]
Jan  2 22:38:48 MacBook kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [11 01 0a]

Debug version
Attached File  VoodooPS2Controller.kext_DEBUG_Snow.zip   119.91KB   65 downloads

Full project with sources and binaries for Snow. Sorry Andy, I forget to apply your changes for Tiger.
Attached File  VoodooPS2_Slice.zip   5.52MB   171 downloads

TODO
SideScrolling assumes panel size of 950x720. Thus x>900 = VScroll, y>600 = HScroll. It will be better to use VoodooPS2.prefPane settings that the driver understand, for example TopEgde, RightEdge.
Tapping uses information about pressure but settings FingerZ is not used. Dunno what is it.
I cancel twoFingerScrolling, it is not needed when I have sideScrolling.
Sticking is not implemented.

#63
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Gurus
  • 755 posts
  • Gender:Male

THe KiNG
And also for you debug version of ALPSTrackpad. It prints into kernel.log every touch to trackpad.
I see my getStatus differ from your

Jan  2 22:38:48 MacBook kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [15 01 0a]
Jan  2 22:38:48 MacBook kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [11 01 0a]

Debug version
Attached File  VoodooPS2Controller.kext_DEBUG_Snow.zip   119.91KB   65 downloads

Nope, is clear we have diff hw, since it works for you, and on me is dead.
Jan  3 00:31:50 HM311 kernel[0]: VoodooPS2SynapticsTouchPad version 0.0 no supported Jan  3 00:31:50 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] E7: { 0x73, 0x02, 0x64 } E6: { 0x00, 0x00, 0x0a }Jan  3 00:31:50 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ALPS Device? YesJan  3 00:31:50 HM311 kernel[0]: ApplePS2Trackpad: ALPS GlidePoint v100.115Jan  3 00:31:50 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [10 00 0a]Jan  3 00:31:53: --- last message repeated 1 time ---Jan  3 00:31:53 HM311 kernel[0]: AppleWWANSupport2: Version number - 2.0, Input buffers 16, Output buffers 4Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyRepeat Value: 83333333Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDInitialKeyRepeat Value: 500000000Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollAcceleration Value: 20480Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDF12EjectDelay Value: 250Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDSlowKeysDelay Value: 0Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysDisabled Value: 0Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysOn Value: 0Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysShiftToggles Value: 0Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseKeysOptionToggles Value: 0Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDFKeyMode Value: 0Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseAcceleration Value: 45056Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseScrollAcceleration Value: 20480Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000Jan  3 00:31:59 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyboardModifierMappingPairs Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDResetPointer Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseAcceleration Value: 45056Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollReset Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollAcceleration Value: 20480Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseScrollAcceleration Value: 20480Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDResetKeyboard Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyRepeat Value: 83333333Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDInitialKeyRepeat Value: 500000000Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseAcceleration Value: 196608Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDTrackpadAcceleration Value: 98304Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDTrackpadScrollAcceleration Value: 196608Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseScrollAcceleration Value: 8192Jan  3 00:32:04 HM311 kernel[0]: [ApplePS2ALPSGlidePoint] ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  3 00:32:05 HM311 kernel[0]: bject: HIDDefaultParameters Value: ??

Something got wrong with E6 report, dosen't look right.
I will check keyboard debug.
Thanks.

#64
Zprood

Zprood

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 251 posts
  • Gender:Male
  • Location:CHN
Hi Slice, thanks for the work, here is my test info.The smoothness and acceleration plays well, can be effect by the prefPane setting. side scroll speed out of control, it is too fast..Could click but no drag.

[codebox]Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: VoodooPS2SynapticsTouchPad version 0.0 no supported
Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] E7: { 0x73, 0x02, 0x0a } E6: { 0x00, 0x00, 0x28 }
Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] ALPS Device? Yes
Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: ApplePS2Trackpad: ALPS GlidePoint v10.115
Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [15 01 0a]wl0: Broadcom BCM4315 802.11 Wireless Controller
Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: 5.10.91.27
Jan 3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] Tapping can only be toggled.
Jan 3 11:42:22 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [11 01 0a][/codebox]

#65
kidalive

kidalive

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 275 posts
  • Gender:Male

I rebuilt (and slightly rewrote) VoodooPS2 for Snow Leopard, Leopard and Tiger.
This does not need a nub so delete AppleACPIPS2Nub.kext before install (Don't delete on Tiger though).
The nub is built directly into the VoodooPS2Controller.
For Tiger the nub is dropped because it is present allready in AppleACPIPlatform.kext's plugins.
I also implemented Slice's multimedia keys fix (working now) and the high resolution fix (2400 dpi for Synaptics).
NOTE: If you have a Synaptics touchpad make sure to set the speed to high prior to installation (in Apple Trackpad prefpane).
The speed of the Synaptics touchpad now starts on max (new fix).
The tapping function for ALPS should work too now...
Happy X-Mas to everybody too and a happy new year. :D

Download including sources:
http://rapidshare.co...0/VoodooPS2.zip
Or download below...
The built products are under build/Release (Tiger/Leopard)

Hi, Andy. Way to go. B.t.w. how to check what kind of trackpad my laptop is? I got PS/2 in everest on windows. And cannot get the 2-finger scrolling working using Voodoops2. How can I get this function working? It's really useful while browsing webs and read books.

P.S. I installed but only keyboard is working the trackpad isn't working. I installed the panel but came across this error shown below. Any idea?
Attached File  Screen_shot_2011_01_03_at_12.36.55_PM.png   13.58KB   17 downloads

dmesg shows this below:
bject: HIDFKeyMode Value: 0
ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyboardModifierMappingPairs Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDResetPointer Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2
ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollReset Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollAcceleration Value: 20480
ApplePS2ALPSGlidePoint: Dictionary Object: HIDResetKeyboard Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyRepeat Value: 83333333
ApplePS2ALPSGlidePoint: Dictionary Object: HIDInitialKeyRepeat Value: 500000000
ApplePS2ALPSGlidePoint: Dictionary Object: HIDTrackpadAcceleration Value: 45056
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadPinch Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadScroll Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadHorizScroll Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: Dragging Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: Clicking Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: DragLock Value: 0
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadCornerSecondaryClick Value: 0
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadRotate Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadThreeFingerSwipe Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadRightClick Value: 0
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadFourFingerHorizSwipeGesture Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: TrackpadFourFingerVertSwipeGesture Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: ABmod, Loading Clicking Settings at Boot: 1, 1, 1ApplePS2ALPSGlidePoint: Dictionary Object: JitterNoMove Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: JitterNoClick Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: PalmNoAction When Typing Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: PalmNoAction Permanent Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: TwofingerNoAction Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: OutsidezoneNoAction When Typing Value: 1
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: Use Panther Settings for W Value: 0
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: Trackpad Jitter Milliseconds Value: 192
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: USBMouseStopsTrackpad Value: 0
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollZoomModifierMask Value: 262144
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??
ApplePS2ALPSGlidePoint: Dictionary Object: HIDWaitCursorFrameInterval Value: 33333335
ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??

And I can get my trackpad incomplete working(no scrolling) by delete trees of ALPS GLIDPOINT or both of ALPS GLIDPOINT and SYNAPTIC TOUCHPAD. As shown below.
Not working using this setting.
Attached File  Screen_shot_2011_01_03_at_12.50.57_PM.png   27.03KB   65 downloads
Working with this.
Attached File  Screen_shot_2011_01_03_at_12.50.20_PM.png   22.84KB   65 downloads

#66
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,019 posts
  • Gender:Male
  • Location:Moscow

Hi Slice, thanks for the work, here is my test info.The smoothness and acceleration plays well, can be effect by the prefPane setting. side scroll speed out of control, it is too fast..Could click but no drag.

Side scroll speed is controlled by this panel
Attached File  Screen_shot_2011_01_03_at_10.34.56.png   58.23KB   90 downloads
Dragging is not implemented.

#67
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,019 posts
  • Gender:Male
  • Location:Moscow

It may be a good idea though to make the resolution customiseable inside the Info.plist as well as the VoodooPS2 prefpane.
I will probably work on this later (when I have the time).
It may also be a good idea to expand the prefpane to also work for the other 2 trackpad classes (I may do that later too).

It will be good if you do this. Try to find ServiceMatching better then by name for prefpane works with any trackpad.
I am not clever in Objective-C so prefPane is for you.
Also it will be good to make Calibration procedure.

#68
VMonHeros

VMonHeros

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts
  • Gender:Male
  • Location:Toulouse, France
Hi.

I tried to load synapticsconfigload with no success.

I've got

localhost:~ VMonHeros$ /Library/VoodooPS2/synapticsconfigload ; exit;
synapticsconfigload(265) malloc: reference count underflow for 0x20000f300, break on auto_refcount_underflow_error to debug.
synapticsconfigload(265) malloc: reference count underflow for 0x20000f4c0, break on auto_refcount_underflow_error to debug.
logout

So... No configuration save.

Any idea ?

#69
ivik

ivik

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 280 posts

Hi Slice, thanks for the work, here is my test info.The smoothness and acceleration plays well, can be effect by the prefPane setting. side scroll speed out of control, it is too fast..Could click but no drag.

Jan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: VoodooPS2SynapticsTouchPad version 0.0 no supported Jan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] E7: { 0x73, 0x02, 0x0a } E6: { 0x00, 0x00, 0x28 }Jan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] ALPS Device? YesJan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: ApplePS2Trackpad: ALPS GlidePoint v10.115Jan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [15 01 0a]wl0: Broadcom BCM4315 802.11 Wireless ControllerJan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: 5.10.91.27Jan  3 11:42:21 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] Tapping can only be toggled.Jan  3 11:42:22 Zproods-MacBook-Pro kernel[0]: [ApplePS2ALPSGlidePoint] getStatus(): [11 01 0a]


Maybe defining
setProperty(kIOHIDScrollResolutionKey, (100 << 16), 32);
like in synaptics could make scrolling slower. (higher resolution=>slower scrolling). 1800 works nice for me.

#70
JBraddock

JBraddock

    Ph.D (Can) in Human Rights

  • Members
  • PipPipPipPipPipPipPip
  • 549 posts
  • Location:UK
In case it might be a general problem with SynapticsTouchPad, I would like to report that I am using the VoodooKeyboard in this topic and I couldn't find a way to control Touchpad. If I don't use a usb mouse, I can control Touchpad from "Mouse > System Preferences"! "Touchpad" is trying to find a magic trackpad (: Everything is working though.

Also, I would like to know if there is a way to remap a non-standart key in the keyboard to use on OSX. I have a MediaSmart button in my HP, I would like to use it on OSX. Is it possible?

#71
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,019 posts
  • Gender:Male
  • Location:Moscow

In case it might be a general problem with SynapticsTouchPad, I would like to report that I am using the VoodooKeyboard in this topic and I couldn't find a way to control Touchpad. If I don't use a usb mouse, I can control Touchpad from "Mouse > System Preferences"! "Touchpad" is trying to find a magic trackpad (: Everything is working though.

Also, I would like to know if there is a way to remap a non-standart key in the keyboard to use on OSX. I have a MediaSmart button in my HP, I would like to use it on OSX. Is it possible?

Yes, it is possible.
Take my version of VoodooPS2Keyboard from post #62.
Switch on logging by pressing PrintScreen.
Look into kernel.log and remember what key = what scan sequence.
Correct the driver for these scan codes.

#72
MacKonsti

MacKonsti

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 228 posts
  • Gender:Male
  • Location:Muppet Show
Guys, thanks for all your shared input and work, please can there be some labelling on the releases (perhaps revision or dated) because I am lost as to which version is latest and which to try out on my Dell Mini 1011 (10v) that might work for both keyboard and ALPS trackpad? Thanks!!!

#73
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,019 posts
  • Gender:Male
  • Location:Moscow
Hey Andy!
It seems your driver as well as my version is not interesting for people.

#74
MacKonsti

MacKonsti

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 228 posts
  • Gender:Male
  • Location:Muppet Show

Hey Andy!
It seems your driver as well as my version is not interesting for people.

Dear Slice, why do you say that? Is it because of my request to just have some revision on the drivers people are kind enough to release/post here? On the contrary; this shows interest to know exactly what versions we are testing and report back! Besides, New Year's partying is not over yet, some of us may still be drunk Posted Image

#75
Zprood

Zprood

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 251 posts
  • Gender:Male
  • Location:CHN

Hey Andy!
It seems your driver as well as my version is not interesting for people.


Also as above view. I have interest in it, just finished my final exams a few days. So I hope you and Andy or other people develop this project. I like your way about the side scroll, and it is more native for ALPS trackpad I think. Another thing I do not have much more knowledge for developing, what I can do is keep testing for the driver.

Regards!

Edit:
@ivik, I change the valve you recommend and it works perfect, but the side scroll is out of control the speed properly, even with the prefPane setting.

#76
DarwinX

DarwinX

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 625 posts
  • Gender:Male
  • Location:Florida

Hey Andy!
It seems your driver as well as my version is not interesting for people.


I do not think this is the case, I wouldn't even be using the OS X if it weren't for the trackpad scrolling functionality. Lack of posts is likely due to the holidays; some are still hung over from the New Year's celebrations.

#77
miqlas

miqlas

    InsanelyMac Protégé

  • Members
  • PipPip
  • 78 posts
Test report:

  • OS: 10.6.5 Retail (64 bit)
  • PC: Acer Aspire 5730ZG
Result:
  • Keyboard (Standard, ACPI\PNP0303): All of them works correctly (tide and good keymap, YEAH!!!), but the first build works incorrectly with my Media controller buttons. (Maybe wrong scancodes? Only the "FF" works correctly with the first build.)
  • Touchpad (Standard, ACPI\SYN0302): Didn't works with the second build, i using the .kext from the first build. Scrolling works correctly, but the cursor movement can be smoother, i think. Maybe wrong resolution for this Synaptics T.Pad in the driver? (FIXME!).
Thanks for Your work, i will test the other builds too.

#78
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,630 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
@Slice: I figured out how the prefpane sets values inside the driver.
It uses IORegistry set keys.
I adapted the preference pane for supporting the 3 different driver classes.
Still to do for the 2 classes is the following routine
IOReturn ApplePS2SynapticsTouchPad::setParamProperties( OSDictionary * config )
{
	OSNumber *num;
	OSBoolean *bl;
	uint8_t oldmode=_touchPadModeByte;
	struct {const char *name; int *var;} int32vars[]={
		{"FingerZ",							&z_finger		},
		{"Divisor",							&divisor		},
		{"RightEdge",						&redge			},
		{"LeftEdge",						&ledge			},
		{"TopEdge",							&tedge			},
		{"BottomEdge",						&bedge			},
		{"VerticalScrollDivisor",			&vscrolldivisor	},
		{"HorizontalScrollDivisor",			&hscrolldivisor	},
		{"CircularScrollDivisor",			&cscrolldivisor	},
		{"CenterX",							&centerx		},
		{"CenterY",							&centery		},
		{"CircularScrollTrigger",			&ctrigger		},
		{"MultiFingerWLimit",				&wlimit			},
		{"MultiFingerVerticalDivisor",		&wvdivisor		},
		{"MultiFingerHorizontalDivisor",	&whdivisor		},
		{"Resolution",					  (int *)&_resolution   }
	};
	struct {const char *name; int *var;} boolvars[]={
		{"StickyHorizontalScrolling",		&hsticky},
		{"StickyVerticalScrolling",			&vsticky},
		{"StickyMultiFingerScrolling",		&wsticky},
		{"StabilizeTapping",				&tapstable}
	};
	int i;
	if (!config)
		return 0;
	if (bl=OSDynamicCast (OSBoolean, config->getObject ("UseHighRate")))
		if (bl->isTrue())
			_touchPadModeByte |= 1<<6;
		else
			_touchPadModeByte &=~(1<<6);

	if (num=OSDynamicCast (OSNumber, config->getObject ("TrackpadRightClick")))
		rtap = (num->unsigned32BitValue()&0x1)?true:false;
	if (num=OSDynamicCast (OSNumber, config->getObject ("Clicking")))
		clicking = (num->unsigned32BitValue()&0x1)?true:false;
	if (num=OSDynamicCast (OSNumber, config->getObject ("Dragging")))	
		dragging = (num->unsigned32BitValue()&0x1)?true:false;
	if (num=OSDynamicCast (OSNumber, config->getObject ("DragLock")))
		draglock = (num->unsigned32BitValue()&0x1)?true:false;
	if (num=OSDynamicCast (OSNumber, config->getObject ("TrackpadHorizScroll")))
		hscroll = (num->unsigned32BitValue()&0x1)?true:false;
	if (num=OSDynamicCast (OSNumber, config->getObject ("TrackpadScroll")))
		scroll = (num->unsigned32BitValue()&0x1)?true:false;
	
	if (num=OSDynamicCast (OSNumber, config->getObject ("MaxTapTime")))
		maxtaptime = num->unsigned64BitValue();
	if (num=OSDynamicCast (OSNumber, config->getObject ("HIDClickTime")))
		maxdragtime = num->unsigned64BitValue();
	for (i=0;(unsigned)i<sizeof (boolvars)/sizeof(boolvars[0]);i++)		
		if (bl=OSDynamicCast (OSBoolean,config->getObject (boolvars[i].name)))
			*(boolvars[i].var) = bl->isTrue();	
	for (i=0;(unsigned)i<sizeof (int32vars)/sizeof(int32vars[0]);i++)		
		if (num=OSDynamicCast (OSNumber,config->getObject (int32vars[i].name)))
			*(int32vars[i].var) = num->unsigned32BitValue();
	
	if (whdivisor || wvdivisor)
		_touchPadModeByte |= 1<<0;
	else
		_touchPadModeByte &=~(1<<0);
	
	if (_touchPadModeByte!=oldmode && inited)
		setTouchPadModeByte (_touchPadModeByte);
	_packetByteCount=0;
	touchmode = MODE_NOTOUCH;
	
	for (i=0;(unsigned)i<sizeof (int32vars)/sizeof(int32vars[0]);i++)		
		setProperty (int32vars[i].name,*(int32vars[i].var),32);
	for (i=0;(unsigned)i<sizeof (boolvars)/sizeof(int32vars[0]);i++)		
		setProperty (boolvars[i].name,*(boolvars[i].var)?kOSBooleanTrue:kOSBooleanFalse);

	setProperty ("MaxTapTime", maxtaptime, 64);
	setProperty ("HIDClickTime", maxdragtime, 64);
	setProperty ("UseHighRate",_touchPadModeByte&(1<<6)?kOSBooleanTrue:kOSBooleanFalse);

	setProperty ("Clicking", clicking?1:0, 32);
	setProperty ("Dragging", dragging?1:0, 32);
	setProperty ("DragLock", draglock?1:0, 32);
	setProperty ("TrackpadHorizScroll", hscroll?1:0, 32);
	setProperty ("TrackpadScroll", scroll?1:0, 32);
	setProperty ("TrackpadRightClick", rtap?1:0, 32);
	
	return super::setParamProperties(config);
}
This in combination with
IOReturn ApplePS2SynapticsTouchPad::setProperties (OSObject *props)
and in init:
setProperty ("Revision", 24, 32);
	tmp=properties->getObject ("Configuration");
	if (tmp && OSDynamicCast (OSDictionary, tmp))
		setParamProperties (OSDynamicCast (OSDictionary, tmp));
sets the parameters and initial parameters.
I also implemented a resolution slider but it may still need some work within the driver classes to make it work properly.
it needs to override _resolution in order to work properly but I don't know if type IOFixed (type for _resolution) can be rewritten after allocation.
Configuration is a dictionary within the Info.plist which needs still to be implemented for the other driver classes too.
You can see from int32vars and boolvars which integers get overridden by the routine.
I think with those implemented (and default Configuration dict added to the 2 other IOKitPersonalities within the Info.plist) it will work just fine as it should.
This may need some minor rewrites as e.g. divisor isn't present yet within the ALPS or Sentellic driver classes.
Could you take a look?
I attached my latest work here too.

Attached Files



#79
VMonHeros

VMonHeros

    InsanelyMac Protégé

  • Members
  • PipPip
  • 79 posts
  • Gender:Male
  • Location:Toulouse, France

Hi.

I tried to load synapticsconfigload with no success.

I've got

localhost:~ VMonHeros$ /Library/VoodooPS2/synapticsconfigload ; exit;
synapticsconfigload(265) malloc: reference count underflow for 0x20000f300, break on auto_refcount_underflow_error to debug.
synapticsconfigload(265) malloc: reference count underflow for 0x20000f4c0, break on auto_refcount_underflow_error to debug.
logout

So... No configuration save.

Any idea ?


Hi Anv, can you help me on that ? I cannot use the last compiled file as I cannot save the config... So everytime I've got a slllooooowwwww mouse :P. At present time I use a previous version. Even if I cannot save the configuration, It is ok with this version for speed.

#80
bronxteck

bronxteck

    InsanelyMac Protégé

  • Members
  • PipPip
  • 58 posts
Hey Andy so far everything is progressing nicely I see. I didn't know you had a thread opened here on this. I have found that if you add product ID 547 and VendorId 1452 in IOKitPersonalities the way it's in synaptics to the other 2 (alps / sentelic) you can open apple trackpad without it being modified or using a modified apple trackpad prefpane. you just have to shut off your bluetooth, if not it just looks for BT trackpad... Also if you change OSBundleRequired from Safeboot to Console the trackpad responds in -X boot and in 64bit kernel.. hope it helps





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy