Jump to content

VoodooPS2 optimized for Snow Leopard, Leopard and Tiger


  • Please log in to reply
150 replies to this topic

#41
Zprood

Zprood

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 252 posts
  • Gender:Male
  • Location:CHN
Hi, I have installed it, first, keyboard.kext is not work well, can't use Ctrl+F12 or other Slice's multimedia keys, but I use this instead. Second, the trackpad.kext, as you said

the setting should only be set that way for Synaptics, not for the others

, I found the speed is slow ,even with the trackpad.prefPane setting. The smoothness and acceleration is better than before, I test on ALPS trackpad.

#42
Zprood

Zprood

    InsanelyMac Sage

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

Would you mind elaborating further on your point of the info.plist modification? Am I to understand that with the fore mentioned modifications, this Trackpad.prefPane wouldn't conflict with Apple's native Trackpad.prefPane? Thanks!

I miss some modification about that, when i edit and reinstall to /S/L/P the trackpad.prefPane under 10.6.5 version, it can works well with the settings. like tracking speed and scroll speed. I mean after deleting those items it can be effect.

#43
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

Hi, I have installed it, first, keyboard.kext is not work well, can't use Ctrl+F12 or other Slice's multimedia keys, but I use this instead. Second, the trackpad.kext, as you said , I found the speed is slow ,even with the trackpad.prefPane setting. The smoothness and acceleration is better than before, I test on ALPS trackpad.

According to Slice he just implemented following code (I think):
//Slice - additional keys
		0x0d, // following are 13 special keys
		0x04,0x39,  //caps lock
		0x05,0x72,  //NX_KEYTYPE_HELP is 5, ADB code is 0x72
		0x06,0x7f,  //NX_POWER_KEY is 6, ADB code is 0x7f
		0x07,0x4a,  //NX_KEYTYPE_MUTE is 7, ADB code is 0x4a
		0x00,0x48,  //NX_KEYTYPE_SOUND_UP is 0, ADB code is 0x48
		0x01,0x49,  //NX_KEYTYPE_SOUND_DOWN is 1, ADB code is 0x49
		// remove arrow keys as special keys. They are generating double up/down scroll events
		// in both carbon and coco apps.
		//0x08,0x7e,  //NX_UP_ARROW_KEY is 8, ADB is 3e raw, 7e virtual (KMAP)
		//0x09,0x7d,  //NX_DOWN_ARROW_KEY is 9, ADB is 0x3d raw, 7d virtual
		//Slice
		0x0d,0x50, //Launch Panel ?
		0x0f,0x4d, //VIDMIRROR
		0x10,0x34, //PLAY 
		0x11,0x42, //NEXT
		0x12,0x40, //PREVIOUS
		0x14,0x3f, //REWIND
		
		//
		0x0a,0x47   //NX_KEYTYPE_NUM_LOCK is 10, ADB combines with CLEAR key for numlock
In defaultKeymapOfLength, put in appleUSAKeyMap
I implemented this so it should work.
AFAIK CTRL+F12 never worked with VoodooPS2...
Maybe Slice could take a look and see if I did it right...

Tiger's release in topic does not work.
Symbol PE_parse_boot_argn not found.
Use PE_parse_boot_arg always for Tiger instead.

EDITED:
The idea to port the driver into Tiger is wrong at initial

The nub always presents in Tiger as part of AppleACPIPlatform.kext, not as plugin but embedded. So we can't exclude it and VoodooPS2 even corrected to Tiger conflicts with ACPIPlatform. That's all.
Use existing ApplePS2Controller for Tiger.

My Synaptics trackpad works with Apple's driver and with Apple's prefPane. It supports tapping but have no scroll function. May be it worth to port some trackpad codes from Voodoo project back into Apple's one.

I fixed it for Tiger by replacing PE_parse_boot_argn with PE_parse_boot_arg (using #ifdef TIGER)
I also excluded the nub for Tiger so that it can work with the existing nub.
I also excluded for Tiger the new IRQ layout code (same as Snow Leopard version).

Could you also please verify if I implemented the multimedia keys code right (that I haven't missed anything).
Thanks for pointing these things out...

#44
DarwinX

DarwinX

    InsanelyMac Legend

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

In defaultKeymapOfLength, put in appleUSAKeyMap
I implemented this so it should work.
AFAIK CTRL+F12 never worked with VoodooPS2...
Maybe Slice could take a look and see if I did it right...


I fixed it for Tiger by replacing PE_parse_boot_argn with PE_parse_boot_arg (using #ifdef TIGER)
I also excluded the nub for Tiger so that it can work with the existing nub.
I also excluded for Tiger the new IRQ layout code (same as Snow Leopard version).

Could you also please verify if I implemented the multimedia keys code right (that I haven't missed anything).
Thanks for pointing these things out...


In case you missed my earlier post edit: "With this VoodooPS2.prefPane version, the previous error: "ApplePS2SynapticsTouchPad not found" has resurfaced. That error is absent from Slice's version of this preference pane. Also, the previously fixed by Slice iTunes multimedia keys have returned to their previous, partially operational state; the pause/play key function yet again fails to implement."

#45
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

In case you missed my earlier post edit: "With this VoodooPS2.prefPane version, the previous error: "ApplePS2SynapticsTouchPad not found" has resurfaced. That error is absent from Slice's version of this preference pane. Also, the previously fixed by Slice iTunes multimedia keys have returned to their previous, partially operational state; the pause/play key function yet again fails to implement."

Damn...
Slice should take a look at the current code.
Use Slice's VoodooPS2Keyboard.kext (put it under VoodooPS2Controller.kext/PlugIns) and use Slice's VoodooPS2.prefPane (that should fix it untill Slice can modify the code for me...)
EDIT: I think I found the issue...
Give me a little time to edit the code and I'll post results after...

DarwinX, download the new version from the first post.
The multimedia keys should now work (made a slight mistake on previous version).
If the prefpane doesn't work for you, use the one compiled by Slice (it didn't change so...)

Hi, I have installed it, first, keyboard.kext is not work well, can't use Ctrl+F12 or other Slice's multimedia keys, but I use this instead. Second, the trackpad.kext, as you said , I found the speed is slow ,even with the trackpad.prefPane setting. The smoothness and acceleration is better than before, I test on ALPS trackpad.

I fixed it, it works now...

#46
DarwinX

DarwinX

    InsanelyMac Legend

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

Damn...
Slice should take a look at the current code.
Use Slice's VoodooPS2Keyboard.kext (put it under VoodooPS2Controller.kext/PlugIns) and use Slice's VoodooPS2.prefPane (that should fix it untill Slice can modify the code for me...)
EDIT: I think I found the issue...
Give me a little time to edit the code and I'll post results after...

DarwinX, download the new version from the first post.
The multimedia keys should now work (made a slight mistake on previous version).
If the prefpane doesn't work for you, use the one compiled by Slice (it didn't change so...)


I fixed it, it works now...


No problemo, I already reverted to Slice's original modification of your VoodooPS2Controller.kext, it works as expected. As far as the preference panes, no VoodooPS2.prefPane has EVER worked for me, and yours is no exception to the rule. I'm using presumably modified Trackpad.prefPane which origins are thus far unknown to us. Of course, I have previously stated the latter. Thank You.

#47
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Retired Developers
  • 779 posts
  • Gender:Male

I fixed it, it works now...

Hi Andy,

AFAIK as any of the voodoops2 versions I tried this still does not work for my trackpad, is recognized but dead.
The model of ALPS I have (E7: 0x73, 0x02, 0x64, E6: 0x00, 0x00, 0x64) has multitouch feature, and is a nightmare on any other OS then windows.
This model seems it use the 6-byte absolute protocol as I found on several patches for Linux as this one: https://bugs.launchp...25/comments/154
The only version that works for me, as mouse with tapping but no kind of scroll, is meklort NBI version.
This version of ALPS is used on Dell E2 series, my HP Mini 311, some Sony Vaio models, Toshiba and Acer One 7xx, if you can add support for it would be great!

Thanks!

#48
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

Hi Andy,

AFAIK as any of the voodoops2 versions I tried this still does not work for my trackpad, is recognized but dead.
The model of ALPS I have (E7: 0x73, 0x02, 0x64, E6: 0x00, 0x00, 0x64) has multitouch feature, and is a nightmare on any other OS then windows.
This model seems it use the 6-byte absolute protocol as I found on several patches for Linux as this one: https://bugs.launchp...25/comments/154
The only version that works for me, as mouse with tapping but no kind of scroll, is meklort NBI version.
This version of ALPS is used on Dell E2 series, my HP Mini 311, some Sony Vaio models, Toshiba and Acer One 7xx, if you can add support for it would be great!

Thanks!

I could look into it when I have more time.
It would be great to have those fully supported...

#49
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,081 posts
  • Gender:Male
  • Location:Moscow
THe KiNG
Your model (E7: 0x73, 0x02, 0x64, E6: 0x00, 0x00, 0x64) may be easy implemented. Look here
#define NUM_SINGLES 11
	static int singles[NUM_SINGLES * 3] ={
		0x33,0x2,0x0a,
		0x53,0x2,0x0a,
		0x53,0x2,0x14,
		0x63,0x2,0xa,
		0x63,0x2,0x14,
		0x73,0x2,0x0a,	// 3622947
		0x63,0x2,0x28,
		0x63,0x2,0x3c,
		0x63,0x2,0x50,
		0x73,0x2,0x50,
		0x63,0x2,0x64};

Andy
Your new compilation works in Tiger after correcting dependencies. Not 9.0.0 but 8.0.0.
I have Synaptics on that notebook. And the driver gives toooo slow mouse movement. Resolution?
Also can't check here special keys cause there are not here.

#50
Zprood

Zprood

    InsanelyMac Sage

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

I fixed it, it works now...

Great, the smoothness and acceleration works so nice is close to Apple's trackpad, moving speed act very well, so as the acceleration. BTW Slice's multimedia keys works, too. But the prefPane is still have problem, like "ApplePS2SynapticsTouchPad not found".
So, thanks for all works this issue. :( :(

#51
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,081 posts
  • Gender:Male
  • Location:Moscow
Let's speek about ALPS. I have it in my Dell 1525.
Attached File  ALPS.png   416.97KB   37 downloads
1. It works with PS2Mouse driver supporting Tapping and with my version scrolling by two button pressed. In this case it is initialised to Relative 3 bytes mode. I can't understand why Tapping works. There is no any codes about tapping sensor. So I think we need to look into IOHIDFamily.
2. It works also with this PS2Trackpad driver. It initialises hardware into 6 bytes Absolute mode. Tapping is not supporting. Scroll by twofingers works but not smooth. Needs adjustments. But prefPafe is useless.
The VoodooPS2PrefPane is written for Synaptics. I just tryed to remake it for ALPS as follows
io_service = IOServiceGetMatchingService(0, IOServiceMatching("ApplePS2ALPSGlidePoint"));
	if (!io_service)
	{
		NSRunCriticalAlertPanel( 
								NSLocalizedString( @"ApplePS2ALPSGlidePoint not found", "MsgBox"), 
								NSLocalizedString( @"Error", "MsgBoxTitle" ), nil, nil, nil );
 		return;
	}
But it uses parameters that the driver is not using. They must be implemented. As well as parameters from Apple's Trackpad.prefPane provided by DarwinX.
I know hardware responses X, Y, Z (touch pressure), buttons and tap. I know response from Side scroll bar. So it looks like I can write a driver that can scroll by side bar and with tap support. But... it not works. I have to study IOHIDFamily.
Why tapping works with PS2Mouse driver if used instead?

#52
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Retired Developers
  • 779 posts
  • Gender:Male

Why tapping works with PS2Mouse driver if used instead?

Seems you are in the same boat with me.

In order to get scrolling, the trackpad have to be set in Absolute mode (Intellimouse Mode on Linux) using that "Magic Sequence"
Well that magic sequence does not match for us, so at least in my case with actual voodoo driver, trackpad does not work at all since is not proper initialized, however it works in normal mode if absolute stuff is removed, but no scroll of any kind.

Main problem IMHO is that we use an very old apple driver that is not up to date with the hardware we have, definitions are very old, and if you try to port latest stuff from Linux you get stuck b/w old/new.

#53
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,643 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

THe KiNG
Your model (E7: 0x73, 0x02, 0x64, E6: 0x00, 0x00, 0x64) may be easy implemented. Look here

#define NUM_SINGLES 11
	static int singles[NUM_SINGLES * 3] ={
		0x33,0x2,0x0a,
		0x53,0x2,0x0a,
		0x53,0x2,0x14,
		0x63,0x2,0xa,
		0x63,0x2,0x14,
		0x73,0x2,0x0a,	// 3622947
		0x63,0x2,0x28,
		0x63,0x2,0x3c,
		0x63,0x2,0x50,
		0x73,0x2,0x50,
		0x63,0x2,0x64};

Andy
Your new compilation works in Tiger after correcting dependencies. Not 9.0.0 but 8.0.0.
I have Synaptics on that notebook. And the driver gives toooo slow mouse movement. Resolution?
Also can't check here special keys cause there are not here.

Yeah in the Apple trackpad pane set mouse speed to max, then it works real smooth (it's because of the new resolution implementations).
I updated the sources with new VoodooPS2Mouse, VoodooPS2Keyboard and VoodooPS2Trackpad Info.plist's for Tiger, thanks for pointing this out that I missed this. :P

#54
DarwinX

DarwinX

    InsanelyMac Legend

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

Yeah in the Apple trackpad pane set mouse speed to max, then it works real smooth (it's because of the new resolution implementations).
I updated the sources with new VoodooPS2Mouse, VoodooPS2Keyboard and VoodooPS2Trackpad Info.plist's for Tiger, thanks for pointing this out that I missed this. :P


Your latest development has iTunes multimedia keys properly implemented and the scrolling appears to be smoother and possesses the tapping functionality. Thanks.

#55
Slice

Slice

    InsanelyMacaholic

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

Seems you are in the same boat with me.

In order to get scrolling, the trackpad have to be set in Absolute mode (Intellimouse Mode on Linux) using that "Magic Sequence"
Well that magic sequence does not match for us, so at least in my case with actual voodoo driver, trackpad does not work at all since is not proper initialized, however it works in normal mode if absolute stuff is removed, but no scroll of any kind.

Main problem IMHO is that we use an very old apple driver that is not up to date with the hardware we have, definitions are very old, and if you try to port latest stuff from Linux you get stuck b/w old/new.

Yes, we are in the same boat, I just have ALPS 73,2,a, slightly different. Not sure that is does matter.
I think that this driver has new (not Apple's) initialisation sequence that is good enough because I see all needed hardware responses (x,y,z, buttons and tapping). I just need to write utilisation for its. And add your model in the list.
Now I think that tapping in mouse mode works by hardware protocol. If so no need to think about. There is other protocol in absolute mode.

#56
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Retired Developers
  • 779 posts
  • Gender:Male

Yes, we are in the same boat, I just have ALPS 73,2,a, slightly different. Not sure that is does matter.

Well I think it does matter, my model 73 2 64, has diff initialization, and does not work at all with voodoo driver, in your case at least you get something...

#57
Slice

Slice

    InsanelyMacaholic

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

Well I think it does matter, my model 73 2 64, has diff initialization, and does not work at all with voodoo driver, in your case at least you get something...

you need debug version to see what is happen

#58
José Rodríguez

José Rodríguez

    InsanelyMac Protégé

  • Members
  • PipPip
  • 76 posts
  • Location:Sevilla, ESPAÑA
Hi

thank you for your work, but How can I install it and test it? I have snow leopard

#59
THe KiNG

THe KiNG

    InsanelyMac Legend

  • Retired Developers
  • 779 posts
  • Gender:Male

you need debug version to see what is happen

I did enabled all IOLog calls, didn't added more yet, this is what I get:
Jan  2 17:00:35 HM311 kernel[0]: E7: { 0x73, 0x02, 0x64 } E6: { 0x00, 0x00, 0x64 }ALPS Device? yesApplePS2Trackpad: ALPS GlidePoint v4.115Jan  2 17:00:35 HM311 kernel[0]: getStatus(): [10 00 64]Jan  2 17:00:35 HM311 kernel[0]: getStatus(): [10 00 0a]Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyRepeat Value: 83333333Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDInitialKeyRepeat Value: 500000000Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollAcceleration Value: 20480Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDF12EjectDelay Value: 250Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDSlowKeysDelay Value: 0Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysDisabled Value: 0Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysOn Value: 0Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDStickyKeysShiftToggles Value: 0Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDMouseKeysOptionToggles Value: 0Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDFKeyMode Value: 0Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickSpace Value: ??Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDClickTime Value: 500000000Jan  2 17:00:51 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  2 17:00:56 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDKeyboardModifierMappingPairs Value: ??Jan  2 17:00:56 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  2 17:00:57 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDPointerButtonMode Value: 2Jan  2 17:00:57 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??Jan  2 17:00:57 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDScrollZoomModifierMask Value: 262144Jan  2 17:00:57 HM311 kernel[0]: ApplePS2ALPSGlidePoint: Dictionary Object: HIDDefaultParameters Value: ??

For me does not look that it gets proper initialized.

#60
VMonHeros

VMonHeros

    InsanelyMac Protégé

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

I may have missed something, but I lose my voodooPS2 configuration everytime I reboot. For sure, I may have missed something, but I don't see what.

Help is welcome :P.

My computer is an Asus 1201N and my trackpad is an VoodooPS2Trackpad: Synaptics TouchPad v7.2 (it's what I see in my dmesg).

That's all :).





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