Closed gradypark86 closed 2 months ago
貌似是和 alt-tab 存在冲突,使用 alt-tab 快捷键切换到其他窗口才会出现上述问题。macOS 自带的 ⌘ + ⇥ 快捷键没有影响。
测试了一下,只有将 ⌘ 或 ⌥ 作为 alt-tab 的按住键,会出现该问题。
我可以重現這個問題,原因是Option +Tab後失焦了,Option鍵release的事件被推遲到Shift按下的時候和Shift按下一齊發送給了鼠鬚管。而鼠鬚管沒有對同時多個修飾鍵改變這種情況做處理,結果是Shift按下先於Option釋放處理了,Librime最後看到Shift釋放時沒有識別到之前的Shift down(Librime認爲前次事件是Option up),就沒有正確處理。
我做了一些修復的嘗試,確保在同時有多個modifier改變時,先傳release的給librime,後傳按下的給librime。能解決這個問題,對日常使用也不會有影響(正常不可能同時按兩個鍵,總有先後)。
@lotem 看看前端的處理是否合適吧,也許由librime修復也可以。
在修饰键状态改变时模拟修饰键按下和释放的事件这是鼠须管前端特有的逻辑。所以就在前端修复吧。
升级到 0.18 后,若切换窗口后输入 shift+任意键(如输入 #, @, !, A, B 等),输入法会切换中西文输入模式。
复现步骤:
0.16.2 无此问题,0.18 自带默认配置即有此问题。