Samsung Wireless Remote Control/iPhone Protocol Decoded

Ideas and dreaming about C series TV will go this forum.

User avatar
moras86
Official SamyGO Developer
Posts: 179
Joined: Sun Feb 21, 2010 3:18 pm
Location: Poland
Contact:

Re: Samsung Wireless Remote Control/iPhone Protocol Decoded

Post by moras86 » Tue May 10, 2011 7:05 pm

There is very nice GUI port from iPhone work on PC created by xda-developers forum user. Check wiki - http://wiki.samygo.tv/?title=Desktop_ap ... ung_Remote

After hex open file iRemote.dll you can see more key name:

Code: Select all

KEY_ZOOM1   KEY_ANTENA  KEY_ESAVING KEY_SLEEP   KEY_HDMI    KEY_AD  KEY_APP_LIST    KEY_TTX_MIX KEY_PANNEL_CHDOWN   KEY_SRS KEY_W_LINK  KEY_CAPTION KEY_MTS KEY_PICTURE_SIZE    KEY_PMODE   KEY_SOUND_MODE  KEY_TV  KEY_GUIDE   KEY_CONTENTS    KEY_INFO    KEY_STOP    KEY_POWEROFF    KEY_REC KEY_PAUSE   KEY_PLAY    KEY_FF  KEY_REWIND  KEY_FAVCH   KEY_CH_LIST KEY_SOURCE  KEY_YELLOW  KEY_CYAN    KEY_GREEN   KEY_RED KEY_EXIT    KEY_RSS KEY_LEFT    KEY_RIGHT   KEY_DOWN    KEY_UP  KEY_MENU    KEY_TOOLS   KEY_MUTE    KEY_RETURN  KEY_ENTER   KEY_PRECH   KEY_VOLDOWN KEY_VOLUP   KEY_CHDOWN  KEY_CHUP    KEY_PLUS100 KEY_0   KEY_9   KEY_8   KEY_7   KEY_6   KEY_5   KEY_4   KEY_3   KEY_2   KEY_1
___

Maybe Samsung use same names for keys in Samsung Apps (Internet@TV). In file from decrypted Widget Manager - path Common\API\TVKeyValue.js

Code: Select all

    this.KEY_TOOLS = 75;
    this.KEY_MUTE = 27;
    this.KEY_RETURN = 88;
    this.KEY_UP = 29460;
    this.KEY_DOWN = 29461;
    this.KEY_LEFT = 4;
    this.KEY_RIGHT = 5;
    this.KEY_WHEELDOWN = 29469;
    this.KEY_WHEELUP = 29468;
    this.KEY_ENTER = 29443;
    this.KEY_INFO = 31;
    this.KEY_EXIT = 45;
    this.KEY_RED = 108;
    this.KEY_GREEN = 20;
    this.KEY_YELLOW = 21;
    this.KEY_BLUE = 22;
    this.KEY_INFOLINK = 147;
    this.KEY_RW = 69;
    this.KEY_PAUSE = 74;
    this.KEY_FF = 72;
    this.KEY_PLAY = 71;
    this.KEY_STOP = 70;
    this.KEY_1 = 101;
    this.KEY_2 = 98;
    this.KEY_3 = 6;
    this.KEY_4 = 8;
    this.KEY_5 = 9;
    this.KEY_6 = 10;
    this.KEY_7 = 12;
    this.KEY_8 = 13;
    this.KEY_9 = 14;
    this.KEY_0 = 17;
    this.KEY_EMPTY = 0;
    
    this.KEY_PRECH = 259;
    this.KEY_SOURCE = 222;
    this.KEY_CHLIST = 84;
    this.KEY_MENU = 262;
    this.KEY_WLINK = 115;
    this.KEY_CC = 118;
    this.KEY_CONTENT = 261;
    this.KEY_FAVCH = 256;
    this.KEY_REC = 192;
    this.KEY_EMODE = 148;
    this.KEY_DMA = 260;
    
    this.KEY_PANEL_CH_UP= 105;
    this.KEY_PANEL_CH_DOWN = 106;
    this.KEY_PANEL_VOL_UP = 203;
    this.KEY_PANEL_VOL_DOWN = 204;
    this.KEY_PANEL_ENTER = 309;
    this.KEY_PANEL_SOURCE = 612;
    this.KEY_PANEL_MENU = 613;
    this.KEY_PANEL_POWER = 614;
	
	// Added by ck1.seo@samsung.com
	// For all key regist
	// 3 April 2009
	this.KEY_POWER = 76;
	this.KEY_TV = 77;
	this.KEY_VOL_UP = 7;
	this.KEY_VOL_DOWN = 11;
	this.KEY_CH_UP = 68;
	this.KEY_CH_DOWN = 65;
	this.KEY_TTX_MIX = 650;
	this.KEY_GUIDE = 651;
	this.KEY_SUBTITLE = 652;
	this.KEY_ASPECT = 653;
	this.KEY_DOLBY_SRR = 654;
	this.KEY_MTS = 655;
	this.KEY_12 = 1057;
	this.KEY_DISC_MENU = 1086;
	this.KEY_3D = 1219;	
	this.KEY_PIP_ONOFF = 1032;
	this.KEY_AD = 1039;
	this.KEY_PMODE = 1040;
	this.KEY_SMODE = 1043;
	this.KEY_PIP_CHUP = 1050;
	this.KEY_PIP_CHDOWN = 1051;	
	this.KEY_FF_ = 1078;
	this.KEY_REWIND_ = 1080;
	this.KEY_SUB_TITLE = 1089;
	this.KEY_SLEEP = 1097;
	this.KEY_D_AUDIO = 1236;
	this.KEY_D_FRONT_PLAY = 1243;	// for BD
	this.KEY_D_VIEW_MODE = 1249;
	this.KEY_STEP = 1023;			// REC PAUSE(BD)
	this.KEY_CALLER_ID = 1128;		// FULL SCREEN (BD)
	this.KEY_ZOOM1 = 1083;
	this.KEY_ANTENA = 1054;			// for CN
Image . Image
TV LCD: Samsung LE40B651T3W (CI) | Internet@TV | fw: 2005 (patched: SamyGO v0.24 + GMT2, ArFIX2, ADFIX) | matrix: SQ04
BluRay: Samsung BD-D5300-ZF | SamsungApps | fw: 1013
Android-Box: Zidoo X8 | Realtek RTD1295 64bit (QuadCore), Mali-T820 GPU, 2 GB RAM, HDMI IN record, Android 6.0 | ZDMC 17.1
my projects: Remote LAN Control - Desktop app (v0.8) | Signal checker for DVB-T (v0.3)

skyteddy
Posts: 6
Joined: Sun Apr 24, 2011 10:40 pm

Re: Samsung Wireless Remote Control/iPhone Protocol Decoded

Post by skyteddy » Sat May 21, 2011 8:09 am

nice list :) really all possible keys? I miss in your list KEY_ENTER and KEY_EXIT

skyteddy
Posts: 6
Joined: Sun Apr 24, 2011 10:40 pm

Re: Samsung Wireless Remote Control/iPhone Protocol Decoded

Post by skyteddy » Mon May 30, 2011 9:44 am

pjnewman wrote:I found a few more to add to my list from there, and some that gave a "Not Available" message,
You mean on the tv or as responds from the tv on port 55000?
pjnewman wrote:like you see if you press e.g. Fastforward/Rewind while watching live TV; so I assume I was just using them at the wrong time. But it also didn't respond to others at all, making me think they don't exist on my model of TV.
I got allays the the same response from the tv, independent which key I send and if its available on tv (or selected mode) or not:

Code: Select all

      <Byte - unknown byte>
            0x00 = ??? 
      <Byte - Length of string1>
      0x00
      <x-Bytes - string1>
           "iapp.samsung"
      <Byte - Length of resultbytes>
      0x00
      <resultbytes>
           0x00 0x00 0x00 0x00
happy computing!
R@iner

skyteddy
Posts: 6
Joined: Sun Apr 24, 2011 10:40 pm

Re: Samsung Wireless Remote Control/iPhone Protocol Decoded

Post by skyteddy » Mon May 30, 2011 10:24 pm

pjnewman wrote:
skyteddy wrote:I got allays the the same response from the tv, independent which key I send and if its available on tv (or selected mode) or not:
I must admit I'd not bothered looking at return stuff at all, particularly given my intended usage. Interesting to know though; I guess you've not tried the text entry like you get with YouTube, I wonder if that might return the current text entered or something? What do you get in result bytes, more base 64?
Sure, I tried it: This is the responds for text. 3 "parts" in one responds:

Code: Select all

    ---
      <Byte - unknown byte>
            0x02 = ??? 
      <Byte - Length of string1>
      0x00
      <x-Bytes - string1>
           "iapp.samsung"
      <Byte - Length of resultbytes>
      0x00
      <resultbytes>
           0xC8 0x00 0x02 0x00 0x31 0x00  =  ??
    ---
      <Byte - unknown byte>
            0x02 = ??? 
      <Byte - Length of string1>
      0x00
      <x-Bytes - string1>
           "iapp.samsung"
      <Byte - length of resultbytes>
      0x00
      <resultbytes>
            0x03 0x00 0x04 0x00 0x41 0x41 0x3D 0x3D  =  ??
    ---
      <Byte - unknown byte>
            0x02 = ??? 
      <Byte - Length of string1>
      0x00
      <x-Bytes - string1>
           "iapp.samsung"
      <Byte - Length of resultbytes>
      0x00
      <resultbytes>
            0x03 0x00 0x04 0x00 0x41 0x41 0x3D 0x3D  =  ??
    ---
I have no idea about what is what.

happy computing!
R@iner

Post Reply

Return to “[C] Brainstorm”