Please follow below steps to add support for a new IR
###Steps
###1. Add the debug informations
Modify the file ‘PROJECT/common/drivers/amlogic/input/remote/remote_meson.c’
@@ -147,6 +147,7 @@ static u32 getkeycode(struct remote_dev *dev, u32 scancode)
pr_err("cur_custom is nulll\n");
return KEY_RESERVED;
}
+ printk("%s,scancode=0x%04x\n",__func__, scancode);
index = ir_lookup_by_scancode(&ct->tab, scancode);
if (index < 0) {
remote_printk(2, "scancode %d undefined\n", scancode);
@@ -163,6 +164,7 @@ static bool is_valid_custom(struct remote_dev *dev)
return true;
custom_code = chip->ir_contr[chip->ir_work].get_custom_code(chip);
chip->cur_tab = seek_map_tab(chip, custom_code);
+ printk("%s,custom_code=0x%04x\n",__func__, custom_code);
if (chip->cur_tab) {
dev->keyup_delay = chip->cur_tab->tab.release_delay;
return true;
after do that, you need to rebuild the kernel and reflash the image
###2. Get the custom code from printing log
The list of custom code in system:
<1> 0xfb04
<2> 0xfe01
<3> 0xbd02
<4> 0xff00
- If your custom code isn’t included , the printing log only one line when you click your IR
eg:
is_valid_custom,custom_code=0xfc02
You need to add the custom code to the file ‘PROJECT/common/arch/arm64/boot/dts/amlogic/mesongxl.dtsi’
custom_maps:custom_maps {
- mapnum = <4>;
+ mapnum = <5>;
map0 = <&map_0>;
map1 = <&map_1>;
map2 = <&map_2>;
map3 = <&map_3>;
+ map4 = <&map_4>;
map_0: map_0{
mapname = "amlogic-remote-1";
customcode = <0xfb04>;
@@ -852,6 +853,13 @@
REMOTE_KEY(0x01,158)
REMOTE_KEY(0x48,102)>;
};
+ map_4: map_4{
+ mapname = "amlogic-remote-5";
+ customcode = <0xfc02>;
+ release_delay = <80>;
+ size = <0>;
+ keymap = <>;
+ }
};
After do that, you need to rebuild the kernel and reflash the image
Now the printing log has two lines when you click your IR
eg:
is_valid_custom,custom_code=0xfc02
getkeycode,scancode=0x0009
Record the scancode of each key when you click your IR.
-
If your custom code is included , the printing log has two lines when you click your IR
eg:
is_valid_custom,custom_code=0xff00
getkeycode,scancode=0x0009
Record the scancode of each key when you click your IR.
###3. The list of Android Map Key
key 399 GRAVE
key 1 BACK
key 2 1
key 3 2
key 4 3
key 5 4
key 6 5
key 7 6
key 8 7
key 9 8
key 10 9
key 11 0
key 15 BACK
key 158 BACK
key 58 SOFT_RIGHT
key 107 ENDCALL
key 62 ENDCALL
key 139 MENU
key 125 MENU
key 60 NOTIFICATION
key 127 SEARCH
key 217 SEARCH
key 228 POUND
key 227 STAR
key 231 CALL
key 61 CALL
key 97 DPAD_CENTER
key 232 DPAD_CENTER
key 108 DPAD_DOWN
key 103 DPAD_UP
key 102 HOME
key 105 DPAD_LEFT
key 106 DPAD_RIGHT
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 104 VOLUME_UP
key 109 VOLUME_DOWN
key 212 CAMERA
key 16 Q
key 17 W
key 18 E
key 19 R
key 20 T
key 21 Y
key 22 U
key 23 I
key 24 O
key 25 P
key 26 LEFT_BRACKET
key 27 RIGHT_BRACKET
key 43 BACKSLASH
key 30 A
key 31 S
key 32 D
key 33 F
key 34 G
key 35 H
key 36 J
key 37 K
key 38 L
key 39 SEMICOLON
key 40 APOSTROPHE
key 14 DEL
key 44 Z
key 45 X
key 46 C
key 47 V
key 48 B
key 49 N
key 50 M
key 51 COMMA
key 52 PERIOD
key 53 SLASH
key 28 ENTER
key 75 F3
key 76 F4
key 77 F5
key 64 F6
key 65 F7
key 66 F8
key 67 F9
key 68 F10
key 69 F11
key 56 ALT_LEFT
key 100 ALT_RIGHT
key 42 SHIFT_LEFT
key 54 SHIFT_RIGHT
#key 15 TAB
key 57 SPACE
key 70 EXPLORER
key 155 ENVELOPE
key 12 MINUS
key 13 EQUALS
key 215 AT
key 119 MEDIA_PLAY_PAUSE
key 122 MEDIA_PREVIOUS
key 123 MEDIA_NEXT
key 120 MEDIA_FAST_FORWARD
key 121 MEDIA_REWIND
key 116 POWER
#key 116 POWER WAKE
key 113 VOLUME_MUTE
key 128 MEDIA_STOP
key 130 ZOOM_IN
key 131 ZOOM_OUT
#key 133 NETFLIX
key 140 F10
#key 132 TV_REPEAT
#key 134 TV_SHORTCUTKEY_DISPAYMODE
#key 135 TV_SUBTITLE
#key 136 TV_SHORTCUTKEY_VOICEMODE
#key 137 TV_SWITCH
###4. Map the IR key of your
If you need to map one key of your IR as VOLUME_UP(the Map Key is 115, you can verify the list of Android Map Key)
Modify the file ‘PROJECT/common/arch/arm64/boot/dts/amlogic/mesongxl.dtsi’
@@ -857,8 +857,8 @@
mapname = "amlogic-remote-5";
customcode = <0xfc02>;
release_delay = <80>;
- size = <0>;
- keymap = <>;
+ size = <1>;
+ keymap = <REMOTE_KEY(0x09,115)>;
}
};
About REMOTE_KEY(0x09,115):
The 0x09 is the scancode of key
The 115 is the map key of Android
####Notice:
- It is only for Nougat.
- The PROJECT is the path of your project.
- I’m very sorry for my bad english