【IR】按键

一、修改按键快速检查
1、修改ir.c已有按键功能快速验证:

如:
在这里插入图片描述
2、make customers

3、在根目录 cvte_build/resource/irkeycode下(这个是NEC协议的,其他协议也是一个道理,替换对应的tab就行了)
在这里插入图片描述

remote_nec_irfac.tab是CVTE工厂遥控

remote_nec_ircus1.tab是客户遥控

将remote_nec_ircus1.tab替换板卡/vendor/etc/mr/nec/remote_nec_ircus1.tab

重启后生效

二、IR和hotkey编译检查拦截

拦截一

1、一键启动apk或者打开页面的快捷键,IR.c和hotkey.xml按键必须要匹配

背景:有些时候配置粗心,或者不清楚这个快捷键还需要hotkey.xml配合,容易留到生产测试才发现问题,这里是为了更早的拦截问题
在这里插入图片描述
此时按照提示,检查 IR.c和hotkey.xml即可,如上IR.c 配置了 IRKEY_USER_DEF_FUNCTION1,但是hotkey.xml并没有用到,这个时候就会报错拦截

拦截二

2、目前没有实现功能但是以后可能使用的按键,在customer阶段编译可以拦截报错

背景:有些按键目前是没有功能的,但是后面二期或者后续项目可能会用到的,这里添加了一个黑名单,记录没有目前没有功能的按键,如果配置了就报错,也是为了更早的拦截问题

在这里插入图片描述
如果后续按键功能已实现,只需要修改配置文件即可

customers/common/ir/cvte_ir_no_function.txt

颜色备注
功能正常,部分需要配合hotkey.xml(会有编译检查拦截)
没有功能,或者不支持

三、IR按键配置
颜色 备注

功能正常,部分需要配合hotkey.xml(会有编译检查拦截)

没有功能,或者不支持

1、Android 原生部分

IRKEY 功能 scancode keycode keycode 备注
IRKEY_0

数字键0

11	KEYCODE_0	7	

IRKEY_1 数字键1 2 KEYCODE_1 8

IRKEY_2 数字键2 3 KEYCODE_2 9

IRKEY_3 数字键3 4 KEYCODE_3 10

IRKEY_4 数字键4 5 KEYCODE_4 11

IRKEY_5 数字键5 6 KEYCODE_5 12

IRKEY_6 数字键6 7 KEYCODE_6 13

IRKEY_7 数字键7 8 KEYCODE_7 14

IRKEY_8 数字键8 9 KEYCODE_8 15

IRKEY_9 数字键9 10 KEYCODE_9 16

IRKEY_10 -/-- 12 KEYCODE_MINUS 69

IRKEY_POWER POWER键 116 KEYCODE_POWER 26

IRKEY_INFO INFO、Display 358 KEYCODE_INFO 165

IRKEY_INPUT_SOURCE SOURCE键 79 KEYCODE_TV_INPUT 178

IRKEY_UP 上 103 KEYCODE_DPAD_UP 19

IRKEY_DOWN 下 108 KEYCODE_DPAD_DOWN 20

IRKEY_LEFT 左 105 KEYCODE_DPAD_LEFT 21

IRKEY_RIGHT 右 106 KEYCODE_DPAD_RIGHT 22

IRKEY_VOLUME_PLUS 音量+ 115 KEYCODE_VOLUME_UP 24

IRKEY_VOLUME_MINUS 音量- 114 KEYCODE_VOLUME_DOWN 25

IRKEY_CHANNEL_PLUS 频道+ 402 KEYCODE_CHANNEL_UP 166

IRKEY_CHANNEL_MINUS 频道- 403 KEYCODE_CHANNEL_DOWN 167

IRKEY_MENU MENU键 139 KEYCODE_MENU 82

IRKEY_HOME HOME键 102 KEYCODE_HOME 3

IRKEY_SELECT OK键、确认键 28 KEYCODE_DPAD_CENTER 23

IRKEY_MUTE 静音键 113 KEYCODE_VOLUME_MUTE 164

IRKEY_DOT

52	KEYCODE_PERIOD	56	

IRKEY_RED

398	KEYCODE_PROG_RED	183	

IRKEY_GREEN

399	KEYCODE_PROG_GREEN	184	

IRKEY_YELLOW

400	KEYCODE_PROG_YELLOW	185	

IRKEY_BLUE

401	KEYCODE_PROG_BLUE	186	

IRKEY_SCREEN_SHOT 截图键 99 KEYCODE_SYSRQ 120

只支持OSD,不支持VIDEO

调用原厂接口,实现在tvapi apk里面processScreenCapture

ATM30 Android 9.0内存优化已经裁剪了System UI

Class clz = Class.forName(“android.view.SurfaceControl”);
Method screenshot = clz.getMethod(“screenshot”, Rect.class, int.class, int.class, int.class);
mScreenBitmap = (Bitmap)screenshot.invoke(null, new Rect(0, 0, screenWidth, screenHeigth), screenWidth, screenHeigth, 0);

IRKEY_DEL

delete键

(按下遥控器Delete快捷键等同于操作虚拟键盘的Delete)

648	KEYCODE_DEL	67	

IRKEY_EXIT 返回键 158 KEYCODE_BACK 4

IRKEY_PLAY_PAUSE 播放/暂停 637

KEYCODE_MEDIA_PLAY_PAUSE

85

IRKEY_PLAY

IRKEY_PAUSE

IRKEY_STOP 停止 638 KEYCODE_MEDIA_STOP 86

IRKEY_SUBTITLE SUBTITLE键 213 KEYCODE_CAPTIONS 175

IRKEY_BACKWARD 快退 639 KEYCODE_MEDIA_REWIND 89

IRKEY_FORWARD 快进 640 KEYCODE_MEDIA_FAST_FORWARD 90

IRKEY_PREVIOUS 前一首 641 KEYCODE_MEDIA_PREVIOUS 88

IRKEY_NEXT 下一首 642 KEYCODE_MEDIA_NEXT 87

IRKEY_ZOOM_IN zoom in 688 KEYCODE_ZOOM_IN 168

IRKEY_ZOOM_OUT zoom out 689 KEYCODE_ZOOM_OUT 169

IRKEY_CAPSLOCK

AOSP输入法,一键切换大小写	1129	

KEYCODE_CAPS_LOCK

115	实现:https://tvgit.gz.cvte.cn/c/AML920L_Pie/source/base/android/+/646227

IRKEY_NICAM_MTS

通道 - 丽音 (目前不支持丽音)

多媒体 - 音轨

214	KEYCODE_MEDIA_AUDIO_TRACK	222	

一期功能不带丽音

音轨功能正常

IRKEY_MEDIA_EJECT 进出仓 659 KEYCODE_MEDIA_EJECT 129 没功能
IRKEY_EPG EPG 365 KEYCODE_GUIDE 172 没功能(不带DTV)

2、CVTE 新增部分

IRKEY 功能 scancode keycode keycode 备注
IRKEY_NULL

IRKEY_IR_MOUSE 遥控鼠标键 1093 KEYCODE_IR_MOUSE 1072

实现在/android/frameworks/native/services/inputflinger/InputReader.cpp

相关问题:

IRKEY_ASPECT 比例模式 627 KEYCODE_ASPECT_RATIO 1040 相关配置宏:CVT_DEF_API_CONFIG_XML_TYPE
IRKEY_FAV 喜爱列表 630 KEYCODE_FAV_LIST 1041 功能实现在 智研apk LiveTVGlobal

IRKEY_FAV_UP 喜爱频道+ 631 KEYCODE_FAV_UP 1042
IRKEY_FAV_DOWN 喜爱频道- 632 KEYCODE_FAV_DOWN 1043
IRKEY_USB 多媒体快捷键 644 KEYCODE_TV_INPUT_MEDIA 1052

公版默认支持

功能实现:

KEYCODE_TV_INPUT_MEDIA

IRKEY_SMODE sound mode快捷键 636 KEYCODE_SOUND_MODE 1030 UI实现在 智研apk GlobalUI;功能在tvapi
IRKEY_PMODE picture mode快捷键 635 KEYCODE_PICTURE_MODE 1029 UI实现在 智研apk GlobalUI;功能在tvapi
IRKEY_NO_SUPPORT

按键无功能,只有一个提示

677	KEYCODE_NO_SUPPORT	1137	

公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

nonsupport
KEYCODE_NO_SUPPORT

IRKEY_SOUND_SURROUND

一键打开SOUND设置(只在通道里)

678	KEYCODE_SOUND_SURROUND	1131	

公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

GridSound
false
KEYCODE_SOUND_SURROUND

IRKEY_SETTINGS_WIFI

一键打开网络设置

679	KEYCODE_SETTINGS_WIFI	1134	

公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

KEYCODE_SETTINGS_WIFI

IRKEY_USER_DEF_FUNCTION1 预置按键,可用于一键启动apk(需要配合hotkey.xml) 649 KEYCODE_USER_DEF_FUNCTION1 1110

系统预置好的按键,名称同Android 5.1

IRKEY_USER_DEF_FUNCTION2 预置按键,可用于一键启动apk(需要配合hotkey.xml) 650 KEYCODE_USER_DEF_FUNCTION2 1111
IRKEY_USER_DEF_FUNCTION3 预置按键,可用于一键启动apk(需要配合hotkey.xml) 651 KEYCODE_USER_DEF_FUNCTION3 1112
IRKEY_USER_DEF_FUNCTION4 预置按键,可用于一键启动apk(需要配合hotkey.xml) 652 KEYCODE_USER_DEF_FUNCTION4 1113
IRKEY_USER_DEF_FUNCTION5 预置按键,可用于一键启动apk(需要配合hotkey.xml) 653 KEYCODE_USER_DEF_FUNCTION5 1114
IRKEY_USER_DEF_FUNCTION6 预置按键,可用于一键启动apk(需要配合hotkey.xml) 672 KEYCODE_USER_DEF_FUNCTION6 1115
IRKEY_USER_DEF_FUNCTION7 预置按键,可用于一键启动apk(需要配合hotkey.xml) 673 KEYCODE_USER_DEF_FUNCTION7 1116
IRKEY_USER_DEF_FUNCTION8 预置按键,可用于一键启动apk(需要配合hotkey.xml) 674 KEYCODE_USER_DEF_FUNCTION8 1117
IRKEY_USER_DEF_FUNCTION9 预置按键,可用于一键启动apk(需要配合hotkey.xml) 675 KEYCODE_USER_DEF_FUNCTION9 1118
IRKEY_USER_DEF_FUNCTION10 预置按键,可用于一键启动apk(需要配合hotkey.xml) 676 KEYCODE_USER_DEF_FUNCTION10 1119
IRKEY_YOUTUBE 一键启动YouTube 662 KEYCODE_CVT_YOUTUBE 1093
公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

KEYCODE_CVT_YOUTUBE

IRKEY_NETFLIX 一键启动Netflix 663 KEYCODE_CVT_NETFLIX 1094
公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

KEYCODE_CVT_NETFLIX

IRKEY_FILE_BROWER 一键启动文件浏览器(hotkey没有配置) 660 KEYCODE_CVT_FILE_BROWER 1091

功能类似于
KEYCODE_USER_DEF_FUNCTION1~10

这个背景是之前为了做统一,在972上加了一波这样的app key

但是从实际的配置来看,这个做法并没有推广开来

IRKEY_APP_LIST 一键启动app list(hotkey没有配置) 661 KEYCODE_CVT_APP_LIST 1092
IRKEY_SKYPE 一键启动SKYPE(hotkey没有配置) 664 KEYCODE_CVT_SKYPE 1095
IRKEY_GOOGLE_PLAY_STORE 一键启动GOOGLE_PLAY_STORE(hotkey没有配置) 665 KEYCODE_CVT_GOOGLE_PLAY_STORE 1096
IRKEY_FACEBOOK 一键启动FACEBOOK(hotkey没有配置) 666 KEYCODE_CVT_FACEBOOK 1097
IRKEY_AMAZON_PRIME_VIDEO 一键启动AMAZON_PRIME_VIDEO(hotkey没有配置) 667 KEYCODE_CVT_AMAZON_PRIME_VIDEO 1098
IRKEY_HOTSTAR 一键启动HOTSTAR(hotkey没有配置) 668 KEYCODE_CVT_HOTSTAR 1099
IRKEY_HANGAMA 一键启动HANGAMA(hotkey没有配置) 669 KEYCODE_CVT_HANGAMA 1100
IRKEY_EROSNOW 一键启动EROSNOW(hotkey没有配置) 670 KEYCODE_CVT_EROSNOW 1101
IRKEY_BROWSE_WWW 一键启动浏览器(hotkey没有配置) 1116 KEYCODE_CVT_BROWSER 1055
IRKEY_BROWSER_REFRESH 一键刷新浏览器页面 690 KEYCODE_BROWSER_REFRESH 1146

浏览器有两个

1、视若飞浏览器已支持

2、Android原生浏览器(功能没有加完整)

IRKEY_RETURN CHANNEL RECALL 625 KEYCODE_CHANNEL_RECALL 1032 功能实现在 智研apk LiveTVGlobal
IRKEY_CHANNEL_LIST 一键打开频道列表 634 KEYCODE_CHANNEL_LIST 1031
IRKEY_SLEEP 睡眠时间快捷键 629 KEYCODE_SLEEP_TIME 1046

IRKEY_FREEZE

FREEZE功能

公版做法:

1、通道全屏无信号下,不应响应freeze按键,弹个toast “Not available”;(553会响应,920做成不响应,972按照920做法实现)
2、在小窗口播放节目,按下freeze键进入freeze状态,按home/确定键进入全屏播放,强制解freeze;
3、在通道下全屏播放,按下freeze键进入freeze状态,按home跳转到Launcher小窗口时强制解freeze;
4、在freeze状态下,执行删除频道,切换画面比例,菜单复位(menu reset),freeze需要解除;
5、在freeze状态下,执行搜台,搜台结束时,应取消freeze;
6、在freeze状态下,切通道时,应取消freeze;
7、在freeze状态下,按CH+、CH-切频道时,应取消freeze。

628	KEYCODE_FREEZE	1047	功能实现在tvapi

IRKEY_ECO ECO模式 1130 KEYCODE_CVT_ECO 1059

UI在 global UI

涉及宏配置:

CVT_EN_ECO_BACKLIGHT_MOD

CVT_DEF_ECO_HIGH_BACKLIGHT

CVT_DEF_ECO_MID_BACKLIGHT

CVT_DEF_ECO_LOW_BACKLIGHT

CVT_DEF_ECO_OFF_BACKLIGHT

逻辑在tvapi,看懂这个就知道怎么配置了

IRKEY_ATV 一键打开ATV通道 1094 KEYCODE_TV_INPUT_ATV 1001

通道键,公版默认支持

INPUTSOURCE_ATV

IRKEY_AV 一键打开AV通道 1103 KEYCODE_TV_INPUT_AV 1014
通道键,公版默认支持

INPUTSOURCE_AV

IRKEY_HDMI 一键打开HDMI通道 1097 KEYCODE_TV_INPUT_HDMI 1008
通道键,公版默认支持

INPUTSOURCE_HDMI

IRKEY_SYS_SETTING

一键跳转到系统设置应用

645	KEYCODE_IR_SYS_SETTING	1148	

公版默认支持,hotkey.xml已有,只需要配置按键即可

KEYCODE_IR_SYS_SETTING

IRKEY_FAC_AUTO_ATV_TUNING ATV一键自动搜台(只在ATV通道下有作用) 680 KEYCODE_FAC_AUTO_ATV_TUNING 1138
公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

EntryChannelSearch
KEYCODE_FAC_AUTO_ATV_TUNING

IRKEY_FAC_VOL_80 一键设置音量80 681 KEYCODE_FAC_VOL_80 1139 公版默认支持,功能实现在tvapi,配置按键即可
IRKEY_FAC_SHIP_INIT 一键工厂复位 682 KEYCODE_FAC_SHIP_INIT 1140 公版默认支持,功能实现在tvapi,配置按键即可
IRKEY_FAC_OPEN_AGING_MODE 一键打开老化模式(和 IRKEY_AT_AGING_MODE 有点重复) 683 KEYCODE_FAC_OPEN_AGING_MODE 1141
公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

com.cvte.tv.api.at.TvAgingService.commmand.aging_mode
KEYCODE_FAC_OPEN_AGING_MODE

IRKEY_FAC_CLOSE_AGING_MODE 一键关闭老化模式 684 KEYCODE_FAC_CLOSE_AGING_MODE 1142
公版默认不支持,客户需求要配置hotkey.xml和对应的IR按键

com.cvte.tv.api.at.TvAgingService.commmand.aging_mode_close
KEYCODE_FAC_CLOSE_AGING_MODE

这个是要在AgingKey,进入老化是hotkey

IRKEY_EYE_SAFE 一键打开eye safe模式 685 KEYCODE_PIC_EYE_SAFE 1143 实现在tvapi processEyeSafeKeyEvent

IRKEY_AT_AUTO_TUNING

~

IRKEY_FACAPI_REST_TVRESET

AT使用	


AT使用

IRKEY_AT_F1 AT F1复位功能 0x315 这些AT的按键都是没有上抛到Android层的

IRKEY_AT_AGING_MODE 一键进入老化模式 0x300

IRKEY_AT_VERSION 一键打开工厂菜单 System Info页面 0x301

IRKEY_AT_F2 一键打开工厂菜单 0x303

IRKEY_REPEAT 多媒体下设置播放模式,重复、单曲循环等 643 KEYCODE_MEDIA_REPEAT 1076

IRKEY_AT_AUTO_TUNING
0x302

没作用

IRKEY_AT_WINDOW_SHOW
0x310

没作用

IRKEY_PAIRE_GUIDE 蓝牙配置页面 686 KEYCODE_PAIRE_GUIDE 1144 没有功能
IRKEY_CHAOYE_FACTORY_REQUIREMENT 朝野客户工厂需求 687 KEYCODE_CHAOYE_FACTORY_REQUIREMENT 1145 因tvapi是继承972的,这部分功能没有验证,请勿使用
IRKEY_FAV_ADD_ERASE
633 KEYCODE_FAV_ADD_ERASE 1044 没有功能
IRKEY_APP_BACK

没有功能

IRKEY_ADJUST

没有功能,不带VGA通道

IRKEY_DTV

没有功能,不带DTV

IRKEY_AV2

没有功能

IRKEY_HDMI2

没有功能

IRKEY_APPS

没有功能

IRKEY_PLAY_ONLY

没有功能,可能后面会用到,follow 920 5.1

IRKEY_PAUSE_ONLY

没有功能,可能后面会用到,follow 920 5.1

IRKEY_ATV_DTV

没有功能,不带DTV

IRKEY_SLIPPING_UI

没有功能,现在都用ir mouse一个按键 + 宏

CVT_EN_MOUSE_SLIDEMENU_KEY

IRKEY_OPEN_TV_LIVE_APK

没有功能,可能后面会用到,follow 920 5.1

IRKEY_ESHARE 一键启动ESHARE(hotkey没有配置) 671 KEYCODE_CVT_ESHARE 1102 Android 9.0不再用 eshare
IRKEY_TT_TTX 图文键 626 KEYCODE_TTX_TEXT 1034
图文功能未开发
IRKEY_TT_CC
IRKEY_TT_INDEX
658 KEYCODE_TTX_INDEX 1035
IRKEY_TT_MIX

IRKEY_TT_HOLD
654 KEYCODE_TTX_HOLD 1036
IRKEY_TT_SIZE
657 KEYCODE_TTX_SIZE 1037
IRKEY_TT_REVEAL
656 KEYCODE_TTX_REVEAL 1038
IRKEY_TT_SUBPAGE
655 KEYCODE_TTX_SUBPAGE 1039

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鲲君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值