解说社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1418|回复: 10

[教程] 分享几个方法,让解说用天坦输入法半屏更好用

[复制链接]
发表于 2022-9-11 18:54:22 来自手机 | 显示全部楼层 |阅读模式
1.大家都知道,输入法全屏可以用手势滑动到结尾就可以朗读编辑框的内容,半屏是不是就只能触摸编辑框了?下面介绍两种可以在半屏输入法朗读编辑框文字的方法。

第一种点击工具栏的编辑,点击朗读编辑框内容。

第二种,解说用户可以通过代码实现手势朗读编辑框内容。

把下面代码复制。打开程序设置。点击操作设置。点击手势方案。右上角点击更多。新建功能。名称可以随便填。内容把刚复制的代码粘贴进去。

下面是代码:

local edit=service.getEditText()

if edit then

service.speak(edit.Text or "")

else

service.speak("没输入框")

end



  来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2022-9-11 18:55:31 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:28 编辑

2.解说用户输入法半屏可以通过下滑上屏功能那么,没候选的时候能朗读编辑框内容不就更加方便吗。其实在之前的代码加上判断编辑框代码就可以了。下面是代码:
if node.isEditable() then
local edit=service.getEditText()
if edit then
service.speak(edit.Text or "")
else
service.speak("没输入框")
end
return true
end,
回复

使用道具 举报

 楼主| 发表于 2022-9-11 18:58:19 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:30 编辑

3.无候选下滑手势的功能
上面提到无候选下滑可以朗读编辑框,那如果不想朗读,想实现其他例如收起键盘、发送等功能,下面以收起键盘为例,实现其他功能可修改关键字。
下面是代码:
if node.isEditable() then
service.execute("返回",node)
return true
end,
回复

使用道具 举报

 楼主| 发表于 2022-9-11 18:59:25 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:31 编辑

4.发送和评论等功能
全屏可以通过手势点击发送评论等按钮,半屏可以通过下面代码实现,双引号里面的关键字可以自行增加,关键字与关键字之间要有竖线隔开。
下面是代码:
if node.isEditable()
then
service.click({{"发送"}})
service.getEditText()
service.click({"确定|保存|发表|评论|完成|发布|搜索"})
return true
end,   来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2022-9-11 19:00:13 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:32 编辑

5.编辑框专用功能
例如焦点在编辑框实现清空,焦点在其他地方实现复制。下面这个代码可以自行修改双引号里面的关键字,前面双引号关键字是编辑框用的,后面双引号是其他地方用的。
下面是代码:
if node.isEditable() then
service.execute("清空",node)
return true
end
service.execute("复制",node)
return true,   来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2022-9-11 19:01:46 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:39 编辑

6.编辑模式
解说用户默认手势先左后下打开编辑模式,如果这个手势用的是默认,无需修改。选择左右手势移动焦点的,打开编辑模式后。用手势。上下滑上个字和下个字,左右滑上下行,先左后上上一段落,先右后下下一段落,先上后下开头,先下后上结尾,先上后右选择开始点,单击读取所选内容。先下后右选择终点并复制,先上后左追加复制,先左后下退出编辑模式。
如果其他地方不想用默认手势的可以通过代码修改(其他地方指的是焦点不在编辑框),下面介绍其他地方是返回主屏幕,焦点在编辑框就打开编辑模式注,由于编辑模式手势用的是解说在编辑框默认的功能,所以手势不能更改。
下面是代码:

if service.check("编辑框",node) return false
end
service.execute("主屏幕",node)
return true,   来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2022-9-11 19:03:19 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:34 编辑

7.统计字符和解释编辑框中的文字
先左后右解释编辑框中的文字,先右后左统计字符并读出当前光标所在位置。
同样,这两个是调用解说在编辑框默认功能,不可更改,能更改是焦点不在编辑框功能,例如在编辑框是统计字符,其他地方列表浏览。可以自行修改关键字对应的功能。必须用先右后左手势调用,下面是代码:
if service.check("编辑框",node) return false
end
service.execute("列表浏览",node)
return true,   来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2022-9-11 19:03:59 来自手机 | 显示全部楼层
本帖最后由 hoibo 于 2022-9-11 19:35 编辑

8.删除编辑框中最后一句
下面这个代码可以删除编辑框内容的最后一句,方便语音输入。跟撤销最后语音输入不同,语音输入一次说了几句话,撤销就一下把几句话撤掉。这个只能是删除最后一句。这个代码比较长,建议新建个插件然后调用。
下面是代码:
local txt=node.text
local tbl={",","。",":","?","!","……",";",",",".","!","?",";","\n",}
if service.check("可编辑",node) and txt~="" then
for n=utf8.len(txt)-1,1,-1 do
if table.find(tbl,utf8.sub(txt,n,n)) then
service.setText(node,utf8.sub(txt,1,n))
service.speak(utf8.sub(txt,n,-1).."以删除")
break
end
if n==1 then
service.execute("清空",node)
end
end
else
service.speak("编辑框为空")
end,   来自解说社区客户端
回复

使用道具 举报

 楼主| 发表于 2022-9-11 19:05:04 来自手机 | 显示全部楼层
特别感谢圣杰钢琴调修提供的代码。



  来自解说社区客户端
回复

使用道具 举报

发表于 2022-9-11 20:02:51 来自手机 | 显示全部楼层




  来自解说社区客户端
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|解说社区

GMT+8, 2024-11-23 11:48 , Processed in 0.049502 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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