squirrel icon indicating copy to clipboard operation
squirrel copied to clipboard

在MacOS系统的Neovide编辑器中无法输入全角符号

Open JianleiZhang opened this issue 1 year ago • 14 comments

在其他软件输入全角符号正常,只有在Neovide里无法输入全角符号。

开启输入法,输入逗号。上屏可以看到是半角的。 293137857-9bbb774b-9c3d-4cd1-8130-b9065e02c055

但是如果输入完中文,比如"quan"后面直接输入逗号,上屏的是全角符号。 293137821-35d66fc5-a3be-4025-b5a2-6a1bd933d5e6

我不确认这是否是输入法的问题,还是Neovide的问题。先在这提交吧。

JianleiZhang avatar Dec 29 '23 06:12 JianleiZhang

情况类似,在Neovide下首先发现的,但是随后发现在终端环境下使用Vim和Neovim仍然无法输入全角标点。 在Vim和Neovim下均无法正常输入全角符号,例如输入“。”却显示为“.” 在Vim和Neovim使用的背景终端环境下可正常输入全角符号。 使用Mac自带的中文输入法可以正常输入

hetaozdh avatar Dec 30 '23 18:12 hetaozdh

在alacritty中也会出现类似错误,感觉他们有一个共同点,neovide和alacritty都是用rust编写的 但是在wezterm(rust编写的)中却没有类似错误

kola-web avatar Jan 19 '24 01:01 kola-web

在alacritty中也会出现类似错误,感觉他们有一个共同点,neovide和alacritty都是用rust编写的 但是在wezterm(rust编写的)中却没有类似错误

已经让我改变用空格上屏的习惯了。

JianleiZhang avatar Jan 19 '24 01:01 JianleiZhang

#792 有人处理这个问题了,但是官方没有合并呢

kola-web avatar Jan 19 '24 01:01 kola-web

在alacritty中也会出现类似错误,感觉他们有一个共同点,neovide和alacritty都是用rust编写的 但是在wezterm(rust编写的)中却没有类似错误

應該和rust沒有關係,而是開發者完全不瞭解IMK的工作原理,自作聰明地增加了是否攔截鍵盤事件的判定,判定條件是IMK是否有inline buffer。rime/squirrel#792 加入了反劫持,已解決現有bug。但是説不定他們下個更新又會有新的抽風設定

groverlynn avatar Feb 18 '24 01:02 groverlynn

@groverlynn 這怎麼聽著這麼像 MS Office 2011 Word? (就是說非得在內文組字區裡面顯示點什麼,否則 IMK 處理過(返回 true)的 NSEvent 也會被送給客體。)

ShikiSuen avatar Feb 18 '24 05:02 ShikiSuen

@groverlynn 這怎麼聽著這麼像 MS Office 2011 Word? (就是說非得在內文組字區裡面顯示點什麼,否則 IMK 處理過(返回 true)的 NSEvent 也會被送給客體。)

是的,IMK處理完的直接被吃掉了。而且有正着吃(沒有inline buffer就吃掉)也有反着吃(有inline buffer就吃掉)以及邊吃邊吐(IMK處理結果和他們的處理結果一起出)

groverlynn avatar Feb 18 '24 22:02 groverlynn

@groverlynn 感谢您提供的资讯。请问您方便举几个例子吗? 看来我得丰富一下威注音输入法的客体管理器对黑名单对象的分别处理方式了,居然有反着吃的。

ShikiSuen avatar Feb 19 '24 06:02 ShikiSuen

@groverlynn 已經發現了一個可能在反著吃的:Visual Studio for mac。 (不是 VSCode,VSCode 的問題是內文組字區不能自動換行。)

ShikiSuen avatar Feb 22 '24 07:02 ShikiSuen

在alacritty中也会出现类似错误,感觉他们有一个共同点,neovide和alacritty都是用rust编写的 但是在wezterm(rust编写的)中却没有类似错误

我在 neovide 和 alacritty 出现类似的同一个问题, 现象是, 我在 macOS 的拼音输入法选择中文使用半角标点符号, 结果是在拼音输入法下只能输入全角标点符号, 其他的 iterm2, kitty 都没有这个问题.

epheien avatar Jul 04 '24 14:07 epheien

感觉这个不是rime的问题,这个是alaritty的问题,我现在直接不用alacritty了,对我来说rime的vim_mode无法替代,但是alactitty可以用kitty替代

kola-web avatar Jul 05 '24 01:07 kola-web

Alacritty 的问题要追溯到他们用到的某个 Rust 跨平台 UI 模组。 我针对那个模组提供了个修复 PR,但这个 PR 拖了实在太久才被通过。 而这时我已经全然忘记接下来在 Alacritty 里面该怎么继续修这个问题了,所以 Alacritty 的问题只能搁置。

ShikiSuen avatar Jul 05 '24 02:07 ShikiSuen

该问题目前仍存在。系统输入法无此问题,除此之外我测试的其他所有输入法(小企鹅、搜狗、微信、落格、清歌)都有完全相同的行为,因此大概率是程序本身的问题。

ksqsf avatar Sep 19 '24 22:09 ksqsf

我 4 天前向 winit 报告了该问题( https://github.com/rust-windowing/winit/issues/3925 ),然而暂时没有任何回音。个人暂时没有时间调试改进 winit。看到此消息的高手如有兴趣可以去帮帮他们。

ksqsf avatar Sep 23 '24 12:09 ksqsf