12下一页
返回列表 发新帖

输入法切换器(deepseek编写,root或者shizuku权限运行)

[复制链接]

69

主题

1914

回帖

8109

积分

硕士生

Rank: 6Rank: 6

金币
2061
好评
22
信誉
105
发表于 2026-4-26 23:42:46 来自手机  | 显示全部楼层 | 阅读模式  来自 四川
本帖最后由 hw1020 于 2026-4-26 23:42 编辑

使用adb或者root权限执行就可以。
用deepseek编写的。
通过快捷方式APP做个磁贴或者通知栏,然后就可以愉快的切换输入法了。
shell脚本开头可指定在几个输入法之间切换(开头我设置了我自己讯飞输入法小米版,讯飞输入法,微软输入法,谷歌ai输入法)。
内容可通过执行ime list -s得到,一行一个。
之后就可以愉快的和windows一样快速切换输入法了。
主要是现在有很多输入法都不给切换到其他输入法的按钮入口什么的。
快捷方式 APP可以之前的帖子下载到,或者酷安。
在APP内部添加一个shell,执行方式选择 shizuku或者root,看你自己。内容就这sh path即可,path是你shell保存的具体路径。
比如我的

源码如下。
  1. #!/system/bin/sh
  2. # ================= 白名单(用空格或换行分隔都可以,脚本会自动清洗) =================
  3. ALLOWED_IME="
  4. com.iflytek.inputmethod.miui/.FlyIME
  5. com.touchtype.swiftkey/com.touchtype.KeyboardService
  6. com.iflytek.inputmethod/.FlyIME
  7. com.typegpt.keyboard/.PureKeyboardIMS
  8. "
  9. # =========================================================

  10. ime="/system/bin/ime"
  11. settings="/system/bin/settings"

  12. # 获取当前输入法
  13. current=$($settings get secure default_input_method)

  14. # 清洗白名单:将换行、回车全部替换为空格,并压缩多余空格
  15. ALLOWED_IME=$(echo $ALLOWED_IME)

  16. # 获取已启用输入法列表
  17. enabled_list=$($ime list -s)

  18. echo "===== 白名单状态 ====="
  19. echo "已清洗白名单: $ALLOWED_IME"
  20. echo "当前输入法: $current"

  21. # ---- 核心切换逻辑 ----
  22. next=""
  23. found_current=0

  24. for item in $ALLOWED_IME; do
  25.     # 检查是否在已启用列表中
  26.     if ! echo "$enabled_list" | grep -Fxq "$item"; then
  27.         echo "  [跳过] $item (未启用)"
  28.         continue
  29.     fi
  30.     echo "  [可用] $item"

  31.     if [ $found_current -eq 1 ]; then
  32.         next="$item"
  33.         break
  34.     fi

  35.     if [ "$item" = "$current" ]; then
  36.         found_current=1
  37.     fi
  38. done

  39. # 如果未找到下一个(比如当前是白名单最后一个,或不在白名单中),则使用第一个可用项
  40. if [ -z "$next" ]; then
  41.     for item in $ALLOWED_IME; do
  42.         if echo "$enabled_list" | grep -Fxq "$item"; then
  43.             next="$item"
  44.             break
  45.         fi
  46.     done
  47. fi

  48. if [ -z "$next" ]; then
  49.     echo "错误:白名单中没有已启用的输入法。"
  50.     exit 1
  51. fi

  52. echo "====== 切换至 ======"
  53. echo "[$next]"   # 方括号能暴露首尾空格
  54. $ime set "$next"
  55. echo "完成"
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

118

主题

2436

回帖

6632

积分

硕士生

Rank: 6Rank: 6

金币
308
好评
53
信誉
25

MT论坛最佳新人MT论坛新人考神MT论坛帅哥

发表于 2026-4-27 00:18:05 来自手机  | 显示全部楼层  来自 河南
挽尊
回复

使用道具 举报

51

主题

2971

回帖

8672

积分

硕士生

看看

Rank: 6Rank: 6

金币
129
好评
8
信誉
140

考神MT论坛帅哥MT论坛最佳新人MT论坛新人MT论坛活跃会员

发表于 2026-4-27 01:24:44 来自手机  | 显示全部楼层  来自 河南
看看
回复

使用道具 举报

688

主题

1万

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
3411
好评
164
信誉
119

考神MT论坛新人MT论坛活跃会员MT论坛帅哥MT论坛灌水老大MT论坛侠客MT论坛最佳新人

发表于 2026-4-27 01:59:13 来自手机  | 显示全部楼层  来自 广东
感谢分享
回复

使用道具 举报

0

主题

511

回帖

1834

积分

高中生

Rank: 4

金币
1721
好评
0
信誉
100
发表于 2026-4-27 03:57:58 来自手机  | 显示全部楼层  来自 山西
谢谢分享!
回复

使用道具 举报

101

主题

4699

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6051
好评
0
信誉
84
发表于 2026-4-27 04:06:30 来自手机  | 显示全部楼层  来自 安徽
大佬,六六六
回复

使用道具 举报

101

主题

4699

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6051
好评
0
信誉
84
发表于 2026-4-27 04:35:21 来自手机  | 显示全部楼层  来自 安徽
===== 白名单状态 =====
已清洗白名单: com.iflytek.inputmethod.miui/.FlyIME com.touchtype.swiftkey/com.touchtype.KeyboardService com.iflytek.inputmethod/.FlyIME com.typegpt.keyboard/.PureKeyboardIMS
当前输入法: com.sohu.inputmethod.sogou/.SogouIME
  [跳过] com.iflytek.inputmethod.miui/.FlyIME (未启用)
  [跳过] com.touchtype.swiftkey/com.touchtype.KeyboardService (未启用)
  [跳过] com.iflytek.inputmethod/.FlyIME (未启用)
  [跳过] com.typegpt.keyboard/.PureKeyboardIMS (未启用)
错误:白名单中没有已启用的输入法。

不会玩这个

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

69

主题

1914

回帖

8109

积分

硕士生

Rank: 6Rank: 6

金币
2061
好评
22
信誉
105
发表于 2026-4-27 05:34:57 来自手机  | 显示全部楼层  来自 四川
lickumap 发表于 2026-4-27 04:35
===== 白名单状态 =====
已清洗白名单: com.iflytek.inputmethod.miui/.FlyIME com.touchtype.swiftkey/com ...

你需要用root或者shizuku执行ime list -s,把返回的几行数据,输入法相关的数据行复制并添加到代码开头的那个字符串里,换行后添加就行。
回复

使用道具 举报

0

主题

2964

回帖

6897

积分

硕士生

Rank: 6Rank: 6

金币
3316
好评
0
信誉
100

MT论坛新人考神MT论坛帅哥

发表于 2026-4-27 06:31:44 来自手机  | 显示全部楼层  来自 浙江
感谢分享
回复

使用道具 举报

7

主题

276

回帖

1001

积分

高中生

Rank: 4

金币
654
好评
0
信誉
100
发表于 2026-4-27 11:15:22 来自手机  | 显示全部楼层  来自 吉林
感谢分享。
回复

使用道具 举报

31

主题

1929

回帖

6526

积分

硕士生

六午

Rank: 6Rank: 6

金币
2488
好评
5
信誉
112

MT论坛新人MT论坛帅哥考神MT论坛最佳新人

QQ
发表于 2026-4-27 12:18:51 来自手机  | 显示全部楼层  来自 山东
不是在输入框长按就可以切换的吗
回复

使用道具 举报

101

主题

4699

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6051
好评
0
信誉
84
发表于 2026-4-27 15:08:11 来自手机  | 显示全部楼层  来自 安徽
六午 发表于 2026-4-27 12:18
不是在输入框长按就可以切换的吗

注意审题
回复

使用道具 举报

101

主题

4699

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6051
好评
0
信誉
84
发表于 2026-4-27 15:13:08 来自手机  | 显示全部楼层  来自 安徽
hw1020 发表于 2026-4-27 05:34
你需要用root或者shizuku执行ime list -s,把返回的几行数据,输入法相关的数据行复制并添加到代码开头的 ...

感谢大佬指点!!!
我说的是快捷方式不会玩,不管怎么调都不出来
  另外,有用者有用,解决痛点。我基本不切换输入法
回复

使用道具 举报

69

主题

1914

回帖

8109

积分

硕士生

Rank: 6Rank: 6

金币
2061
好评
22
信誉
105
发表于 2026-4-27 16:07:07 来自手机  | 显示全部楼层  来自 四川
六午 发表于 2026-4-27 12:18
不是在输入框长按就可以切换的吗
很多输入法都不支持,反正我的系统现在不行。输入框长按也只有复制什么的。
回复

使用道具 举报

0

主题

6401

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
828
好评
1
信誉
107
发表于 2026-4-27 16:38:35 来自手机  | 显示全部楼层  来自 广东
历害
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表