# Kodi 控制器切换插件 (Controller Switcher)

这个插件旨在帮助用户快速自由的在kodi内切换不同的遥控器或其他控制设备。

## ✨ 核心特性

### 1. 广泛适配的遥控器列表
适配了市面上多款主流电视盒子和外设遥控器，实现即插即用（不同平台部分遥控器可能有差异，主要针对 CoreELEC/Linux 环境）：
- **芝杜V12** (Zidoo V12)
- **华为R22** (Huawei R22)
- **移动高清语音遥控** (4红外学习 / 7学习键无医生键 / 7学习键有医生键)
- **G10sPRO** / **G20sPRO** / **G23PRO** / **G60sPRO**
- **Homatics 标准遥控器** (无数字和四色键) / **Homatics 高级遥控器** (带数字键和四色键)
- **UGOOS UR02** / **UGOOS UR01** (AM6B Plus 原装)
- **T1遥控**
- **小湃 RC173S** (腾讯极光商城出售) / **RC173** (腾讯极光6S等自带) / **RC173_2** (腾讯极光5X等自带)
- **八位堂 Micro 手柄** (8BitDo Micro Gamepad)
- **标准键盘** / **通用最小适配**


### 2. 强大的自定义按键映射 (Custom Keymapping)

**全自由度的配置方式**
插件在加载遥控器的默认配置文件时，会自动部署其附带的底层硬件映射文件（`.hwdb`）及默认按键映射文件（可选）。
底层按键经过 `hwdb` 规范化后，为 Kodi 提供了标准的识别环境。通过自定义选单，您拥有两种配置路径：
- **基于默认修改**：在默认配置的基础上调整部分按键的映射。
- **重新自定义**：从空白配置起步，对所有按键进行精准的自定义映射。

**支持手柄 (Gamepad) 自定义映射**
除了遥控器和键盘，自定义按键映射同样支持手柄/游戏控制器。插件会根据设备类型自动切换录入方式：
- 遥控器/键盘类设备：通过按键捕获录入。
- 手柄类设备：从手柄按键和摇杆方向列表中选择，支持短按和长按（holdtime）。
- 通过独立映射编辑器编辑时，会在进入编辑前询问设备类型。

**利用 Kodi 原生机制合并配置**
为了在使用中将默认配置与用户自定义相互隔离，插件巧妙利用了 Kodi 引擎对 `keymaps` 目录“按首字母顺序加载与覆盖”的原生机制：
- **默认配置方案**：以 `a-` 开头命名（例如 `a-<remote>.xml`）。
- **用户覆盖方案**：以 `z-` 开头命名（例如 `z-<remote>-overwrite.xml`）。

Kodi 后加载的文件节点会自动合并和覆盖先加载的文件同名节点。使用此机制，能够完美地将您的自定义键位叠加在默认配置上，既保留了基础映射的完整性，又实现了独立且灵活的个性化修改。

### 3. 完整适配我的其他插件的接口
- 默认映射包含了打开筛选页，跳过片尾,一键字幕音轨的映射,同时自定义映射中也列出了这些接口以便自定义绑定

### 4. 独立的映射编辑器 (Standalone Mapping Editor)
插件额外提供独立的映射编辑器，它完全**不绑定任何特定遥控器**，支持读取并修改任意来源的 Kodi 按键映射文件（XML），让您告别手写 XML 代码的繁琐，直观高效地定制键位。

## 🚀 使用流程举例

**1. 选择并部署遥控器配置**
- 在 Kodi 插件界面中打开本插件，从列表中选择当前正在使用的控制器/遥控器。
- 选择“加载默认按键映射”，系统将自动部署对应的 `hwdb` 硬件配置文件，并加载专门优化过的默认按键映射（可选）。

**2. 查阅键位映射说明（推荐）**
- 配置完成后，强烈建议点击“查看遥控适配信息”。
- 这里详细说明了各个按键在不同界面的确切功能，帮助您快速熟悉作者精心定制的交互逻辑。

**3. 个性化您的专属键位**
- 如遇默认长按或短按的动作不符合个人习惯，您可以点击“编辑自定义适配文件”按钮进入全图形化自定义界面。
- **单独绑定**：选定您不满意操作的特定按键和特定环境，为其重新分配命令。系统会自动生成 `z-` 前缀的覆盖文件来接管这部分设定，剩余的默认按键则继续保持生效。

