因为我做了一个动作,是通过文本指令保存文字的,所以希望使用正则把里面的文字提取出来作为参数。但是现在的退格键消除好像把我的中文字全部转成英文字母了。我可以问一下原来就是这样,不能传中文的吗,还是我可能有其他动作出发了中文转英文?
我穿、传进去的文字全部变成英文了。
这是我的动作
Hello标签便笺 - 动作信息 - Quicker (getquicker.net)
输入#啊##啊啊##
现在得到这个
直接用参数输进去的话
会得到这个
谢谢你,大佬。
文本指令是识别按键的,不支持中文,也没法获取输入的中文内容是什么(它是经过输入法转换的)。比较合适的方法是通过文本指令触发动作以后再显示输入的界面来保存。
不够快呢,那样。这个机制是写死的吗?感觉支持中文会有很多用途啊。弹出输出框在填写,感觉文本指令的高效性没有被体现出来。
只有输入法才能支持这种吧,quicker里没法知道输入的内容。
文本指令触发不是有个瞬间,可以做成触发后立刻进行一个判断吗?这个时候可以判定正则里面的内容,即可得到有多少个字,把这个信息用来做推个的数量可以吗?
基本不可能的,文本指令主要是方便快速输入,不要搞的那么复杂。
如果想对选中的内容做什么操作,直接用扩展热键或者快捷键更合适的。
看起来复杂,实现了以后对用户简单啊。
所以才不用选中啊。选中是最麻烦的一步,诚然。无论是鼠标还是键盘。
正则也是要有判定内容的,不是吗?只不过这个就是把判定内容提前识别了。
我猜想,无论如何触发这个文本指令,某个瞬间,肯定要判断开头在什么地方的吧? 就这这个瞬间判定到的开头在正文的位置,往后一直到触发时候的文字位置,中间应该就是退格的次数才对。
英文的不是现在也可以么? 中文的不是实现不了么? 我有点糊涂了
英文的可以啊。但我想中文也可以。 这两个没有前后关系。
中文没办法获取到的。能获取到的是按了什么键,最多能区分出大小写字符。
但是可以在后台重新按一遍这些字符不是么?类似于中英文纠正那样,如果能这些工作在后台进行,就可以获得输出的中文了。我期望是可以这样实现的。
甚至我认为没有用户会反对在前台进行的,若果能够支持中文。
举例我想要往动作输入一个中文词语:吃饭
我可以这么输 ##吃饭+Tab 就可以保存到动作里面了,这就是我想要的效果。
英文现在已经可以了。 ##EatRice+Tab
比起呼出输入框来发送,效率不是差一点的。
有什么办法可以根据字符返回输入的中文么?
那个只是重新模拟一遍按键,再次触发输入法而已
我认为这可以理解成重现字符产生的环境。而且是最可靠的方法。
同时,文本指令我认为可以增加一个可选输出参数在设定的地方,具体是触发文本指令的时候,记录回退删除的文字。我不知道这在技术上是不是可能。但这是我的一个想法。我认为可以修改触发回退机制:如果现在是模拟BackSpace的话:
我建议修改为,向左选定一个字符,复制,然后再按BackSpace
如果无法读入中文的话还有一种实现方法:
你可以把文本指令的触发文本设置为你要输入的文字后面的几个字符(比如你的‘##’),这样把触发文本BackSpace后在动作里用Shift+{HOME}向前选中剩下的所有文字读入,正则提取你需要的内容。这样也能实现读入中文的效果。
例子:输入:#吃饭##中午12点吃饭##+{TAB}文本指令设为:##+{TAB}退格后还剩下的字符:#吃饭##中午12点吃饭用Shift+{HOME}向前选中文字并读入,正则提取所需内容
如果你不用shift+{HOME},用shift+←选中一个字符,读取一个字符然后删掉,不断重复直到遇到单个'#'就结束也可以。
不过这样就需要你考虑好所有情况,设定好判断方法了,并且最后内容要倒序一下。
这个方法需要对正则提取的准确度有一定要求哈,不然会弄乱。
还有前面的字符也要确保能准确删除。
不过感谢您的思路了,Zryan
做好了,请来看看,谢谢大佬。https://getquicker.net/Sharedaction?code=909314af-5707-46b2-e802-08da2c86b7bd
试了一下,体验还可以!👍
但是你的文本指令的动作ID是不是还没改啊?我刚刚下载的时候匹配不上,我手动添加了一下。
还有一点小疑惑,比如你动作是不是本来要加一个删除的操作?现在只是选中了但最后没删除。
我是故意不删的,我怕有未知原因,选错位置。如果这样的话,就可以纠正了。
文本指令Id,我应该要改成公用的ID,忘了,谢谢提醒:)
增加了,交并集的查找。(直接用文本指令)