Contribute
Register

New VoodooPS2Controller, Keyboard, Trackpad

Status
Not open for further replies.
just want to say thanks rehabman!
 
i find funny that my trackpad works WAY better on osx then on windows 8 ...

w8 it's just a pain in the axx :(

btw awesome job ...
 
The new kexts works fine, I can see clearly the effect of "Accidental input while typing":thumbup:. No more problem with passthru, but my problem still remains: can't turn trackpad on after sleeping. Two finger tapping does not work well with my touchpad, only works 50%. Another thing is that if I put my 2 fingers close to each other and move on touchpad: no scrolling, tapping or moving cursor. It kinds of another gesture beside two finger scrolling, can you use it to apply some special gestures? Like show desktop, full screen or launchpad :clap:
 
@Rehabman,
now runs the mainsystem perfect, how bout the gestures?
And whats the 3finger salute gesture?!
 
Using this kext on Dell Studio 1557 running Mountain Lion 10.8. This is the only kext able to get the multimedia key working correctly. Other PS2 kexts causing "loop effect" where when pressing the up & down volume keys, the volume continue to increase/decrease even after releasing the volume keys.

The only issue that still remain is loosing trackpad (0x47 ver 7.2) after resume from sleep.
 
You don't need to set DisableZoneControl=1 since it is detecting your LED just fine. See above.

There might be a problem with the double tap itself. Run debug version, then get Console going, filter for "ps2:" then do the double tap in the upper left corner. Observe/send output.

This is what a successful double tap would look like:
Code:
Oct 18 13:36:59 localhost kernel[0]: ps2: detected touch1 in disable zone
Oct 18 13:36:59 localhost kernel[0]: ps2: detected untouch1 in disable zone... setting MODE_WAIT2TAP.
Oct 18 13:36:59 localhost kernel[0]: ps2: detected touch2 in disable zone... setting MODE_WAIT2RELEASE.
Oct 18 13:36:59 localhost kernel[0]: ps2: detected untouch2 in disable zone... ps2: enabling trackpad.

It is a relatively fast double tap and must take place in the zone defined by DisableZoneLeft/Right/Top/Bottom.

OK, here's the log after I double tapped:
Code:
Oct 22 16:31:22 --- last message repeated 62 times ---
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1517,4193) z=37 w=5 mode=(0,0,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-2, dy=0 (1515,4193) z=45 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=1 (1515,4192) z=45 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-4, dy=-3 (1511,4195) z=45 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: now-touchtime=59450 (true)
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1538,4194) z=24 w=5 mode=(1,0,0) buttons=1 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (769,2097) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (512,1398) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (0,0) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 --- last message repeated 4 times ---
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (508,1481) z=16 w=5 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1531,4448) z=36 w=5 mode=(0,0,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-4, dy=-1 (1527,4449) z=42 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-1, dy=-2 (1526,4451) z=42 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-2, dy=-2 (1524,4453) z=38 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: now-touchtime=61432 (true)
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1537,4445) z=28 w=5 mode=(1,0,0) buttons=1 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (768,2222) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (512,1481) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (0,0) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0

I think maybe the top left zone must be in the disabled zone.
 
OK, here's the log after I double tapped:
Code:
Oct 22 16:31:22 --- last message repeated 62 times ---
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1517,4193) z=37 w=5 mode=(0,0,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-2, dy=0 (1515,4193) z=45 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=1 (1515,4192) z=45 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-4, dy=-3 (1511,4195) z=45 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: now-touchtime=59450 (true)
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1538,4194) z=24 w=5 mode=(1,0,0) buttons=1 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (769,2097) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (512,1398) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (0,0) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 --- last message repeated 4 times ---
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (508,1481) z=16 w=5 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1531,4448) z=36 w=5 mode=(0,0,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-4, dy=-1 (1527,4449) z=42 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-1, dy=-2 (1526,4451) z=42 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=-2, dy=-2 (1524,4453) z=38 w=5 mode=(1,1,1) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: now-touchtime=61432 (true)
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (1537,4445) z=28 w=5 mode=(1,0,0) buttons=1 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (768,2222) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (512,1481) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0
Oct 22 16:31:31 localhost kernel[0]: ps2: dx=0, dy=0 (0,0) z=0 w=0 mode=(0,0,0) buttons=0 wasdouble=0

I think maybe the top left zone must be in the disabled zone.

Your first tap was not in the DisableZone. It was not quite far enough up (y coord must be greater than 4200... yours was 419x). The second tap was (at ~4450), but that is too late. If that spot is difficult to hit you could modify the values for DisableZoneBottom. DisableZoneBottom, DisableZoneTop, DisableZoneLeft, DisableZoneRight describe a rectangle. X increases from left to right. Y increases from bottom to top.
 
@Rehabman,
now runs the mainsystem perfect, how bout the gestures?
And whats the 3finger salute gesture?!

When I have some time, I may work on 3-finger. Some of the gestures will require a bit of a rewrite...

I guess you're too young to remember the 3-finger salute. In the old days with PC/AT computers, MS-DOS, etc. If you wanted to restart the computer, you did a "3-finger salute", which is Ctrl+Alt+Del. This would restart the computer, no questions... It was baked into the interrupt routine for the keyboard in BIOS. You would get bug reports like "I did such and such and your program hung... I had to use the 3-finger salute to restart."

I implemented Ctrl+Alt+Del in this driver just for fun and old-times sake... Try it and you'll see (it is safer than a unconditional restart).
 
Using this kext on Dell Studio 1557 running Mountain Lion 10.8. This is the only kext able to get the multimedia key working correctly. Other PS2 kexts causing "loop effect" where when pressing the up & down volume keys, the volume continue to increase/decrease even after releasing the volume keys.

The only issue that still remain is loosing trackpad (0x47 ver 7.2) after resume from sleep.

The trackpad driver here only supports 0x47 ver 7.5. You are probably ending up with the VoodooPS2Mouse.kext controlling your trackpad in mouse simulation mode. You would know as you would lose two-finger gestures for scrolling/right-tapping, double-tap to disable. And it does seem that older firmware does have difficulty after sleep. And without hardware to test on, I'm not sure I can figure it out what needs to be done differently. I have an old Toshiba (a friend upgraded and just gave me the old one) here with a Synaptics 6.2 but that would require me hacking it at least as much as getting the basics + trackpad to work... Hmm...

If you were to build the code yourself, and you have a minimum of coding skills you could probably change the check to allow trackpad for 7.2 and then see what happens...
 
The new kexts works fine, I can see clearly the effect of "Accidental input while typing":thumbup:. No more problem with passthru, but my problem still remains: can't turn trackpad on after sleeping. Two finger tapping does not work well with my touchpad, only works 50%. Another thing is that if I put my 2 fingers close to each other and move on touchpad: no scrolling, tapping or moving cursor. It kinds of another gesture beside two finger scrolling, can you use it to apply some special gestures? Like show desktop, full screen or launchpad :clap:

Need more information on your hardware. And if you want, run the debug version and do the things that don't work (clearly separate and label the output so I know what output correlates to each action/gesture attempted).
 
Status
Not open for further replies.
Back
Top