Hey guys I took the xbmcremote code from github:
https://github.com/freezy/android-xbmcremote
Then I modified it to allow me to change channels using that app, it works pretty well and pretty easily. Basically next to the Send Text menu option there is a new option called Change Channel which brings up a text prompt, type in the channel and it changes it.
Modified XBMC Remote for changing channels
http://www.multiupload.com/ENCQA91YQ0
Basically the way it works is by using the xbmcHttp API to make three calls to change the channel.
1.opens up the prompt to change the channel
http://xbmcServerHost/xbmcCmds/xbmcHttp?...dKey(61536)
2.then i call the native sendText function that comes with the app which reads the text inputted and enters it into the prompt
3.then i commit the channel using this command
http://xbmcServerHost/xbmcCmds/xbmcHttp?...endKey(274)
Also the Skip Forward and Skip Back button (next to play, pause) in the Android app is mapped to the channelup, channeldown button.
The way it works is pretty simple, you press channel up and it sends the hex code 04 (in my case) and channelup is mapped to whatever you have in keys.h or keymap.xml or keyboard.xml I'm not sure because I didnt modify those files but there is more relevant info found here (for the atv2 people who want to change the left right keys):
http://forum.xbmc.org/showthread.php?p=735331
Also relevant for debugging in advancedsettings
http://wiki.xbmc.org/index.php?title=Use...ttings.xml
is <displayremotecode>true</displayremotecode> which will allow you to look through the debug log and see what its capturing when you try sending it commands using devices like a gamepad or a tv remote (harmony in my case) but NOT for the android xbmcremote codes.
Speaking of codes I was able to figure out which codes map to my comcast cable set top box using tried and true brute force, I pretty much went into slingbox windows app, copied down all the ir codes it gave me under settings, converted them to hex and mapped two at a time to my harmony's channelup/channeldown command allowing me to figure out what they all do, sortof. To do so I basically just edit the SlingboxSettings.xml file put in two hex codes then press the corresponding buttons on the remote, stop the video, modify the file, repeat.
Comcast Cable Box Mappings:
Quote: <slingboxsettings>
<slingbox>
<width>320</width>
<height>240</height>
<videobitrate>2000</videobitrate>
<framerate>30</framerate>
<smoothing>50</smoothing>
<audiobitrate>64</audiobitrate>
<iframeinterval>10</iframeinterval>
<buttons>
<channelup>04</channelup>
<channeldown>05</channeldown>
<one>09</one>
<two>0A</two>
<three>0B</three>
<four>0C</four>
<five>0D</five>
<six>0E</six>
<seven>0F</seven>
<eight>10</eight>
<nine>11</nine>
<zero>12</zero>
</buttons>
</slingbox>
</slingboxsettings>
not sure if its relevant but heres what i've got so far:
decimal - hex - function
09 - 09 - 1
10 - 0A - 2
11 - 0B - 3
12 - 0C - 4
13 - 0D - 5
14 - 0E - 6
15 - 0F - 7
16 - 10 - 8
17 - 11 - 9
18 - 12 - 0
1 - 01 - power toggle
4 - 04 - channel up
5 - 05 - channel down
6 - 06 - volume show?
7 - 07 - unknown
8 - 08 - mute
21 - 15 - last (prev channel)
22 - 16 - unknown?
24 - 18 - unknown?
25 - 19 - unknown?
26 - 1a - unknown?
27 - 1b - unknown?
28 - 1c - unknown?
29 - 1d - record dvr?
31 - 1f - unknown?
32 - 20 - unknown?
33 - 21 - quick menu
35 - 23 - full guide
36 - 24 - back key?
38 - 26 - up key
39 - 27 - down key
40 - 28 - left key?
41 - 29 - right key?
42 - 2a - info/menu
43 - 2b - pagedown (guide?)
44 - 2c - pageup
Finally on the topic of custom keys like Full Guide, Last, Menu I think it would be possible by writing some sort of plugin that will communicate with the existing Slingbox code's SendReceiveMessage
Source Code Here:
http://trac.xbmc.org/attachment/ticket/1...20V6.patch
And the plugin will basically be activated via the xbmcHttp API, I'm guessing with ExecBuiltIn
http://wiki.xbmc.org/index.php?title=Web...s_Commands
And at that point it would be just a simple matter of writing a programmable layout on the client side with the buttons and the hex mappings that will send the code via http to the plugin to the native slingbox code.
Stay tuned for more updates as I experiment on that