This software is really great, and works like a charm out of the box!
However there are some specific remappings that I would like to do, being forced to use a win cherry keyboard on my mac.
I have checked out the source from 1.6.2 via svn, and after installing the MacOSX10.4u.sdk that comes with Xcode 2.4.1, I can build both the kernel extension and the prefpane with no apparent error or warning on my Intel iMac, either with the Makefile or with XCode.
However when I try to install the kext I just built (from the unmodified 1.6.2 source), using the generated pkg or directly with kextload, the validation fails with this error:
$ sudo kextload -t DoubleCommand.kext
kextload: extension DoubleCommand.kext appears to be valid
16KeyboardRemapper is not compatible with its superclass, 18IOHIKeyboardMapper superclass changed?
kextload: a link/load error occured for kernel extension DoubleCommand.kext
load failed for extension DoubleCommand.kext
(run kextload with -t for diagnostic output)
I have no idea how I can fix this error, and cannot find anything through Google.
Can anybody shed some light on this issue? I can provide the output of the build or the verbose log of 'kextload -t -v 6', but there doesn't seem to be any additional information regarding this error.
Thanks a lot!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Most problems you'll encounter after building a universal driver will appear when loading it. For example, kextload might report the error
com.mycompany.driver.MyDriverClass is not compatible with its superclass,
<superclass name> superclass changed?
The reason for most load-time errors is that the wrong SDK was used when building the driver.
This is exactly the error I was having. Then the TN describes various configuration settings to tweak in the XCode project, but the DC project is already setup correctly.
So I decided to reinstall XCode 2.4 completely, to fix any SDK installation problem.
So far I had only installed the specific SDKs, but never actually the whole XCode release.
After reinstalling completely XCode 2.4 (enabling all SDKs in the custom options), I rebuilt DoubleCommand and this time it worked!
I have now my own release of DC with custom key remapping and it works great! :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi!
This software is really great, and works like a charm out of the box!
However there are some specific remappings that I would like to do, being forced to use a win cherry keyboard on my mac.
I have checked out the source from 1.6.2 via svn, and after installing the MacOSX10.4u.sdk that comes with Xcode 2.4.1, I can build both the kernel extension and the prefpane with no apparent error or warning on my Intel iMac, either with the Makefile or with XCode.
However when I try to install the kext I just built (from the unmodified 1.6.2 source), using the generated pkg or directly with kextload, the validation fails with this error:
$ sudo kextload -t DoubleCommand.kext
kextload: extension DoubleCommand.kext appears to be valid
16KeyboardRemapper is not compatible with its superclass, 18IOHIKeyboardMapper superclass changed?
kextload: a link/load error occured for kernel extension DoubleCommand.kext
load failed for extension DoubleCommand.kext
(run kextload with -t for diagnostic output)
I have no idea how I can fix this error, and cannot find anything through Google.
Can anybody shed some light on this issue? I can provide the output of the build or the verbose log of 'kextload -t -v 6', but there doesn't seem to be any additional information regarding this error.
Thanks a lot!
I solved the problem with the kind help of Michael Baltaks (the author of DoubleCommand).
My problem is in fact described by Apple Technical Note 2163:
http://developer.apple.com/technotes/tn2006/tn2163.html
The TN page says:
Most problems you'll encounter after building a universal driver will appear when loading it. For example, kextload might report the error
com.mycompany.driver.MyDriverClass is not compatible with its superclass,
<superclass name> superclass changed?
The reason for most load-time errors is that the wrong SDK was used when building the driver.
This is exactly the error I was having. Then the TN describes various configuration settings to tweak in the XCode project, but the DC project is already setup correctly.
So I decided to reinstall XCode 2.4 completely, to fix any SDK installation problem.
So far I had only installed the specific SDKs, but never actually the whole XCode release.
After reinstalling completely XCode 2.4 (enabling all SDKs in the custom options), I rebuilt DoubleCommand and this time it worked!
I have now my own release of DC with custom key remapping and it works great! :-)