If you're up to putting some work into it, you might try AutoHotkey, which allows you to script and automate lots of things on your PC.
I'd start with something like the accepted answer in this Stack Overflow post which solves a similar problem of intercepting a key press globally and sending it to a specific window.
In their example (shown below), they are capturing Ctrl+L and sending it to Firefox. In your case, add a copy of the snippet into your script for each key or key combo you wish to capture and modify the MozillaUIWindowClass to whatever app you wish to receive the keystrokes.
They also have a utility called Window Spy for getting any needed information about the destination window, such as name or handle.
$^l::
IfWinExist ahk_class MozillaUIWindowClass
{
WinActivate
Send ^l
}
Or, as Rich ultimately ended up doing, you may need to send commands to the window specifically instead of just giving it focus and sending them globally.
His working solution looks like this:
#IfWinExist ahk_class iTunes
Media_Play_Pause::ControlSend, , ^p, Windows Media Player
#IfWinExist ahk_class iTunes
Media_Next::ControlSend, , ^f, Windows Media Player
#IfWinExist ahk_class iTunes
Media_Prev::ControlSend, , ^b, Windows Media Player
For more help with AutoHotkey scripting, try their documentation page.
it's possible this is in the keyboard configuration rather than windows - can you share the keyboard brand and model number? – LevenTech – 2017-05-31T20:46:16.247
@LevenTech It's just a generic 'AOpen' keyboard, no special software or drivers. – Jon – 2017-06-01T00:24:29.783
I have the same problem -- when I have ITunes open on Windows 10, it "claims" the media keys (play / pause etc.), but I want to control Windows Media Player. I wish there was a way to control which app gets the global keypress. I can't see any way in ITunes to ask it to stop listening. – Rich – 2018-06-06T10:19:14.393