rime / squirrel

【鼠鬚管】Rime for macOS
https://rime.im
GNU General Public License v3.0
4.69k stars 414 forks source link

Mac使用xkbswitch切换到Rime后不能输入中文 #402

Open Anly8888 opened 4 years ago

Anly8888 commented 4 years ago

Mac使用xkbswitch命令行切换输入法,切换到Rime后无法输入中文。

在我的系统中,Rime编号为5:

$ xkbswitch -s 5

切换到Rime后菜单显示 image

Anly8888 commented 4 years ago

和 #400 情况类似

hubl1 commented 3 years ago

大佬有解决方法了吗

yunnan0317 commented 3 years ago

碰到了同样的问题,xkbswitch和smartim都是同样的问题。

Zwlin98 commented 2 years ago

same issue

martinmts commented 1 year ago

这个问题应该和 Squirrel 没有直接关系。我使用 xkbswitch 或者其他 scripts 切换到另外的输入法时,也会出现类似的情况。

hubl1 commented 1 year ago

无论如何,原生五笔是没任何问题的。后来我用清歌输入法好像也没这个问题。但现在不用vim写中文又换回鼠须管了。

Martin Zhang @.***> 于 2022年11月19日周六 07:44写道:

这个问题应该和 Squirrel 没有直接关系。我使用 xkbswitch 或者其他 scripts 切换到另外的输入法时,也会出现类似的情况。

— Reply to this email directly, view it on GitHub https://github.com/rime/squirrel/issues/402#issuecomment-1320661141, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE2EPTM4KV7R46MNTGUJURDWJAIGBANCNFSM4LHCLNWA . You are receiving this because you commented.Message ID: @.***>

martinmts commented 1 year ago

无论如何,原生五笔是没任何问题的。后来我用清歌输入法好像也没这个问题。但现在不用vim写中文又换回鼠须管了。 Martin Zhang @.***> 于 2022年11月19日周六 07:44写道: 这个问题应该和 Squirrel 没有直接关系。我使用 xkbswitch 或者其他 scripts 切换到另外的输入法时,也会出现类似的情况。 — Reply to this email directly, view it on GitHub <[#402 (comment)]

清歌也是有这个问题的。只是它是随机出现的。我刚刚测试了几次清歌后,就出现这个问题了:

image

输入法选项这里也变成了灰色和......

另一款输入法 Keyman 也存在这个问题:

image

我现在的办法是用 AppleScript 通过 Bartender 以鼠标点击来切换。

changeKeyboardLayout("Squirrel")

on changeKeyboardLayout(layoutName)
    tell application "Bartender 4"
        activate "com.apple.TextInputMenuAgent-Item-0"
    end tell

    tell application "System Events"
        tell process "TextInputMenuAgent"
            click menu item layoutName of menu 1 of menu bar item 1 of menu bar 2
        end tell
    end tell
end changeKeyboardLayout

这种办法有一个问题,就是如果 Alfred 之类的窗口是激活状态的话,鼠标点击会导致 Alfred 搜索框关闭。我又用了另外的方法来测试 Alfred 窗口是否处于激活状态,如果是,就在切换输入法重新激活。 另外,切换完成后,再用 AppleScript 模拟两次 Shift 键,这样就能看到当前 Squirrel 是处于中、英文哪种状态。

rainzm commented 1 year ago

Maybe macism can help you.

martinmts commented 1 year ago

Maybe macism can help you.

macism 确实解决了这个问题!太感谢了!