MacOS 自动切换 APP 当前输入法小工具 1.1.0 更新

2020-05-01 23:10:37 +08:00
 leaves615
前情提要:
https://www.v2ex.com/t/624091

1.1.0 更新内容
增加配置界面
支持配置默认输入法
支持按 app 配置 app 激活 /启动时的默认输入法

下载链接:
https://github.com/leaves615/KeyboardHolder/releases
2485 次点击
所在节点    分享创造
3 条回复
cookiejaysj
2020-05-02 23:10:48 +08:00
挺好用的 支持!
leaves615
2020-05-02 23:13:51 +08:00
@cookiejaysj 谢谢支持。
nl101531
2020-05-05 17:39:20 +08:00
可以用 Hammerspoon 来实现,脚本可以按照下面方式写,对于 Item 的浮动窗口也能很好支持

```lua

local function Chinese()
hs.keycodes.currentSourceID("im.rime.inputmethod.Squirrel.Rime")
end

local function English()
hs.keycodes.currentSourceID("com.apple.keylayout.ABC")
end

-- app to expected ime config
local app2Ime = {}
app2Ime['iTerm2'] = 'English'
app2Ime['Alfred 3'] = 'English'

function updateFocusAppInputMethod(appName)
local ime = 'Chinese'

if app2Ime[appName] then
ime = app2Ime[appName]
end

if ime == 'English' then
English()
else
Chinese()
end
end

local focusedApp = {'iTerm2','Google Chrome','IntelliJ IDEA','IntelliJ IDEA-EAP','钉钉','Code','幕布'}

-- 解决固定 APP
hs.window.filter.new(focusedApp)
:subscribe(hs.window.filter.windowFocused,function (win, appName)
--print('windowFocused'..appName)
updateFocusAppInputMethod(appName)
end)

-- 解决浮动窗口
hs.window.filter.new{'iTerm2','Alfred 3'}:subscribe(hs.window.filter.windowOnScreen,function (win, appName)
--print('windowOnScreen'..appName)
updateFocusAppInputMethod(appName)
end):subscribe(hs.window.filter.windowNotOnScreen,function (win, appName)
local frontMostApp = hs.application.frontmostApplication()
updateFocusAppInputMethod(frontMostApp:name())
end)

```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667983

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX