mirror of
https://github.com/sachikoxz12/Taiko-Input.git
synced 2024-11-28 03:20:49 +01:00
md update
This commit is contained in:
parent
a052600373
commit
39b7de3459
25
README.md
25
README.md
@ -85,3 +85,28 @@ TK_usb_CH552_mini/软件适配单鼓硬件,可以枚举成USB-HID键盘或n***
|
||||
![系统框图](./HW/img/hardware.png "系统框图")
|
||||
<center>系统框图</center>
|
||||
|
||||
# 做的一些裂开设计
|
||||
|
||||
主要是通过观察游戏运行的特征,去做体验上的优化。可能合理也可能不合理。
|
||||
|
||||
## 游戏软件运行的观察
|
||||
- 输入频率限制:ns平台的作品与虹均有输入频率限制,经过测试这个频率每个player,单个通道限制最高30次每秒,四个通道一起限制60次每秒。超过这个频率的输入大概率就会被扔掉。
|
||||
也就是说如果只敲左咚或者右咚,则最多30打每秒,而如果左右咚交替输入,能提高到60打每秒。
|
||||
|
||||
- ns平台本身的硬件限制:按键输入会有一个很长的滤波,且按下与松开均需要一段时间才能生效。
|
||||
在ns运行的游戏内,这个一段时间大于20ms时不再出现丢输入。但是主页上20ms仍会无响应,可能是ns可以允许输入滤波时间动态变化。
|
||||
|
||||
<br/>
|
||||
|
||||
## 输出交叉分配
|
||||
|
||||
功能实现放在了[USB 单片机](./USB-MCU/)
|
||||
|
||||
由于机能或软件运行方式,不同的软件支持的输入最大频率不同,分配输出主要原因是为了能使输入频率达到这台设备的上限。
|
||||
表现就是在触发频率高的时候,同一个通道的输入会分配到另一个通道,不同的设备采取的方案不相同。
|
||||
- ns:按键消抖做的比较激进,直接在有高频输入的时候,优先分配给同侧的两个按键。
|
||||
- 虹:游戏软件限制了全局输入的最高频率和单个通道输入的最高频率,可能是为了方便计算图像,这边限制了单一个通道的输入频率,且将同为“咚”的输入分配给空闲的通道。
|
||||
|
||||
![交叉分配](./USB-MCU/img/cross.png "交叉分配")
|
||||
适配虹的交叉分配示意图
|
||||
|
||||
|
@ -10,7 +10,7 @@ MCU:CH552,IDE:KEIL 4
|
||||
</br>
|
||||
|
||||
## 软件流程
|
||||
软件按照如下运行
|
||||
软件按照如下流程运行
|
||||
|
||||
```
|
||||
采样输入 -> 输出频率限制 -> 分配输出 -> 键值映射 -> USB
|
||||
@ -27,9 +27,13 @@ n******o switch限制输入信号的时间为20ms(按下与抬起都为20ms左
|
||||
</br>
|
||||
|
||||
### 分配输出
|
||||
分配输出主要用于使输入频率能达到这台设备的上限,不同的设备采取的方案不相同。
|
||||
- 虹:由于有着所有通道最高60Hz,同颜色最高30Hz的频率限制,所以在这里会缓存每个通道3次输入,并将多出来的“咚”分配到另一个鼓面,使输入带宽占满。
|
||||
- ns:ns的键位通常为左右手各4个按键,在输入频率高的时候,需要将其分配到不同的按键上(比如说Y与B都为“咚”,则输入频率高的时候的时候,Y与B交替键入,频率低的时候只键入B)
|
||||
由于机能或软件运行方式,不同的软件支持的输入最大频率不同,分配输出主要用于使输入频率能达到这台设备的上限。
|
||||
表现就是在触发频率高的时候,同一个通道的输入会分配到另一个通道,不同的设备采取的方案不相同。
|
||||
- ns:按键消抖做的比较激进,直接在有高频输入的时候,优先分配给同侧的两个按键。
|
||||
- 虹:游戏软件限制了全局输入的最高频率和单个通道输入的最高频率,可能是为了方便计算图像,这边限制了单一个通道的输入频率,且将同为“咚”的输入分配给空闲的通道。
|
||||
|
||||
![交叉分配](./img/cross.png "交叉分配")
|
||||
适配虹的交叉分配示意图
|
||||
|
||||
</br>
|
||||
|
||||
@ -56,7 +60,7 @@ n******o switch限制输入信号的时间为20ms(按下与抬起都为20ms左
|
||||
</br>
|
||||
|
||||
### 单鼓软件
|
||||
单鼓软件内,集成了三种模式,分别是ns模式(盗用了HORI的PID/VID),适配虹的键盘模式(锁60Hz输入),适配其他太鼓软件的键盘模式(解锁限制并关闭分配输出)三种。
|
||||
单鼓软件内,集成了三种模式,分别是ns模式(借用了HORI的PID/VID,ns只校验了PID/VID,没做其他加密),适配虹的键盘模式(输出锁60Hz输入),适配其他太鼓软件的键盘模式(解锁限制并关闭分配输出)三种。
|
||||
|
||||
- 修改`CompatibilityHID.C`内的宏`MODE_STARTUP`,则可以修改启动时候默认的模式。
|
||||
- 启动前1s内按如下按键,则可以切换模式
|
||||
|
BIN
USB-MCU/img/cross.png
Normal file
BIN
USB-MCU/img/cross.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Loading…
Reference in New Issue
Block a user