【免费下载链接】plx-native
Fast, unofficial Plex client for LG webOS TVs — native 60 fps UI, 4K HEVC/Dolby Vision, no Chromium or WebView.
PlxNative 是一款专为 LG webOS 电视打造的快速非官方 Plex 客户端,界面由 GPU 以 60 fps 原生渲染,不经过 Chromium 或 WebView。在电视上,一切操作都靠遥控器完成——这篇文章整理了 PlxNative 的完整遥控器按键映射清单:方向键、OK、BACK、播放/暂停、快进快退、翻页、搜索输入键,甚至色键各自做什么,一篇看懂。
按键是怎么传到应用里的
在讲清单之前,先用一句话说清楚原理(详见 docs/remote-keys.md):
- LG 的 webOS 通过自家 SDL 分支把遥控器按键变成
SDL_KEYDOWN事件; - 每个按键携带两个编码:
sym(标准 SDL 键码,方向键、OK 这类)和wcode(扫描码,CH▲/PLAY/BACK 这类 LG 私有能力用它识别); - 应用内部的分类函数 classify 把一次按键解析成一个
Key,再由 app/run.rs 的分发逻辑决定"这次按下该干什么"。
对普通用户来说不需要关心编码细节,只需要知道:清单里的每个键都是真机实测过的,不是猜测。
导航键完整清单:方向键、OK、BACK
这是最常用的一组,覆盖首页、片库、搜索等所有界面:
| 按键 | 作用 |
|---|---|
| ⬆️⬇️⬅️➡️ 方向键 | 四向移动焦点;播放器内 ⬆️/⬇️ 同时负责显示/隐藏控制条(HUD) |
| OK(中间确认键) | 激活当前聚焦的卡片或按钮 |
| BACK | 返回上一级;在首页等入口页按 BACK 会回到电视 Home 桌面,但不会退出应用 |
| EXIT(遥控器上的退出键) | 直接退出 PlxNative,无确认弹窗 |
两个容易混淆的点:
- BACK 和 EXIT 不是一回事:BACK 在入口页只是"回桌面",应用还在后台运行;EXIT 才是真正结束应用。这也是 LG 上架规范(checklist #38)要求的行为。
- Magic Remote 的 OK 键有兼容处理:在方向键模式下,Magic Remote 的 OK 有时会以"鼠标点击"形式到达,应用会自动把它还原成一次真正的 OK 按下,避免"按了没反应"或误触暂停。相关逻辑在 app/input.rs 的
click_is_ok。
播放控制键清单:PLAY / PAUSE / 快进 / STOP
播放器(或从卡片直接开播)时,遥控器上的媒体键全部有对应行为:
| 按键 | 作用 |
|---|---|
| ▶️ PLAY | 继续播放,或在卡片上直接开始播放 |
| ⏸ PAUSE | 暂停 |
| PLAY/PAUSE 切换键 | 一键切换播放/暂停 |
| ⏩ 快进(FF) | 播放器内向前快进/拖动进度;非播放器界面无动作 |
| ⏪ 快退(RW) | 播放器内向后快退/拖动进度 |
| ⏹ STOP | 停止播放并退出播放器 |
| EXIT | 退出整个应用 |
⚠️ 一个有意思的细节:快进/快退键在首页等导航界面是故意不生效的——它们只认播放器内的"快进/快退"语义,避免你在浏览时误按方向键之外的键就跳走。这个区分靠的是按键携带的alt标志,见 rust-modules/ui/src/consts.rs 中Left { alt }/Right { alt }的定义。
进阶按键:翻页、搜索输入、数字键
这组键在特定场景下非常实用,也是"每个键都有用"最有说服力的部分:
📄 片库(Library)翻页键
- CH▲ / CH▼ 频道摇杆:整页上翻/下翻海报网格
- Page Up / Page Down:同样整页翻页
在几十上百张海报的网格上,摇杆翻页比一格一格挪快得多。实现见 page_dir 函数。
⌨️ 搜索页输入键
- 退格键(Backspace):搜索框编辑时删除字符
- Clear all(全清):一键清空整个搜索输入
- 数字键 0–9:在"谁在看"(Who's Watching)的 PIN 键盘上输入数字
🎨 色键与 HOME / LIVE 键:可达但故意不绑定
Magic Remote 上的红/绿/黄/蓝四个色键、HOME 键、LIVE 键都能被电视送达给应用,但 PlxNative默认不绑定它们:
- 色键按下后被静默消费,不产生任何动作(符合 LG checklist #40"不支持的按键不得有副作用"的要求);
- HOME / LIVE 属于电视全局导航,应用截获它们反而不符合上架规范,所以保持不绑定。
这一原则也保证了:未绑定的按键绝不会误触发播放、暂停或退出——代码里用一个is_bound谓词统一把关,任何"没被处理"的按键都不会产生全局副作用。
清单背后的工程细节(延伸阅读)
这份清单不是拍脑袋写的,仓库里保留了完整的证据链:
- 权威文档:docs/remote-keys.md —— 每个按键的编码、来源(evdev 对照表)和真机实测记录,甚至包括一次"数字键 4/5 曾被误绑成翻页键"的完整事故复盘与修复;
- 按键分类与常量:rust-modules/ui/src/consts.rs(
WCODE_BACK、WCODE_PLAY等编码常量都在这); - 按键回归测试:tests/keytable.json —— 用脚本在首页、片库、搜索页逐个"按"按键,验证每次按下的焦点变化是否符合预期;
- 真机抓取方法:docs/remote-keys.md 第 7 节给出了"逐键实测遥控器真实扫描码"的操作配方;
- 上架自查状态:docs/lg-self-checklist.md 记录了 LG App Self Checklist 第 26/36/39/40/45 条(遥控器相关项)的验证状态。
一句话总结
在 PlxNative 上,方向键管导航、OK 管确认、BACK 管返回(入口页回桌面)、EXIT 管退出、媒体键只管播放器、CH 摇杆管翻页、输入键管搜索——每个键都有明确分工,且所有行为都经过真机实测和自动化回归验证。这份完整按键映射清单,就是它做到 60 fps 流畅体验的"最后一块拼图"。
【免费下载链接】plx-native
Fast, unofficial Plex client for LG webOS TVs — native 60 fps UI, 4K HEVC/Dolby Vision, no Chromium or WebView.
相关推荐
LASRecomp手柄与键位设置指南:每个按键都能重映射的实用清单
LASRecomp手柄与键位设置指南:每个按键都能重映射的实用清单 LASRecomp 是一个把《塞尔达传说:织梦岛》(Switch 版)静态重编译为 macO
gulp-uglify高级配置:自定义压缩选项提升前端性能
gulp uglify高级配置:自定义压缩选项提升前端性能 gulp uglify是一款基于UglifyJS的Gulp插件,能够帮助开发者通过自定义压缩选项显著
构建工具前端构建开发工具LogiOps 按键重映射完全教程:让每个按钮都发挥最大价值
LogiOps 按键重映射完全教程:让每个按钮都发挥最大价值 LogiOps 是一款强大的非官方用户空间驱动程序,专为 HID++ 协议的 Logitech 设
驱动开发系统编程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考