Great Andy that you decided to optimize the driver. All users say "thanks" that is strange.
Multimedia special keys are not working because Voodoo authors forget to correct function "defaultKeymapOfLength". And you also.
Previously I explained what is what.
Additions
//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
And iTunes works with multimedia keys!
Now looking here
case 0x21: keyCode = 0x54; break; //E021 = calculator
case 0x16: keyCode = 0x55; break; //E016 = logout
case 0x4c: keyCode = 0x5A; break; //E04c = My documents
case 0x32: keyCode = 0x5B; break; //E032 = WWW
It will be good if works. But the HID system has no such events. The keys are useless.
I have ALPS GlidePoint and interesting in this driver. Twofinger scroll works! But tapping - no. I don't know yet how to do this but I know that tapping works if PS2Mouse driver used instead.
I rewrite prefPane to be APLS.prefPane. (just change synaptic to alps inside sources)
Here is my result for Snow
ReleaseALPS.zip 189.27K
352 downloads