Does it possible to override kext's methods by other kext

I'm tring to implement my own kext for Apple keyboards (USB with numpad and bluetooth) by rewriting kext for Logitech device described in this post, source code for it is stored on GitHub. I changed IOKitPersonalities settings in plist: ProductID 545, VendorID 1452 (my Apple USB keyboard). Also I added some IOLog calls in cpp code. I turn off SIP, enable kext debug mode. Kext loads and starts fine when keyboard plugin, but my custom dispatchKeyboardEvent method is called only for button 'Eject'.

08.01.16 23:21:44,000 kernel[0]: LogitechWirelessPresenterDriver start
08.01.16 23:21:44,000 kernel[0]: LogitechWirelessPresenterDriver start with IOHIDInterface, vendor 1452, device 545

I have device tree in IORegistryExplorer. As you can see, keyboard has two drivers at the same time: AppleHIDKeyboardEventDriver & LogitechWirelessPresenterDriver. Does is possible on 10.11 to intercept all other key pressing by this way?

I think what my driver 'inherit' from IOHIDConsumer and this is a cause of small list of keys for interception (HIDKeyMapping?). If it is - how can I make my driver to be a IOHIDKeyboard?

Full devices/drivers tree

    | |   +-o EHC1@1D,7  <class IOPCIDevice, id 0x1000001c0, registered, matched, active, busy 0 (1762 ms), retain 12>
    | |   | +-o EHC1@fd000000  <class AppleUSBEHCIPCI, id 0x1000001ec, registered, matched, active, busy 0 (1744 ms), retain 103>
    | |   |   +-o PRT1@fd100000  <class AppleUSBEHCIPort, id 0x10000021f, registered, matched, active, busy 0 (1737 ms), retain 13>
    | |   |     +-o IOUSBHostDevice@fd100000  <class IOUSBHostDevice, id 0x100000281, registered, matched, active, busy 0 (1737 ms), retain 28>
    | |   |       +-o AppleUSBHostLegacyClient  <class AppleUSBHostLegacyClient, id 0x10000028d, !registered, !matched, active, busy 0, retain 8>
    | |   |       +-o AppleUSB20InternalHub@fd100000  <class AppleUSB20InternalHub, id 0x100000294, registered, matched, active, busy 0 (1733 ms), retain 19$
    | |   |       | +-o PRT1@fd110000  <class AppleUSB20HubPort, id 0x10000029e, registered, matched, active, busy 0 (5 ms), retain 14>
    | |   |       | | +-o IR Receiver@fd110000  <class IOUSBHostDevice, id 0x1000002b4, registered, matched, active, busy 0 (5 ms), retain 20>
    | |   |       | |   +-o AppleUSBHostLegacyClient  <class AppleUSBHostLegacyClient, id 0x1000002c0, !registered, !matched, active, busy 0, retain 8>
    | |   |       | |   +-o AppleUSBHostCompositeDevice  <class AppleUSBHostCompositeDevice, id 0x1000002c9, !registered, !matched, active, busy 0, retain 4$
    | |   |       | |   +-o IOUSBHostInterface@0  <class IOUSBHostInterface, id 0x1000002ca, !registered, !matched, active, busy 0, retain 7>
    | |   |       | +-o PRT2@fd120000  <class AppleUSB20HubPort, id 0x10000029f, registered, matched, active, busy 0 (1728 ms), retain 17>
    | |   |       | | +-o Keyboard Hub@fd120000  <class IOUSBHostDevice, id 0x1000009b5, registered, matched, active, busy 0 (31 ms), retain 29>
    | |   |       | |   +-o AppleUSBHostLegacyClient  <class AppleUSBHostLegacyClient, id 0x1000009b8, !registered, !matched, active, busy 0, retain 8>
    | |   |       | |   +-o AppleUSB20KeyboardHub@fd120000  <class AppleUSB20KeyboardHub, id 0x1000009bf, registered, matched, active, busy 0 (26 ms), retai$
    | |   |       | |   | +-o AppleUSB20HubPort@fd122000  <class AppleUSB20HubPort, id 0x1000009c4, registered, matched, active, busy 0 (25 ms), retain 16>
    | |   |       | |   | | +-o Apple Keyboard@fd122000  <class IOUSBHostDevice, id 0x1000009ca, registered, matched, active, busy 0 (24 ms), retain 28>
    | |   |       | |   | |   +-o AppleUSBHostLegacyClient  <class AppleUSBHostLegacyClient, id 0x1000009cd, !registered, !matched, active, busy 0, retain 8$
    | |   |       | |   | |   +-o AppleUSBHostCompositeDevice  <class AppleUSBHostCompositeDevice, id 0x1000009d3, !registered, !matched, active, busy 0, re$
    | |   |       | |   | |   +-o IOUSBHostInterface@0  <class IOUSBHostInterface, id 0x1000009d4, registered, matched, active, busy 0 (16 ms), retain 10>
    | |   |       | |   | |   | +-o IOUSBHostHIDDevice@fd122000,0  <class IOUSBHostHIDDevice, id 0x1000009da, registered, matched, active, busy 0 (9 ms), re$
    | |   |       | |   | |   |   +-o IOHIDInterface  <class IOHIDInterface, id 0x1000009de, registered, matched, active, busy 0 (8 ms), retain 7>
    | |   |       | |   | |   |   | +-o AppleHIDKeyboardEventDriver  <class AppleHIDKeyboardEventDriver, id 0x1000009e6, registered, matched, active, busy 0$
    | |   |       | |   | |   |   |   +-o IOHIDKeyboard  <class IOHIDKeyboard, id 0x1000009e9, registered, matched, active, busy 0 (2 ms), retain 10>
    | |   |       | |   | |   |   |   | +-o IOHIDSystem  <class IOHIDSystem, id 0x10000026d, registered, matched, active, busy 0 (0 ms), retain 22>
    | |   |       | |   | |   |   |   |   +-o IOHIDUserClient  <class IOHIDUserClient, id 0x1000005b7, !registered, !matched, active, busy 0, retain 5>
    | |   |       | |   | |   |   |   |   +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x1000005c2, !registered, !matched, active, busy 0, reta$
    | |   |       | |   | |   |   |   +-o IOHIDSystem  <class IOHIDSystem, id 0x10000026d, registered, matched, active, busy 0 (0 ms), retain 21>
    | |   |       | |   | |   |   |     +-o IOHIDUserClient  <class IOHIDUserClient, id 0x1000005b7, !registered, !matched, active, busy 0, retain 5>
    | |   |       | |   | |   |   |     +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x1000005c2, !registered, !matched, active, busy 0, retain$
    | |   |       | |   | |   |   +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x1000009df, !registered, !matched, active, busy 0, retain 6>
    | |   |       | |   | |   |   +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x1000009e0, !registered, !matched, active, busy 0, retain 6>
    | |   |       | |   | |   +-o IOUSBHostInterface@1  <class IOUSBHostInterface, id 0x1000009d5, registered, matched, active, busy 0 (11 ms), retain 10>
    | |   |       | |   | |     +-o IOUSBHostHIDDevice@fd122000,1  <class IOUSBHostHIDDevice, id 0x1000009e1, registered, matched, active, busy 0 (7 ms), re$
    | |   |       | |   | |       +-o IOHIDInterface  <class IOHIDInterface, id 0x1000009e3, registered, matched, active, busy 0 (5 ms), retain 7>
    | |   |       | |   | |       | +-o LogitechWirelessPresenterDriver  <class LogitechWirelessPresenterDriver, id 0x1000009ea, registered, matched, active$
    | |   |       | |   | |       |   +-o IOHIDConsumer  <class IOHIDConsumer, id 0x1000009ec, registered, matched, active, busy 0 (0 ms), retain 10>
    | |   |       | |   | |       |   | +-o IOHIDSystem  <class IOHIDSystem, id 0x10000026d, registered, matched, active, busy 0 (0 ms), retain 22>
    | |   |       | |   | |       |   |   +-o IOHIDUserClient  <class IOHIDUserClient, id 0x1000005b7, !registered, !matched, active, busy 0, retain 5>
    | |   |       | |   | |       |   |   +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x1000005c2, !registered, !matched, active, busy 0, reta$
    | |   |       | |   | |       |   +-o IOHIDSystem  <class IOHIDSystem, id 0x10000026d, registered, matched, active, busy 0 (0 ms), retain 21>
    | |   |       | |   | |       |     +-o IOHIDUserClient  <class IOHIDUserClient, id 0x1000005b7, !registered, !matched, active, busy 0, retain 5>
    | |   |       | |   | |       |     +-o IOHIDParamUserClient  <class IOHIDParamUserClient, id 0x1000005c2, !registered, !matched, active, busy 0, retain$
    | |   |       | |   | |       +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x1000009e4, !registered, !matched, active, busy 0, retain 6>
    | |   |       | |   | |       +-o IOHIDLibUserClient  <class IOHIDLibUserClient, id 0x1000009e5, !registered, !matched, active, busy 0, retain 6>
    | |   |       | |   | +-o AppleUSB20HubPort@fd121000  <class AppleUSB20HubPort, id 0x1000009c5, registered, matched, active, busy 0 (0 ms), retain 12>
    | |   |       | |   | +-o AppleUSB20HubPort@fd123000  <class AppleUSB20HubPort, id 0x1000009c6, registered, matched, active, busy 0 (0 ms), retain 12>
    | |   |       | |   +-o IOUSBHostInterface@0  <class IOUSBHostInterface, id 0x1000009c2, !registered, !matched, active, busy 0, retain 8>
Does it possible to override kext's methods by other kext
 
 
Q