Is IRremote library timer2 used for send functions?

I have been trying to use an IR remote (and the Ken Shirriff library) with a motor controller shield for months now and each time I get stuck and give up. The motor does not turn forward or back when I add the library.
Today I think I have finally discovered the problem. It is that the motor controller shield uses the Arduino pin11 for the PWM speed of the one motor (and this pin is not negotiable unless I change change shields, but that is not possible) and so does the IR remote timer2.

I have put together the pieces from several OLD forum posts that the IR remote library uses the timer2, which depends on the pins 11 and 3, and hence my motor speed does not work as it was using pin 11 too.

Now I have 2 choices (or I think I might).
Choice 1:
I rewrite the IRremote library to use the timer0, which depends on pins 5 and 6 (which is ill advised as so many standard functions including the delay(); function uses the timer0. Unfortunately I can't rewrite the code to use timer1 (which uses pins 9 and 10) because pin 10 is essential for the PWM of the OTHER motor in my project and changing this pin is NOT possible.

Choice 2:
I rewrite the library to only do IR receiving. I suspect that the timer is only used for the send function and not for the receive function, and then it does not need to activate a timer at all.

Can anyone tell me if that is true, and if it is, perhaps give me a hand in doing this. I have never changed or written a library before, but I am determined to try if it will solve my problem.

  1. The used timer depends on the controller, and it can be configured in the library.

  2. The timer is needed for both sending and receiving.