Contribute
Register

New VoodooPS2Controller, Keyboard, Trackpad

Status
Not open for further replies.
Great work @RehabMan - my Dell XPS 15z (L511z) doesn't even have a Synaptics trackpad (it has Cypress) but your PS2 kext is so much better as it is more stable and allows me to map the control and option keys via info.plist, not to mention better memory handling as well. Excellent work!

Quick question - I currently use my Cypress trackpad in basic mode because the trackpad kext doesn't natively support the full functionality such as multi-finger scrolling etc. I'm not entirely sure about what the hardware differences are between Synaptics and Cypress, but do you think you'll ever be able to support Cypress as well?

Awesome job in any case!
jkbuha
 
Great work @RehabMan - my Dell XPS 15z (L511z) doesn't even have a Synaptics trackpad (it has Cypress) but your PS2 kext is so much better as it is more stable and allows me to map the control and option keys via info.plist, not to mention better memory handling as well. Excellent work!

Quick question - I currently use my Cypress trackpad in basic mode because the trackpad kext doesn't natively support the full functionality such as multi-finger scrolling etc. I'm not entirely sure about what the hardware differences are between Synaptics and Cypress, but do you think you'll ever be able to support Cypress as well?

Awesome job in any case!
jkbuha

You are using your trackpad in mouse emulation mode. So that comes from VoodooPS2Mouse.kext. One thing you could do is edit your Info.plist (VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/Contents/Info.plist) and turn on ActLikeTrackpad (set it to true). This will give you a few trackpad features, such as automatic disable when a USB mouse is plugged in, access to the trackpad system prefs (although most options have no effect), and ability to ignore input shortly after typing.

Providing "real trackpad" support for the Cypress would involve finding documentation and/or code that shows what the protocol is and then adapting the existing Synaptics code to support it. I see there is support for Cypress on Linux, so that would be somewhere to start. And you could check the manufacturer website to see if they publish details on the protocol, as Synaptics does. Then if you have some C++ coding skills, you could tackle the project yourself. Unfortunately, I can't as I don't have the hardware.
 
RehabMan, Do you know that with your VoodooPS2 don't work same keyboard such a PrtSc SysRq, Ins, Del etc
But Pause Break works. This is slovenly issue.
 
RehabMan, Do you know that with your VoodooPS2 don't work same keyboard such a PrtSc SysRq, Ins, Del etc

I'm not sure what you mean -- perhaps you can clarify "don't work same keyboard"

Keep in mind the one that is posted to this thread has custom keyboard mappings specific to certain HP ProBook laptops.
 
http://www.tonymacx86.com/mountain-...oller-keyboard-trackpad-clickpad-support.html
I took the VoodooPS2 from here.
I choosed System preference->KeyBoard Shortcuts->ScrennShots. Furher I pushed on PrtSc SysRq.
And that doesn't works exactly.
What should I do? Help me, please.
Sorry about this, I meant "keys".

In this driver, those keys have special meaning. These are keys that are not present on Apple keyboards (AFAIK), so we've allocated different functions for them. In particular to enable/disable the trackpad. Since I include a way to map the keyboard however you wish, you can certainly change it with edits to the keyboard driver's Info.plist.

For more information, see: https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller/wiki/How-to-Use-Custom-Keyboard-Mapping
 
I am understanding that I have to take the debag version of VoodooPS2 and to see a "scan code" of my key. Am I right.
Or if you know, would you be so kind as to told me this code for F13?
 
I am understanding that I have to take the debag version of VoodooPS2 and to see a "scan code" of my key. Am I right.
Or if you know, would you be so kind as to told me this code for F13?

Yeah. Run the debug version, and as you press keys you will see the scan codes in system.log. You then use those codes ... the scan codes that the keys generate to map them either into other scan codes, or to map them into ADB codes. Only scan codes that eventually make it to ADB codes are understood as keys by OS X.
 
Yeah. Run the debug version, and as you press keys you will see the scan codes in system.log. You then use those codes ... the scan codes that the keys generate to map them either into other scan codes, or to map them into ADB codes. Only scan codes that eventually make it to ADB codes are understood as keys by OS X.
Sorry, I didn't understand how to do it.
Code:
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0x2a
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0x37
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: ADB key code 0x80 down
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xb7
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: ADB key code 0x80 up
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xaa
xxxx=80. But what firsts four numbers should I past?
 
Sorry, I didn't understand how to do it.
Code:
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0x2a
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0x37
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: ADB key code 0x80 down
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xb7
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: ADB key code 0x80 up
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xe0
Feb 12 10:25:52 admins-imac kernel[0]: ApplePS2Keyboard: PS/2 scancode 0xaa
xxxx=80. But what firsts four numbers should I put in?

Your 'e037' is probably the one you're interested in as it is mapped to trackpad on/off. You want to map it first to an unused scan code, so that it no longer passes through that code. You've picked on of the more difficult keys to map because the scan code is handled internally before being converted to an ADB code, such that mapping it direct to an ADB code won't work. But let's say you wanted to map it to F13.

So first pick a scan code that is not used... on the github repo, you can use ApplePS2ToADBMap.h as a clue. Looks like there's a lot of them... let's just pick 'e07f'... so in your Custom PS2 Map you want to have an entry:

e037=e07f

Now when a key generates 'e037', it will be mapped to 'e07f', so now you need an entry that will generate Apple's idea of F13 from the 'e07f' scan code. Again the ApplePS2ToADBMap.h comes in handy, because if you search it for 'F13', you discover that the ADB code for F13 is '69'. So now you need an entry in Custom ADB Map:

e07f=69

Now your key generates F13 (or should) and you can assign it however you like in Keyboard Prefs.
 
Status
Not open for further replies.
Back
Top