-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[求助] 如何通过lua_processor插件发送退格键 #284
Comments
你可以 搜一下 issue : commit_text ,查看歷史記錄 Component 下的物件 只是提供 lua_component 委任 已經有 的功能 減少codeing 還有不好做的功能 librime engine 工作程序 key --> processors --> accepted --> Compose()
|
@shewer 大神你好。你的意思是我在if语句体里面的思路或者说写法是不对的?但我是参考你放在这个仓库的 |
因爲做不到, 這 個方案 只能 用 "\b" 着手
a -> engine --> lua_processor() noop : a 往下個processor 送 |
指望通过 librime 发送按键是做不到的。按照架构分工 librime 只负责把按键翻译为一个字符串。至于翻译为 "\b",应用程序是否会理解为退格,这是无法保证的事。现有框架下只有看输入法前端部分或者什么外部工具是否提供接口让你发送退格。 |
感谢 @shewer 大神进一步的解释说明。你所说的处理原理和流程虽然我之前略懂,不过经你这么一说,觉得自己之前自己的考虑太片面了。我之前总是一心想着能发送退格键给Rime处理就行了,并不关心返回值是什么。现在觉得还是要仔细了解Rime的处理流程和原理。之前的理解是Rime应该在某个processor处理退格键,并返回 |
如果真如 @hchunhui 大神所说的话,那我想实现的功能就死翘翘了。本来还冒出个想法看看能否直接将 |
最近想实现一些功能,还是得先实现发送退格键这个功能才行。虽然上面 @hchunhui 大神说的librime工作原理可能是这样,但好像也不尽然是这样,不是可以通过 |
最近2个月折腾AutoHotkey,给我折腾出想要实现的功能了,而且貌似比单用Rime来实现更好。所以不麻烦 @lotem 大神来折腾这个功能了。迟些等项目完成得差不多,开源的时候再告诉大家。再次感谢各位大神热心相助🤝 |
os.execute调用AHK会有cmd窗口闪现一下,luacom又太老了,所以我自己写了个dll,可以使用 |
这两天学习了一下这个仓库的示例,折腾出下面这个放在Processor组件的函数。虽然输出和没有执行这个函数一样(也就是没有达到预期效果),但感觉离真理越来越接近了,还请各位大神帮忙看看问题出在哪里?想实现的功能是当满足条件时就发送一个退格键。函数代码如下:
if条件已经测试过应该是没有问题的,问题出在if语句体内。
这里有几个疑问:
1是
Processor
不是Component
的方法吗?如果是方法的话,为什么是用'.'连接而不是用':'连接?不过我2种都试过,都不行。2是
KeyEvent
里面的参数是'BackSpace'
吗?我试过用'\b'
也不行。3是
Processor
方法的第3个参数可以用"ascii_composer"
吗?还是要用"express_editor"
来处理退格键?我的理解是"ascii_composer"
处方也可以处理退格键的,我就当作是在英文模式下输入1个退格键,是由这个处方来处理的吧?不过也是2种都试过,都不行。4是
Component
前面还有没有父对象?就好比如engine
前面还有env
。综上所述,还请各位大神帮忙看看问题出在哪里?感觉这个方向是对头的啊。求 @shewer @hchunhui 大神指点迷津,折腾了2个通宵了。
对了,Lua好像是大小写敏感的。那如果我的代码里面有大小写错误的问题,也请大神指出我的错误,感激不尽!
The text was updated successfully, but these errors were encountered: