-
Notifications
You must be signed in to change notification settings - Fork 577
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
中文输入模式下输入数字或英文字母后,紧接着的标点会自动变成英文标点,怎么禁用这个功能? #376
Comments
又搜了下,发现是0.9.12添加的第三条新功能,看了下源码,好像没有提供关闭的选项?
|
另外问一下,既然数字后面能自动换成英文的句号和冒号,那么英文后面是不是也应该自动换一下。 |
这个现在是可以配置的了吗 |
大佬这个可配置了吗? |
我也想知道 |
还没有禁用选项吗?这个属实很影响使用 |
用lua可以实现 local P = {}
function P.init(env) end
function P.fini(env) end
function P.func(key_event, env)
env.engine.context.commit_history:clear()
return 2
end
return P
|
lua实现代码,供参考 local P = {}
function P.init(env)
end
function P.fini(env)
end
function P.func(key, env)
-- return 0,1,2
-- 0拒绝,librime不做处理
-- 1接受,仅本processor处理
-- 2跳过,本processor不做处理
if key:release() then -- 不处理按键释放事件
return 2
end
if key:ctrl() or key:alt() or key:super() then -- 不处理的按键事件
return 2
end
local context = env.engine.context
if context:is_composing() or context:get_option("ascii_mode") then -- 有未上屏的编码,英文模式
return 2
end
local keycode = key.keycode
local char = {
[46] = "。",
[58] = ":",
[44] = ","
}
if char[keycode] then
local last_ch = context.commit_history:back()
if last_ch and last_ch.text:match("%d$") then
env.engine:commit_text(char[keycode])
context:clear()
return 1
end
end
return 2
end
return P |
这个功能目前流行的输入法似乎都有,但是默认开启并且无法关闭就不太合理了。 以下是我从个人笔记里翻出来的一些句子:
由此可见,“中文输入时,半角数字后面不可能出现句号”这个前提条件是不成立的。 我明白每个人的使用习惯不同,有的人还希望数字后面的逗号也变成半角的。 所以最好的法子,还是给个开关,让用户自己决定要不要开启。 |
有时候一句中文最后出现一个英文单词或者数字,这时候其实是想要中文标点的,但是出来的却是英文标点。想把这个功能禁用掉,但是搜了半天没搜到相关的网页,过来请教下。
The text was updated successfully, but these errors were encountered: