Skip to content
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

Set inline_preedit to true by default #1406

Closed
wants to merge 1 commit into from
Closed

Conversation

mirtlecn
Copy link
Contributor

@mirtlecn mirtlecn commented Oct 20, 2024

  1. 当该选项默认为 false 时,会造成大量应用无法输入或者语法异称
  2. 目前设置为 true 没有以上这么多的问题
  3. 大部分其他输入法(微信、微软等)包括 Squirrel、ibus-rime 都默认为 true

简单搜索,相关 issue 和影响的应用(无法输入或者功能异常):

#1326 Evernote 语法功能异常
iDvel/rime-ice#1043 Notion 语法功能异常
#1313 Baidu 网页无法输入(修复)
#1231 Obsidian 语法功能异常
#1144 Firefox 系全部浏览器的设置面板无法输入
#1106 jetbrains 网页输入异常
#1097 TextMate 插件异常(部分影响)
#1050 Acrobat 导航面板(存疑)
rime/home#1711 LibreOffice 搜索栏
#1416 千牛工作台
#1407 Discord 频道名称输入栏

部分议题已经关闭,但问题并未解决,考虑到当前无法分网页设置 inline_preedit 状态,更好的解决办法是默认设置为 true

@lotem
Copy link
Member

lotem commented Oct 20, 2024

@fxliang 你怎麼看?

@fxliang
Copy link
Contributor

fxliang commented Oct 21, 2024

我是不太倾向于改,当然这个pr可以先挂在这里,等足够多的投票

1,改了之后肯定会有另外的人吐嘈的问题,你永远无法让全部人都心满意足(参照Ctrl+空格的修改之后的用户反馈)
2,我认为这个问题其实某种程度上是App的问题,通常这种监视输入内容的场景都是想要实现类似自动完成之类的功能,那这个想法为什么要清掉空格?应该运算的时候复制这个内容临时变量里面strip掉就是了,修改原来的内容这个本身就太过界了,太迷。参考的是不少IDE里也有auto complete,但是空格也是正常输入的。

补充一个是,chat.baidu.com我刚才试了下一步,可以正常打字了(看来是改了)
image

@lotem
Copy link
Member

lotem commented Oct 21, 2024

要不要拉白名單,只給有問題的APP設置?

@fxliang
Copy link
Contributor

fxliang commented Oct 21, 2024

那就是类似 #1122 这样处理了~

@mirtlecn
Copy link
Contributor Author

可以分应用吧:

方案一

考虑到当前无法分网页设置 inline_preedit 状态

如果要全面一点的话,要给一大堆浏览器(考虑到网页和网页 app),大部分 electron 应用(会有内嵌网页,这个就非常多了),全部设置上 inline_preedit,因为网页问题并非个例,rime/home 那里也有报告一些。

方案二

当然也可以只涵盖主流的和 issue 已经提到的,

  • notion
  • obsidian
  • evernote
  • firefox
  • edge
  • chrome
  • chromium
  • textmate

方案三

当然我还是推荐和当前的大部分输入法一致,改成默认嵌入,这个影响的范围挺广的,归根结底是 Weasel 预插入空格的做法不太合适,其他网页设计者不太会考虑这个。

很早之前,那时候 qq 输入法、手心输入法、微软拼音也是非 inline_preedit 的,

  • 后来微软拼音全面改成嵌入形态,我是看到 Weasel 源码是这么注释的;
  • qq 输入法这些都没维护了,老旧版本非嵌入模式也会插入空格,有和小狼毫一样的问题。
  • 新出的微信输入法也是嵌入编码的
  • 搜狗输入法没摸清楚设计,它大部分时候也是嵌入编码,但它不嵌入的时候,看起来不需要插入空格

@mirtlecn
Copy link
Contributor Author

这个新 issue 同样与此相关,

#1407

  • Discord 及其网页版

但凡限定了输入字符的类型(Disord、Firefox),或者将空格视为某种语法符号或语法中止符号(Notion、Obsidian)均无法在 inline_preedit: false 情况下工作,让它们来兼容小狼毫不太现实。

@fxliang
Copy link
Contributor

fxliang commented Oct 21, 2024

那要不然就合并了,但是这个之前不如这个文件的版本号也升一下?

@mirtlecn
Copy link
Contributor Author

要不像你说的,放一段时间吧。看看有没有什么其他意见。

反正就是一行,不急着合并

@sdhdgb
Copy link

sdhdgb commented Oct 22, 2024

支持將 inline_preedit 默認設置爲 true。

是否啓用 inline_preedit,不僅僅是輸入界面上的變化,更是應用交互層面上的改變,可以說是屬於輸入法功能上的改變。

對於絕大多數非 IT 人士並不瞭解這方面知識,我也是查閱了大量網絡資料後,纔有些許瞭解。

至於圖標之類涉及“艺术风格类”的東西,支持 fxliang 的觀點——官方仍然保持那些經過長期驗證成熟的風格特徵,並開放個性化接口給用家,由用家自己去取捨。

@mirtlecn mirtlecn closed this by deleting the head repository Nov 28, 2024
@mirtlecn
Copy link
Contributor Author

抱歉,刚刚清理仓库的时候忘了还有一个 PR 在这里。

不过只有一两行,维护者如果觉得必要的话就自行改吧。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants