Demapping VK_BROWSER_BACK
#1
So, most keyboards have a browser back button and my remote has one for it's back/previous button. Here's the issue... I can't figure out how to change or remove the mappings for this key. Nowhere in Keyboard.xml is there a mapping for VK_BROWSER_BACK or BROWSER_BACK, so I can't map it to new things and I can't demap it from other things.

I tried using Intelliremote to map that button to hit backspace, worked great... Except now it sends backspace AND browser_Back at the same time, oftne resulting in a 'double back' in an area where both functions will have the same result.

Oddly enough KeyMapEdit has NO provision for it. It's not something you can set with it other than setting the key manually by ID and then that doesn't even work. I tried manually entering browser_back into the Keyboard.xml and that BROKE it.

This is clearly mapped somewhere in XBMC, so can someone tell me where it is so I can mess with it? Or is it somehow freakishly hardcoded for some reason?
Reply
#2
I was confused. The issue is not VK_BROWSER_BACK and that could be disabled in the registry. The issue is, it also sends WM_APPCOMMAND 1, which is the media keyboard button for browser back. I know that XBMC intercepts appcommands at a hardcoded level, but as it's hardcoded it misses some things that I need it to do. I can't figure out how to map that appcommand to other things basically.
Reply
#3
XBMC doesn't handle the multimedia keypresses directly and you can't use them in key mapping files. That's why my KeyMapEdit applet doesn't mention them.

When you press a mutimedia key Windows automatically generates the WM_APPCOMMAND message that you noticed. I don't fully understand what controls this, but it means that the application first gets a WM_APPCOMMAND message then gets the WM_KEYDOWN message i.e. it gets two messages and this is why when you used Intelliremote you got two "backspaces".

XBMC for Windows ignores the keypress and handles the APPCOMMAND message, though as you've found there is no way to customise the handling of the APPCOMMANDs. So currently there is no way to customise the behaviour of the Back button on your remote. You don't say what remote you're using, but if it's an eHome/RC6 remote you can configure the remote to send keypresses when you press the buttons and then you can map the keypresses as required.

The multimedia key handling is something that's been on my "to look at" list for a while, but at the moment I'm afraid it's not very high on that list.

JR
Reply
#4
Considdering this, it seems somewhat short sighted that XBMC doesn't have a simple 'Ignore AppCommands' feature, so then the remote can be used as a normal keystroke.

However, I have thusfar been unable to configure the remote to send keypresses other than by using something like Intelliremote or something similar. It is an RC6 remote as it's actually the same remote that the xbmccustomregis guy uses. (Except the North American version has no colored buttons, but it's the same RC118N remote and IR603 reciever). That said, Windows does NOT installthe eHome driver with the reciever and instead uses generics. :/
Reply
#5
DJ_Izumi Wrote:Considdering this, it seems somewhat short sighted that XBMC doesn't have a simple 'Ignore AppCommands' feature, so then the remote can be used as a normal keystroke.

Included in my "to look at" list is adding support for the multimedia keys and providing an option in advancedsettings.xml to disable handling of APPCOMMAND messages.

JR
Reply
#6
DJ_Izumi Wrote:So, most keyboards have a browser back button and my remote has one for it's back/previous button. Here's the issue... I can't figure out how to change or remove the mappings for this key. Nowhere in Keyboard.xml is there a mapping for VK_BROWSER_BACK or BROWSER_BACK, so I can't map it to new things and I can't demap it from other things.

I tried using Intelliremote to map that button to hit backspace, worked great... Except now it sends backspace AND browser_Back at the same time, oftne resulting in a 'double back' in an area where both functions will have the same result.

Oddly enough KeyMapEdit has NO provision for it. It's not something you can set with it other than setting the key manually by ID and then that doesn't even work. I tried manually entering browser_back into the Keyboard.xml and that BROKE it.

This is clearly mapped somewhere in XBMC, so can someone tell me where it is so I can mess with it? Or is it somehow freakishly hardcoded for some reason?

I can help you map it, I did help people with similar issues of non eHome remotes. In my thread I wrote different Autohotkey scripts that can change WM_APPCOMMANDS to something more useful in XBMC. But you have to tell me what you need it to do?


Cheers,
EG.
Image
Image
Reply
#7
elitegamer360 Wrote:I can help you map it, I did help people with similar issues of non eHome remotes. In my thread I wrote different Autohotkey scripts that can change WM_APPCOMMANDS to something more useful in XBMC. But you have to tell me what you need it to do?


Cheers,
EG.

I found a suitable workaround, but I admit it's ugly. Mainly telling intelliremote to send a backspace key when the back/previous button on the remote is pressed. This sends both backspace and WM_APPCOMMAND 1, I then demapped backspace from previousmenu in the global area of keyboard.xml and then added it in manually in every subsection where WM_APPCOMMAND 1 did NOT do what I wanted it to do.

However I'm having issues with your GSB Home Jump. Namely it's making the keys stick. The first issue is that when it was set to use the windows key, it didn't work. It worked when I did the hotkey on the KEYBOARD, but when GSB was pressed on the remote, and then Inteliremote sent the same shortcut it didn't work. It worked when I changed Intelliremote and your script to instead work with CTRL+SHIFT+W then it worked fine. I dunno if Intelliremote can just not send macros like that. Like, as I recall CTRL+ALT+DEL is captured different by the OS and it can't be triggered through software simulation. With this solution it also has a nasty tendancy to stick whatever modifier keys are in the shortcut, but only when that shortcut is activated by the remote, NOT when the keyboard itself does the macro. I dunno if this is your script or if this is intelliremote however.

However I think I'd like to start with this eHome driver issue first. Namely, I have the same remote as you, just the US version without the colored buttons. The eHome driver is not being installed however A series of generic ones are installed instead. (Win7 Ultimate, FYI) Any ideas if this is having an effect? Because your registry edits seem to do SQUAT. SUppose that maybe these generic drivers arn't referencing that part of the registry and so it's having no effect?
Reply
#8
Okay, I determined that the stickykeys issue is an AutoHotKey issue with your script. I tested this by making another autohotkey script, so when I press B, it sends out CTRL+SHIFT+W (what I adjusted your script to read for GSH Home Button) and the CTRL+SHIFT keys get stuck. This disables most functions on the keyboard since now it's trying to press CTRL+SHIFT+Whatever. They remain stuck until I physically press those keys on the keyboard.
Reply
#9
Hmm. Interesting. Most commonly the IR603 reciever has VID_147A and PID_E017

Mine has VID_147A, but the PID is PID_E031. This is a Diamond rebadge of the kit, maybe they changed the PID in the firmware and the eHome driver doesn't have this in it's list?
Reply
#10
DJ_Izumi Wrote:Because your registry edits seem to do SQUAT. SUppose that maybe these generic drivers arn't referencing that part of the registry and so it's having no effect?

The registry mods change the configuration used by the eHome driver, so if the eHome driver isn't loaded the registry mods will indeed do nothing.

JR
Reply
#11
jhsrennie Wrote:The registry mods change the configuration used by the eHome driver, so if the eHome driver isn't loaded the registry mods will indeed do nothing.

JR

So the question is: How can I fix that? In Googling, I found someone else with the similar problems using the Diamond Multimedia rebadge of this remote. I'm not sure why it has a different PID when it has the same model number that other kits use.

I know I could MANUALLY install the eHome drivers onto the hardware, but this thing is four different USB devices in one, and I'm unsure which one's I'd forcefully install for which.
Reply
#12
I don't think you can manually install the eHome drivers because they're already installed. It's just that because Windows doesn't recongnise the remote it's refusing to load the drivers. You could try the approach described in http://it.megocollector.com/?p=8 though people have reported mixed success with this.

JR
Reply
#13
That trick worked in testing on my Win XP laptop, but not on my Win7 desktop which is what I'm working on making into the dedicated XBMC machine. IrHid.inf doesn't even exist on Winy. I think usbcir is the equivilent but trying to apply the scheme to it, didn't seem to have an effect.
Reply
#14
There comes a point where I would give up and buy a Microsoft receiver instead. It might be worth a bit of Googling first though.

JR
Reply

Logout Mark Read Team Forum Stats Members Help
Demapping VK_BROWSER_BACK0