Skip to content

Instantly share code, notes, and snippets.

@Simon34545
Created February 6, 2023 17:50
Show Gist options
  • Select an option

  • Save Simon34545/fc5c91e0456789dd7a56a947c1148939 to your computer and use it in GitHub Desktop.

Select an option

Save Simon34545/fc5c91e0456789dd7a56a947c1148939 to your computer and use it in GitHub Desktop.
Keycodes extracted from decompiled network-input-service binary (LG)
┌──────────────────────────────────┬──────────────┬──────────────────┐
│ Key name │ Key ID (hex) │ Key ID (decimal) │
├──────────────────────────────────┼──────────────┼──────────────────┤
│ 0 │ 0x000B │ 11 │
│ 1 │ 0x0002 │ 2 │
│ 2 │ 0x0003 │ 3 │
│ 3 │ 0x0004 │ 4 │
│ 4 │ 0x0005 │ 5 │
│ 5 │ 0x0006 │ 6 │
│ 6 │ 0x0007 │ 7 │
│ 7 │ 0x0008 │ 8 │
│ 8 │ 0x0009 │ 9 │
│ 9 │ 0x000A │ 10 │
│ HOME │ 0x007D │ 125 │
│ BACK │ 0x019C │ 412 │
│ MENU │ 0x008B │ 139 │
│ EXIT │ 0x00AE │ 174 │
│ POWER │ 0x0074 │ 116 │
│ MUTE │ 0x0071 │ 113 │
│ VOLUMEUP │ 0x0073 │ 115 │
│ VOLUMEDOWN │ 0x0072 │ 114 │
│ CHANNELUP │ 0x0192 │ 402 │
│ CHANNELDOWN │ 0x0193 │ 403 │
│ PROGRAM │ 0x016A │ 362 │
│ INFO │ 0x0166 │ 358 │
│ FAVORITES │ 0x016C │ 364 │
│ PLAY │ 0x00CF │ 207 │
│ PAUSE │ 0x0077 │ 119 │
│ STOP │ 0x0080 │ 128 │
│ RECORD │ 0x00A7 │ 167 │
│ REWIND │ 0x00A8 │ 168 │
│ FASTFORWARD │ 0x00D0 │ 208 │
│ LEFT │ 0x0069 │ 105 │
│ RIGHT │ 0x006A │ 106 │
│ UP │ 0x0067 │ 103 │
│ DOWN │ 0x006C │ 108 │
│ ENTER │ 0x001C │ 28 │
│ RED │ 0x018E │ 398 │
│ GREEN │ 0x018F │ 399 │
│ YELLOW │ 0x0190 │ 400 │
│ BLUE │ 0x0191 │ 401 │
│ DASH │ 0x0303 │ 771 │
│ FLASHBACK │ 0x0304 │ 772 │
│ QMENU │ 0x0319 │ 793 │
│ GOTOPREV │ 0x032D │ 813 │
│ GOTONEXT │ 0x032E │ 814 │
│ 3D_MODE │ 0x0335 │ 821 │
│ SAP │ 0x031E │ 798 │
│ CC │ 0x031F │ 799 │
│ ASPECT_RATIO │ 0x031D │ 797 │
│ EJECT │ 0x0323 │ 803 │
│ MYAPPS │ 0x03DB │ 987 │
│ RECENT │ 0x03F0 │ 1008 │
│ BS │ 0x0340 │ 832 │
│ BS_NUM_1 │ 0x0341 │ 833 │
│ BS_NUM_2 │ 0x0342 │ 834 │
│ BS_NUM_3 │ 0x0343 │ 835 │
│ BS_NUM_4 │ 0x0344 │ 836 │
│ BS_NUM_5 │ 0x0345 │ 837 │
│ BS_NUM_6 │ 0x0346 │ 838 │
│ BS_NUM_7 │ 0x0347 │ 839 │
│ BS_NUM_8 │ 0x0348 │ 840 │
│ BS_NUM_9 │ 0x0349 │ 841 │
│ BS_NUM_10 │ 0x034A │ 842 │
│ BS_NUM_11 │ 0x034B │ 843 │
│ BS_NUM_12 │ 0x034C │ 844 │
│ CS1 │ 0x034D │ 845 │
│ CS1_NUM_1 │ 0x034E │ 846 │
│ CS1_NUM_2 │ 0x034F │ 847 │
│ CS1_NUM_3 │ 0x0350 │ 848 │
│ CS1_NUM_4 │ 0x0351 │ 849 │
│ CS1_NUM_5 │ 0x0352 │ 850 │
│ CS1_NUM_6 │ 0x0353 │ 851 │
│ CS1_NUM_7 │ 0x0354 │ 852 │
│ CS1_NUM_8 │ 0x0355 │ 853 │
│ CS1_NUM_9 │ 0x0356 │ 854 │
│ CS1_NUM_10 │ 0x0357 │ 855 │
│ CS1_NUM_11 │ 0x0358 │ 856 │
│ CS1_NUM_12 │ 0x0359 │ 857 │
│ CS2 │ 0x035A │ 858 │
│ CS2_NUM_1 │ 0x035B │ 859 │
│ CS2_NUM_2 │ 0x035C │ 860 │
│ CS2_NUM_3 │ 0x035D │ 861 │
│ CS2_NUM_4 │ 0x035E │ 862 │
│ CS2_NUM_5 │ 0x035F │ 863 │
│ CS2_NUM_6 │ 0x0360 │ 864 │
│ CS2_NUM_7 │ 0x0361 │ 865 │
│ CS2_NUM_8 │ 0x0362 │ 866 │
│ CS2_NUM_9 │ 0x0363 │ 867 │
│ CS2_NUM_10 │ 0x0364 │ 868 │
│ CS2_NUM_11 │ 0x0365 │ 869 │
│ CS2_NUM_12 │ 0x0366 │ 870 │
│ 4K_BS │ 0x041F │ 1055 │
│ 4K_BS_NUM_1 │ 0x0420 │ 1056 │
│ 4K_BS_NUM_2 │ 0x0421 │ 1057 │
│ 4K_BS_NUM_3 │ 0x0422 │ 1058 │
│ 4K_BS_NUM_4 │ 0x0423 │ 1059 │
│ 4K_BS_NUM_5 │ 0x0424 │ 1060 │
│ 4K_BS_NUM_6 │ 0x0425 │ 1061 │
│ 4K_BS_NUM_7 │ 0x0426 │ 1062 │
│ 4K_BS_NUM_8 │ 0x0427 │ 1063 │
│ 4K_BS_NUM_9 │ 0x0428 │ 1064 │
│ 4K_BS_NUM_10 │ 0x0429 │ 1065 │
│ 4K_BS_NUM_11 │ 0x042A │ 1066 │
│ 4K_BS_NUM_12 │ 0x042B │ 1067 │
│ 4K_CS │ 0x042C │ 1068 │
│ 4K_CS_NUM_1 │ 0x042D │ 1069 │
│ 4K_CS_NUM_2 │ 0x042E │ 1070 │
│ 4K_CS_NUM_3 │ 0x042F │ 1071 │
│ 4K_CS_NUM_4 │ 0x0430 │ 1072 │
│ 4K_CS_NUM_5 │ 0x0431 │ 1073 │
│ 4K_CS_NUM_6 │ 0x0432 │ 1074 │
│ 4K_CS_NUM_7 │ 0x0433 │ 1075 │
│ 4K_CS_NUM_8 │ 0x0434 │ 1076 │
│ 4K_CS_NUM_9 │ 0x0435 │ 1077 │
│ 4K_CS_NUM_10 │ 0x0436 │ 1078 │
│ 4K_CS_NUM_11 │ 0x0437 │ 1079 │
│ 4K_CS_NUM_12 │ 0x0438 │ 1080 │
│ TER │ 0x0367 │ 871 │
│ TER_NUM_1 │ 0x0368 │ 872 │
│ TER_NUM_2 │ 0x0369 │ 873 │
│ TER_NUM_3 │ 0x036A │ 874 │
│ TER_NUM_4 │ 0x036B │ 875 │
│ TER_NUM_5 │ 0x036C │ 876 │
│ TER_NUM_6 │ 0x036D │ 877 │
│ TER_NUM_7 │ 0x036E │ 878 │
│ TER_NUM_8 │ 0x036F │ 879 │
│ TER_NUM_9 │ 0x0370 │ 880 │
│ TER_NUM_10 │ 0x0371 │ 881 │
│ TER_NUM_11 │ 0x0372 │ 882 │
│ TER_NUM_12 │ 0x0373 │ 883 │
│ 3DIGIT_INPUT │ 0x0374 │ 884 │
│ BML_DATA │ 0x0375 │ 885 │
│ JAPAN_DISPLAY │ 0x0376 │ 886 │
│ TELETEXT │ 0x030B │ 779 │
│ TEXTOPTION │ 0x030C │ 780 │
│ LIST │ 0x0313 │ 787 │
│ MAGNIFIER_ZOOM │ 0x0402 │ 1026 │
│ LIVE_ZOOM │ 0x0403 │ 1027 │
│ SCREEN_REMOTE │ 0x03E2 │ 994 │
│ AD │ 0x033D │ 829 │
│ ACCESSIBILITY │ 0x0439 │ 1081 │
│ UPDOWN │ 0x043A │ 1082 │
│ USP │ 0x043B │ 1083 │
│ VOICE_BACK │ 0x043C │ 1084 │
│ VOICE_EXIT │ 0x043D │ 1085 │
│ ALEXA │ 0x043E │ 1086 │
│ SCREENDOWN │ 0x043F │ 1087 │
│ COMP_RGB_HDMI │ 0x0300 │ 768 │
│ STORE_POWER │ 0x0301 │ 769 │
│ LOCAL_DIMMING │ 0x0302 │ 770 │
│ HOME_US │ 0x0306 │ 774 │
│ RESLIST │ 0x0307 │ 775 │
│ MARK │ 0x0308 │ 776 │
│ LIVETV │ 0x0309 │ 777 │
│ HCEC │ 0x030A │ 778 │
│ TEXTMODE │ 0x030D │ 781 │
│ TEXTMIX │ 0x030E │ 782 │
│ TEXTSUBPAGE │ 0x030F │ 783 │
│ TEXTREVEAL │ 0x0310 │ 784 │
│ FREEZE │ 0x0311 │ 785 │
│ DA │ 0x0312 │ 786 │
│ PRLIST │ 0x0313 │ 787 │
│ DIGITALSETUP │ 0x0314 │ 788 │
│ POSITION │ 0x0315 │ 789 │
│ SIZE │ 0x0316 │ 790 │
│ GUIDEPAL │ 0x0317 │ 791 │
│ TV_RADIO │ 0x0318 │ 792 │
│ PIP │ 0x031A │ 794 │
│ TIMER │ 0x031B │ 795 │
│ XD │ 0x031C │ 796 │
│ EZPIC │ 0x0320 │ 800 │
│ EZSOUND │ 0x0321 │ 801 │
│ ADJUST │ 0x0322 │ 802 │
│ DWTS │ 0x0324 │ 804 │
│ MHEG │ 0x0325 │ 805 │
│ ACAP │ 0x0326 │ 806 │
│ DATA │ 0x0327 │ 807 │
│ MHP │ 0x0328 │ 808 │
│ SCR_KEYBOARD │ 0x0329 │ 809 │
│ AUTODEMO │ 0x032A │ 810 │
│ AUTOSCAN │ 0x032B │ 811 │
│ CHADDDEL │ 0x032C │ 812 │
│ EMANUAL_PAGEPREV │ 0x032F │ 815 │
│ EMANUAL_PAGENEXT │ 0x0330 │ 816 │
│ MOUSE_MCH │ 0x0331 │ 817 │
│ PAIRING_START │ 0x0332 │ 818 │
│ PAIRING_STOP │ 0x0333 │ 819 │
│ 3D │ 0x0334 │ 820 │
│ 3D_LR │ 0x0336 │ 822 │
│ YAHOO │ 0x0337 │ 823 │
│ NETCAST │ 0x0338 │ 824 │
│ FORMAT_CHANGE │ 0x0339 │ 825 │
│ SLOW_FORWARD │ 0x033A │ 826 │
│ TIME_SHIFT │ 0x033B │ 827 │
│ GAMEMODE │ 0x033C │ 828 │
│ FAMILY │ 0x033E │ 830 │
│ CRICKET │ 0x033F │ 831 │
│ LEFT_SCROLL_1ST │ 0x0377 │ 887 │
│ LEFT_SCROLL_2ND │ 0x0378 │ 888 │
│ LEFT_SCROLL_3RD │ 0x0379 │ 889 │
│ LEFT_SCROLL_4TH │ 0x037A │ 890 │
│ LEFT_SCROLL_5TH │ 0x037B │ 891 │
│ RIGHT_SCROLL_1ST │ 0x037C │ 892 │
│ RIGHT_SCROLL_2ND │ 0x037D │ 893 │
│ RIGHT_SCROLL_3RD │ 0x037E │ 894 │
│ RIGHT_SCROLL_4TH │ 0x037F │ 895 │
│ RIGHT_SCROLL_5TH │ 0x0380 │ 896 │
│ EYE_Q │ 0x0381 │ 897 │
│ IN_STOP │ 0x0382 │ 898 │
│ IN_START │ 0x0383 │ 899 │
│ P_CHECK │ 0x0384 │ 900 │
│ HDMI_CHECK │ 0x0385 │ 901 │
│ S_CHECK │ 0x0386 │ 902 │
│ POWERONLY │ 0x0387 │ 903 │
│ ADJ │ 0x0388 │ 904 │
│ FRONT_AV │ 0x0389 │ 905 │
│ FMODE_INIT │ 0x038A │ 906 │
│ FMODE_START │ 0x038B │ 907 │
│ FMODE_F1 │ 0x038C │ 908 │
│ IN_TIME │ 0x038D │ 909 │
│ LAMP_RESET │ 0x038E │ 910 │
│ DISPMODE_READY │ 0x038F │ 911 │
│ BLUETOOTH │ 0x0390 │ 912 │
│ USB_CHECK │ 0x0391 │ 913 │
│ USB2_CHECK │ 0x0392 │ 914 │
│ TILT │ 0x0393 │ 915 │
│ POWERSAVING_TEST │ 0x0394 │ 916 │
│ FRONTKEY_INPUT_SELECT │ 0x0395 │ 917 │
│ FRONTKEY_MENU │ 0x0396 │ 918 │
│ FRONTKEY_ENTER │ 0x0397 │ 919 │
│ FRONTKEY_CH_UP │ 0x0398 │ 920 │
│ FRONTKEY_CH_DOWN │ 0x0399 │ 921 │
│ FRONTKEY_VOL_UP │ 0x039A │ 922 │
│ FRONTKEY_VOL_DOWN │ 0x039B │ 923 │
│ FRONTKEY_POWER │ 0x039C │ 924 │
│ MULTICHANNEL │ 0x039D │ 925 │
│ WIDGET │ 0x039E │ 926 │
│ SETUP │ 0x039F │ 927 │
│ MULTIMEDIA │ 0x03A0 │ 928 │
│ FLASHGAME │ 0x03A1 │ 929 │
│ PHOTOLIST │ 0x03A2 │ 930 │
│ MUSICLIST │ 0x03A3 │ 931 │
│ MOVIELIST │ 0x03A4 │ 932 │
│ DIRECTOSD │ 0x03A5 │ 933 │
│ EMANUAL │ 0x03A6 │ 934 │
│ BT_MENU │ 0x03A7 │ 935 │
│ VIR_INPUTLIST │ 0x03A8 │ 936 │
│ GAME_REAL_SWING │ 0x03A9 │ 937 │
│ GAME_SUDO_SWING │ 0x03AA │ 938 │
│ CUBEMENU │ 0x03AB │ 939 │
│ SIMPLINK │ 0x03AC │ 940 │
│ MYMEDIA │ 0x03AD │ 941 │
│ DSC_PWRON │ 0x03AE │ 942 │
│ DSC_PWROFF │ 0x03AF │ 943 │
│ DSC_ARC4X3 │ 0x03B0 │ 944 │
│ DSC_ARC16X9 │ 0x03B1 │ 945 │
│ DSC_ARCZOOM │ 0x03B2 │ 946 │
│ DSC_TV │ 0x03B3 │ 947 │
│ DSC_DTV │ 0x03B4 │ 948 │
│ DSC_CADTV │ 0x03B5 │ 949 │
│ DSC_VIDEO1 │ 0x03B6 │ 950 │
│ DSC_VIDEO2 │ 0x03B7 │ 951 │
│ DSC_VIDEO3 │ 0x03B8 │ 952 │
│ DSC_COMP1 │ 0x03B9 │ 953 │
│ DSC_COMP2 │ 0x03BA │ 954 │
│ DSC_COMP3 │ 0x03BB │ 955 │
│ DSC_RGBPC │ 0x03BC │ 956 │
│ DSC_RGBDTV │ 0x03BD │ 957 │
│ DSC_HDMI1 │ 0x03BF │ 959 │
│ DSC_HDMI2 │ 0x03C0 │ 960 │
│ DSC_HDMI3 │ 0x03C1 │ 961 │
│ DSC_HDMI4 │ 0x03C2 │ 962 │
│ DSC_VOL30 │ 0x03C3 │ 963 │
│ DSC_VOL50 │ 0x03C4 │ 964 │
│ DSC_VOL80 │ 0x03C5 │ 965 │
│ DSC_VOL100 │ 0x03C6 │ 966 │
│ DSC_SUBSTRATE │ 0x03C7 │ 967 │
│ DSC_MULTI_PIP │ 0x03C8 │ 968 │
│ DSC_WB_MODE │ 0x03C9 │ 969 │
│ DSC_POWERONLY_OFF │ 0x03CA │ 970 │
│ DSC_SELF_DIAG_00 │ 0x03CB │ 971 │
│ DSC_SELF_DIAG_10 │ 0x03CC │ 972 │
│ DSC_SELF_DIAG_20 │ 0x03CD │ 973 │
│ DSC_SELF_DIAG_30 │ 0x03CE │ 974 │
│ DSC_SELF_DIAG_11 │ 0x03CF │ 975 │
│ DSC_SELF_DIAG_12 │ 0x03D0 │ 976 │
│ DSC_SELF_DIAG_13 │ 0x03D1 │ 977 │
│ DSC_SELF_DIAG_21 │ 0x03D2 │ 978 │
│ DSC_SELF_DIAG_22 │ 0x03D3 │ 979 │
│ DSC_SELF_DIAG_23 │ 0x03D4 │ 980 │
│ DSC_SELF_DIAG_24 │ 0x03D5 │ 981 │
│ DSC_SELF_DIAG_25 │ 0x03D6 │ 982 │
│ DSC_SELF_DIAG_31 │ 0x03D7 │ 983 │
│ AUTOCONFIGURE │ 0x03D8 │ 984 │
│ HOTELMODE │ 0x03D9 │ 985 │
│ HOTELMODE_READY │ 0x03DA │ 986 │
│ SETCHANNEL │ 0x03DF │ 991 │
│ PAIRING_M4 │ 0x03E0 │ 992 │
│ PAIRING_IRBLASTER │ 0x03E1 │ 993 │
│ SCREEN_REMOTE │ 0x03E2 │ 994 │
│ 3DPATTERN │ 0x03E3 │ 995 │
│ SMART_TAB │ 0x03E4 │ 996 │
│ SMART_LONGTAB │ 0x03E5 │ 997 │
│ SMART_LEFT │ 0x03E6 │ 998 │
│ SMART_RIGHT │ 0x03E7 │ 999 │
│ FRONTKEY_PRESS │ 0x03E8 │ 1000 │
│ FRONTKEY_LONG_PRESS │ 0x03E9 │ 1001 │
│ TVLINK │ 0x03EA │ 1002 │
│ PORTAL │ 0x03EB │ 1003 │
│ ALARM │ 0x03EC │ 1004 │
│ CLEAR │ 0x03ED │ 1005 │
│ S_MENU │ 0x03EE │ 1006 │
│ TILE │ 0x03EF │ 1007 │
│ SOCCER │ 0x03F1 │ 1009 │
│ COMMERGUIDE │ 0x03F2 │ 1010 │
│ COMMERINFO │ 0x03F3 │ 1011 │
│ FUNCTIONMENU │ 0x03F4 │ 1012 │
│ HELP │ 0x03F5 │ 1013 │
│ ORDER │ 0x03F6 │ 1014 │
│ COMMERRED │ 0x03F7 │ 1015 │
│ COMMERYELLOW │ 0x03F8 │ 1016 │
│ COMMERBLUE │ 0x03F9 │ 1017 │
│ COMMERGREEN │ 0x03FA │ 1018 │
│ INTUITIVEMENU │ 0x03FB │ 1019 │
│ E_GALLERY │ 0x03FC │ 1020 │
│ SETTOP_POWER │ 0x03FD │ 1021 │
│ ADVANCE_SETTING │ 0x03FE │ 1022 │
│ INPUT_HUB │ 0x03FF │ 1023 │
│ FLEX_MODE │ 0x0400 │ 1024 │
│ TWIN │ 0x0401 │ 1025 │
│ STB_MENU │ 0x0404 │ 1028 │
│ PAIRING_SP │ 0x0405 │ 1029 │
│ PATTERN_CHECK │ 0x0406 │ 1030 │
│ QR_CHECK │ 0x0407 │ 1031 │
│ STB_POWER │ 0x0408 │ 1032 │
│ TIMER_POWER_ON │ 0x0409 │ 1033 │
│ FRONTKEY_CH_UP_LONG │ 0x0418 │ 1048 │
│ FRONTKEY_MENU_LONG │ 0x0419 │ 1049 │
│ FRONTKEY_CH_DOWN_LONG │ 0x041A │ 1050 │
│ FRONTKEY_ENTER_LONG │ 0x041B │ 1051 │
│ MIRROR │ 0x041C │ 1052 │
│ SWAP_BOTH_SIDE │ 0x041D │ 1053 │
│ FRONT_ONEKEY_SHORT │ 0x040A │ 1034 │
│ FRONT_ONEKEY_LONG │ 0x040B │ 1035 │
│ FRONT_MUSIC_PLAYER │ 0x040C │ 1036 │
│ NETFLIX │ 0x040D │ 1037 │
│ AMAZON │ 0x040E │ 1038 │
│ IVI │ 0x040F │ 1039 │
│ MAGIC_LINK │ 0x0410 │ 1040 │
│ TV │ 0x0179 │ 377 │
│ TV_VIDEO │ 0x00F1 │ 241 │
│ SEARCH │ 0x00D9 │ 217 │
│ BRIGHTNESS_UP │ 0x00E1 │ 225 │
│ BRIGHTNESS_DOWN │ 0x00E0 │ 224 │
│ PIP_CH_UP │ 0x018F │ 399 │
│ PIP_CH_DOWN │ 0x018E │ 398 │
│ PIP_INPUT │ 0x0191 │ 401 │
│ SWAP │ 0x0190 │ 400 │
│ CHEDIT_AUTO_SORT │ 0x018F │ 399 │
│ CHEDIT_MOVE │ 0x0190 │ 400 │
│ CHEDIT_SKIP │ 0x0191 │ 401 │
│ LOCK_DEL │ 0x018E │ 398 │
│ MODE │ 0x018E │ 398 │
│ TIMER_LIST │ 0x0191 │ 401 │
│ MANUAL_TIMER │ 0x0190 │ 400 │
│ DATE │ 0x018F │ 399 │
│ PAGE_UP │ 0x0192 │ 402 │
│ PAGE_DOWN │ 0x0193 │ 403 │
│ PAGE_RIGHT │ 0x032E │ 814 │
│ PAGE_LEFT │ 0x032D │ 813 │
│ GUIDE │ 0x016A │ 362 │
│ MV2START │ 0x032D │ 813 │
│ SYNC │ 0x032E │ 814 │
│ RESUME │ 0x00CF │ 207 │
│ PAUSE_SLOWFWD │ 0x0077 │ 119 │
│ IREPLAY │ 0x032D │ 813 │
│ SKIPFWD │ 0x032E │ 814 │
│ RECLIST │ 0x0090 │ 144 │
│ REPEAT │ 0x0191 │ 401 │
│ EDIT │ 0x0190 │ 400 │
│ EZ_ADJUST │ 0x0388 │ 904 │
│ DISPMODE │ 0x032A │ 810 │
│ FRONTKEY_TVGUIDE │ 0x0395 │ 917 │
│ CONTENTSLINK │ 0x03A1 │ 929 │
│ DSC_SELF_DIAG_32 │ 0x0329 │ 809 │
│ RF_LAUNCHER │ 0x03DB │ 987 │
│ RF_3D_MODE │ 0x0335 │ 821 │
│ RF_HOME │ 0x0305 │ 773 │
│ RF_EMANUAL │ 0x03A6 │ 934 │
│ RF_VOICE │ 0x01AC │ 428 │
│ RF_SCREEN_REMOTE │ 0x03E2 │ 994 │
│ RF_E_GALLERY │ 0x03FC │ 1020 │
│ LGE_DEBUG_CURSOR │ 0x04A0 │ 1184 │
│ LGE_MRCU_VOICE_RECOGSTART │ 0x04A1 │ 1185 │
│ LGE_MRCU_VOICE_RECOGSUCCESS │ 0x04A2 │ 1186 │
│ LGE_MRCU_VOICE_RECOGING │ 0x04A3 │ 1187 │
│ LGE_MRCU_VOICE_RECOGFAIL │ 0x04A4 │ 1188 │
│ LGE_MRCU_VOICE_EXIT │ 0x04A5 │ 1189 │
│ LGE_MRCU_VOICE_NOINPUTERROR │ 0x04A6 │ 1190 │
│ LGE_MRCU_VOICE_NETWORKERROR │ 0x04A7 │ 1191 │
│ LGE_MRCU_VOICE_SERVERERRROR │ 0x04A8 │ 1192 │
│ LGE_MRCU_VOICE_MULTIRECOGSTART │ 0x04A9 │ 1193 │
│ LGE_MRCU_PAIR_START │ 0x04AA │ 1194 │
│ LGE_MRCU_PAIR_STOP │ 0x04AB │ 1195 │
│ LGE_MRCU_PAIR_OK │ 0x04AC │ 1196 │
│ LGE_MRCU_PAIR_NG │ 0x04AD │ 1197 │
│ LGE_CURSOR_SHOW │ 0x04AE │ 1198 │
│ LGE_CURSOR_HIDE │ 0x04AF │ 1199 │
│ LGE_MRCU_GESTURE_IDLE_START │ 0x04B0 │ 1200 │
│ LGE_MRCU_GESTURE_WEB_START │ 0x04B1 │ 1201 │
│ LGE_MRCU_GESTURE_CHECK │ 0x04B2 │ 1202 │
│ LGE_MRCU_GESTURE_RIGHT │ 0x04B3 │ 1203 │
│ LGE_MRCU_GESTURE_CIRCLE │ 0x04B4 │ 1204 │
│ LGE_MRCU_GESTURE_CIRCLE_INVERSE │ 0x04B5 │ 1205 │
│ LGE_MRCU_GESTURE_1 │ 0x04B6 │ 1206 │
│ LGE_MRCU_GESTURE_2 │ 0x04B7 │ 1207 │
│ LGE_MRCU_GESTURE_3 │ 0x04B8 │ 1208 │
│ LGE_MRCU_GESTURE_4 │ 0x04B9 │ 1209 │
│ LGE_MRCU_GESTURE_5 │ 0x04BA │ 1210 │
│ LGE_MRCU_GESTURE_6 │ 0x04BB │ 1211 │
│ LGE_MRCU_GESTURE_7 │ 0x04BC │ 1212 │
│ LGE_MRCU_GESTURE_8 │ 0x04BD │ 1213 │
│ LGE_MRCU_GESTURE_9 │ 0x04BE │ 1214 │
│ LGE_MRCU_GESTURE_0 │ 0x04BF │ 1215 │
│ LGE_MRCU_GESTURE_INVALID │ 0x04C1 │ 1217 │
│ LGE_MRCU_GESTURE_FAIL │ 0x04C2 │ 1218 │
│ LGE_MRCU_GESTURE_END │ 0x04C3 │ 1219 │
│ LGE_MRCU_DISCONNECTED │ 0x04C4 │ 1220 │
│ LGE_WIFI_DISCONNECTED │ 0x04C5 │ 1221 │
│ LGE_MRCU_LOW_BATTERY │ 0x04C6 │ 1222 │
│ LGE_WIFI_SMARTTEXTEND │ 0x04C7 │ 1223 │
│ LGE_MRCU_LOW_SIGNAL_STRENGTH │ 0x04C8 │ 1224 │
│ LGE_MRCU_GESTURE_SHAKE │ 0x04C9 │ 1225 │
│ LGE_MRCU_VOICE_BUTTONENABLE │ 0x04CA │ 1226 │
│ LGE_MRCU_VOICE_BUTTONDISABLE │ 0x04CB │ 1227 │
│ LGE_IRBLASTER_PAIR_OK │ 0x04D0 │ 1232 │
│ LGE_IRBLASTER_PAIR_NG │ 0x04D1 │ 1233 │
│ LGE_IRBLASTER_LOW_BATTERY │ 0x04D2 │ 1234 │
│ LGE_IRBLASTER_LOW_SIGNAL_STRENGTH│ 0x04D3 │ 1235 │
│ LGE_MRCU_UPDATE_START │ 0x04D4 │ 1236 │
│ LGE_MRCU_UPDATE_SUCCESS │ 0x04D5 │ 1237 │
│ LGE_MRCU_UPDATE_FAIL │ 0x04D6 │ 1238 │
│ LGE_INPUT_FIRST │ 0x04F0 │ 1264 │
│ LGE_INPUT_PRINT │ 0x04F0 │ 1264 │
│ LGE_INPUT_CHECK │ 0x04F0 │ 1264 │
│ LGE_INPUT_LAST │ 0x04F0 │ 1264 │
│ ABS_LGE_GYRO_X │ 0x0021 │ 33 │
│ ABS_LGE_GYRO_Y │ 0x0022 │ 34 │
│ ABS_LGE_GYRO_Z │ 0x0023 │ 35 │
│ ABS_LGE_ACCEL_X │ 0x0024 │ 36 │
│ ABS_LGE_ACCEL_Y │ 0x0025 │ 37 │
│ ABS_LGE_ACCEL_Z │ 0x0026 │ 38 │
│ ABS_LGE_QUATERNION_X │ 0x0027 │ 39 │
│ ABS_LGE_QUATERNION_Y │ 0x0029 │ 41 │
│ ABS_LGE_QUATERNION_Z │ 0x003A │ 58 │
│ ABS_LGE_QUATERNION_W │ 0x003B │ 59 │
└──────────────────────────────────┴──────────────┴──────────────────┘
@Divalz

Divalz commented Aug 18, 2024

Copy link
Copy Markdown

Hello, I'm trying to control the brightness on my rooted LG screen, but I'm having an issue—the IDs 225 and 224 aren't working to increase or decrease the brightness. Did I misunderstand the function? (I should mention that remapping works for other keys.) Thanks
354 │ BRIGHTNESS_UP │ 0x00E1 │ 225 │
355│ BRIGHTNESS_DOWN │ 0x00E0 │ 224 │

@Valnjes

Valnjes commented Aug 5, 2025 •

Copy link
Copy Markdown

On the LG MR21, extra buttons will not be recognized on older TVs, like the 2019 SM8600.
Buttons in question are:
Disney+
Rakuten TV
Google Assistant
Amazon Alexa

@misterright1

misterright1 commented Jan 24, 2026 •

Copy link
Copy Markdown

Disney+ is 1042, RakutenTV is 1044 and LG channels are 1043.

@MrNRod

MrNRod commented Aug 7, 2026

Copy link
Copy Markdown

Sling TV is 1107

@Valnjes

Valnjes commented Aug 25, 2026 •

Copy link
Copy Markdown

Disney+ is 1042, RakutenTV is 1044 and LG channels are 1043.

Is there a code for YouTube? Thanks!

@misterright1

Copy link
Copy Markdown

Disney+ is 1042, RakutenTV is 1044 and LG channels are 1043.

Is there a code for YouTube? Thanks!

I only listed the codes for buttons that are on my remote but not on the list, sadly I don't have a YouTube button.

@Nick-Z0

Nick-Z0 commented Sep 10, 2026

Copy link
Copy Markdown

LG WebOS: Picture Settings Hotkeys via LG Input Hook

If you have a rooted LG webOS TV, you can use the LG Input Hook app to map unused remote buttons (like the colored keys or the stupid app keys) directly to picture settings.

Instead of creating external scripts, you can paste these self-contained luna-send one-liners directly into the "Execute command" text boxes in the LG Input Hook UI. They will automatically read the current value, increment/decrement it by a set step (I have set it to 5, but 10 is also good), or toggle ON/OFF states, and apply the new value instantly.

It works surprisingly well. I have also mapped the "picture mode" modes to some other buttons. I have not added that below but some AI can help you make it if you want it.

Backlight Control (5% steps)

Note: If you have an OLED TV, replace backlight with oledBacklight in the commands below.

Backlight UP:

sh -c 'b=$(luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings "{\"category\":\"picture\",\"keys\":[\"backlight\"]}" | grep -o "\"backlight\":\"[0-9]*\"" | cut -d "\"" -f 4); n=$((b+5)); [ $n -gt 100 ] && n=100; luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings "{\"category\":\"picture\",\"settings\":{\"backlight\":\"$n\"}}"'

Backlight DOWN:

sh -c 'b=$(luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings "{\"category\":\"picture\",\"keys\":[\"backlight\"]}" | grep -o "\"backlight\":\"[0-9]*\"" | cut -d "\"" -f 4); n=$((b-5)); [ $n -lt 0 ] && n=0; luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings "{\"category\":\"picture\",\"settings\":{\"backlight\":\"$n\"}}"'

Contrast Control (5% steps)

Contrast UP:

sh -c 'b=$(luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings "{\"category\":\"picture\",\"keys\":[\"contrast\"]}" | grep -o "\"contrast\":\"[0-9]*\"" | cut -d "\"" -f 4); n=$((b+5)); [ $n -gt 100 ] && n=100; luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings "{\"category\":\"picture\",\"settings\":{\"contrast\":\"$n\"}}"'

Contrast DOWN:

sh -c 'b=$(luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings "{\"category\":\"picture\",\"keys\":[\"contrast\"]}" | grep -o "\"contrast\":\"[0-9]*\"" | cut -d "\"" -f 4); n=$((b-5)); [ $n -lt 0 ] && n=0; luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings "{\"category\":\"picture\",\"settings\":{\"contrast\":\"$n\"}}"'

Blue Light Filter (Eye Comfort Mode)

Option A: Single Button Toggle (ON/OFF)
Use this if you want to map the filter to a single button that flips the current state. I have mapped it to the microphone button

sh -c 'm=$(luna-send -n 1 luna://com.webos.settingsservice/getSystemSettings "{\"category\":\"picture\",\"keys\":[\"eyeComfortMode\"]}" | grep -o "\"eyeComfortMode\":\"[^\"]*\"" | cut -d "\"" -f 4); [ "$m" = "on" ] && n="off" || n="on"; luna-send -n 1 luna://com.webos.settingsservice/setSystemSettings "{\"category\":\"picture\",\"settings\":{\"eyeComfortMode\":\"$n\"}}"'

@Nick-Z0

Nick-Z0 commented Sep 10, 2026

Copy link
Copy Markdown

Disney+ is 1042, RakutenTV is 1044 and LG channels are 1043.

Is there a code for YouTube? Thanks!

How to Find the Keycode for ANY Button

To map a command, you first need to know the internal ID (keycode) of the button you want to remap. LG Input Hook has a built-in web interface that makes finding these codes easy by reading the live logs directly from the TV.

  1. Open the web interface on your PC: Make sure the LG Input Hook app is running in the background on your TV. Then, open a web browser on your computer and navigate to the web interface address provided by the app (usually http://<YOUR_TV_IP>:1842).
  2. Select your webOS version: In the web interface, look for the log viewing section. Use the dropdown menu to select the log file that matches your specific webOS version and remote type.
  3. Watch the live logs: Once the correct log is selected, the page will start displaying live input data from the TV.
  4. Press the button: Press the button you want to map (for example, the "Movies", "Netflix", or colored buttons).
  5. Find the ID: Look at the log output in your browser. A new line will appear showing the captured event, which includes something like 412 => 0 (or similar depending on your webOS version). That number is the unique keycode for that specific button.
  6. Map it: Go into the LG Input Hook app on the TV, select "Add keybind", input that exact ID number, select "Execute" from the dropdown and paste your execution command. Save and test it. In the logs you should see the number again but also the command you pasted next to it.

@rafelis1997

Copy link
Copy Markdown

logs are not working

[/mnt/ExtData/ezpatch/clean/ezinject.c:884] [INFO] Attaching to 2357
[/mnt/ExtData/ezpatch/clean/ezinject.c:891] [INFO] waiting for target to stop...
[/mnt/ExtData/ezpatch/clean/os/posix/remote.c:41] [DEBG] got signal: 19 (Stopped (signal))
[/mnt/ExtData/ezpatch/clean/ezinject.c:374] [INFO] Looking up libc.so.6
[/mnt/ExtData/ezpatch/clean/ezinject.c:380] [DEBG] libc.remote=0xf70d0000
[/mnt/ExtData/ezpatch/clean/ezinject.c:381] [DEBG] libc.local=0xf7c50000
[/mnt/ExtData/ezpatch/clean/ezinject.c:408] [DEBG] libdl.local=0xf7d80000
[/mnt/ExtData/ezpatch/clean/ezinject.c:409] [DEBG] libdl.remote=(nil)
[/mnt/ExtData/ezpatch/clean/ezinject.c:413] [DEBG] dlopen offset: 0xfff2a469
[/mnt/ExtData/ezpatch/clean/ezinject.c:418] [DEBG] dlclose offset: 0xfff29f05
[/mnt/ExtData/ezpatch/clean/ezinject.c:423] [DEBG] dlsym offset: 0xfff2a4cd
[/mnt/ExtData/ezpatch/clean/os/linux/libc_glibc.c:29] [ERR ] failed to resolve glibc internal dlopen

this is happening for magic remote

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment