fix: 调整部分滑动延迟,放到配置文件中

This commit is contained in:
MistEO
2023-04-22 14:31:54 +08:00
parent 414c89c134
commit 2dcc599f4e
5 changed files with 12 additions and 9 deletions

View File

@@ -14,6 +14,8 @@
"adbExtraSwipeDuration_Doc": "额外的滑动持续时间adb有bug同样的参数偶尔会划得非常远。额外做一个短程滑动把之前的停下来。若小于0则关闭额外滑动功能",
"adbSwipeDurationMultiplier": 10.0,
"adbSwipeDurationMultiplier_Doc": "adb 滑动延迟倍数",
"minitouchSwipeDefaultDuration": 200,
"minitouchSwipeExtraEndDelay": 150,
"minitouchExtraSwipeDist": 100,
"minitouchExtraSwipeDuration": 200,
"minitouchProgramsOrder": [

View File

@@ -18,6 +18,8 @@ bool asst::GeneralConfig::parse(const json::value& json)
m_options.adb_swipe_duration_multiplier = options_json.get("adbSwipeDurationMultiplier", 10.0);
m_options.minitouch_extra_swipe_dist = options_json.get("minitouchExtraSwipeDist", 100);
m_options.minitouch_extra_swipe_duration = options_json.get("minitouchExtraSwipeDuration", -1);
m_options.minitouch_swipe_default_duration = options_json.get("minitouchSwipeDefaultDuration", 200);
m_options.minitouch_swipe_extra_end_delay = options_json.get("minitouchSwipeExtraEndDelay", 150);
m_options.swipe_with_pause_required_distance = options_json.get("swipeWithPauseRequiredDistance", 50);
if (auto order = options_json.find<json::array>("minitouchProgramsOrder")) {
m_options.minitouch_programs_order.clear();

View File

@@ -39,6 +39,8 @@ namespace asst
double adb_swipe_duration_multiplier = 0; // adb 滑动持续时间倍数
int minitouch_extra_swipe_dist = 0;
int minitouch_extra_swipe_duration = -1;
int minitouch_swipe_default_duration = 0;
int minitouch_swipe_extra_end_delay = 0;
int swipe_with_pause_required_distance = 0;
std::vector<std::string> minitouch_programs_order;
RequestInfo penguin_report; // 企鹅物流汇报:

View File

@@ -191,12 +191,10 @@ bool asst::MinitouchController::swipe(const Point& p1, const Point& p2, int dura
}
};
constexpr int DefaultDuration = 200;
minitouch_move(x1, y1, x2, y2, duration ? duration : DefaultDuration);
minitouch_move(x1, y1, x2, y2, duration ? duration : opt.minitouch_swipe_default_duration);
if (extra_swipe && opt.minitouch_extra_swipe_duration > 0) {
constexpr int ExtraEndDelay = 100; // 停留终点
m_minitoucher->wait(ExtraEndDelay);
m_minitoucher->wait(opt.minitouch_swipe_extra_end_delay); // 停留终点
minitouch_move(x2, y2, x2, y2 - opt.minitouch_extra_swipe_dist, opt.minitouch_extra_swipe_duration);
}
bool ret = m_minitoucher->up();

View File

@@ -143,13 +143,12 @@ bool asst::PlayToolsController::swipe(const Point& p1, const Point& p2, int dura
}
};
constexpr int DefaultDuration = 200;
progressive_move(x1, y1, x2, y2, duration ? duration : DefaultDuration);
const auto& opt = Config.get_options();
progressive_move(x1, y1, x2, y2, duration ? duration : opt.minitouch_swipe_default_duration);
if (extra_swipe && opt.minitouch_extra_swipe_duration > 0) {
constexpr int ExtraEndDelay = 100; // 停留终点
toucher_wait(ExtraEndDelay);
toucher_wait(opt.minitouch_swipe_extra_end_delay); // 停留终点
progressive_move(x2, y2, x2, y2 - opt.minitouch_extra_swipe_dist, opt.minitouch_extra_swipe_duration);
}