I just found Karabiner, and it looks super useful, but there's something I've always wanted to do that I haven't found a way to do, and I'm hoping that Karabiner will do the trick.
It is my understanding that the keycode sent from the numeric keypad number keys changes depending on whether or not the numlock key is pressed. This behavior is used (legitimately for at least two different ARPG games) to autocast certain spells. The way this works is that if you press and hold the numlock-7 key, for example, it sends a keydown event, but if you then press numlock and then release the numlock-7 key, it sends a *different* keycode for the keyup event... and since the app doesn't get the keyup event, it thinks the key is still down, so it continues to cast the spell mapped to that key.
I've looked through the list of existing complex mappings, and I didn't see anything obvious that would do what I want by default. Any ideas?
J