Mac 下有没有在屏幕或状态栏显示键盘大小写的软件?

2015-07-11 23:13:55 +08:00
 qgy18

RT。升级到 OSX 10.11 后,改用系统自带拼音输入法了。别的都很好,就是没办法通过 shift 键来临时切换到英文输入,只能按 caps lock 了。

我在想有没有办法能在切换大小写来一个屏幕通知,或者直接在状态栏显示当前 caps lock 状态,这样就不用经常低头看键盘上大小写状态了。

7035 次点击
所在节点    Apple
31 条回复
qgy18
2015-07-11 23:25:21 +08:00
找到一个古老的 capsee,貌似可以实现我这需求,就是反应有点慢。
http://www.macupdate.com/app/mac/33343/capsee
Yvette
2015-07-12 02:42:00 +08:00
歪个楼,我一般都是直接切换到英文输入法
zander
2015-07-12 03:02:59 +08:00
同上。
canautumn
2015-07-12 03:52:37 +08:00
如果需要临时切换我都是直接回车输入英文,连shift都懒得按。
txl263
2015-07-12 05:14:26 +08:00
Hammerspoon 简单的Lua脚本可以控制窗口布局,额外的功能就是楼主所需啦,很容易显示按键的屏幕通知的
txl263
2015-07-12 06:31:16 +08:00
在Hammerspoon的文档里找了一圈没看到怎么获取caps lock状态的,待我上github上问问的。话说,caps lock不是有指示灯吗?
avalon
2015-07-12 07:54:09 +08:00
楼主,可以去安装 karabiner,参考 https://github.com/lwr/personal/blob/master/app-conf/Karabiner/private.xml 来实现shift切换中英文。但是状态的提示问题还是需要一个更好的解决办法。
Sylv
2015-07-12 08:14:47 +08:00
同楼上用 Karabiner 实现了 shift 键切换中英文输入法,用了很久了,另外实现了单按左 CMD 切换到英文输入法、单按右 CMD 切换到中文输入法,这样就不用转移视觉焦点去查看当前输入法是哪个再判断是否要按 shift,而是无脑一键就能切换到所需的输入法。
Sylv
2015-07-12 08:23:06 +08:00
另外显示 Caps Lock 通知的软件我试过好几个,最好用的是 App Store 上收费的 Capster,不过通知的默认样式不是很好看和简洁,但是可以通过 Growl 来更改通知的样式,为此我还花时间学了下怎么改 Growl 样式来自定义了个简洁醒目的样式。
txl263
2015-07-12 09:00:49 +08:00
@Sylv 无脑一键就能切换到所需的输入法?英文怎么切换?
squid157
2015-07-12 09:23:14 +08:00
el capitan下面,是输入法切换本身就有点问题的样子。。至少我这里是这样
Sylv
2015-07-12 09:58:25 +08:00
@txl263 没明白你问什么?
txl263
2015-07-12 10:01:06 +08:00
@Sylv 你不是设置了单按右 CMD 切换到中文输入法么,然后说一键就能切换到所需的输入法,我就问切换到英文用什么?
qgy18
2015-07-12 10:05:29 +08:00
@txl263 啊,他不是写了么「单按左 CMD 切换到英文输入法、单按右 CMD 切换到中文输入法」
qgy18
2015-07-12 10:15:58 +08:00
@avalon
@Sylv
我装好了 karabiner,要实现按 shift 临时切换到英文输入,是把 shift 映射为 Caps Lock 么?但是这样在英文输入状态下整个都不好了啊。
qgy18
2015-07-12 10:41:58 +08:00
知道了,加上这个:
<inputsource_only>CHINESE_SIMPLIFIED</inputsource_only>

看了下那个 private.xml,karabiner 好强大,多谢二位分享~
@avalon
@Sylv
Sylv
2015-07-12 11:13:39 +08:00
@qgy18
Karabiner 自带的切换输入法的功能有点 bug,有时候切换到中文输入法后输出的还是英文。因此我采用了另外一种实现:在系统设置中更改默认切换输入法快捷键 ⌘+Space 为不存在的按键 F18,然后用 Karabiner 映射单按 shift 为 F18 来实现切换输入法。

下面是我的实现(有简化过,因为我的需求更复杂),供参考:


<item>
<name>Shift Keys to Switch Input Method</name>
<appendix>Shift keys to F18 on OS X</appendix>
<appendix>(Works well with setting F18 to switch input method in System Preferences)</appendix>
<identifier>private.shifts_to_switch_input_method</identifier>
<modifier_not>
ModifierFlag::COMMAND_L, ModifierFlag::COMMAND_R,
ModifierFlag::OPTION_L, ModifierFlag::OPTION_R,
ModifierFlag::CONTROL_L, ModifierFlag::CONTROL_R
</modifier_not>
<block>
<!-- SHIFT_L -->
<modifier_not>ModifierFlag::SHIFT_R</modifier_not>
<autogen>
__KeyOverlaidModifier__
<!-- from -->
KeyCode::SHIFT_L,
<!-- hold -->
KeyCode::SHIFT_L,
<!-- tap -->
KeyCode::F18
</autogen>
</block>
<block>
<!-- SHIFT_R -->
<modifier_not>ModifierFlag::SHIFT_L</modifier_not>
<autogen>
__KeyOverlaidModifier__
<!-- from -->
KeyCode::SHIFT_R,
<!-- hold -->
KeyCode::SHIFT_R,
<!-- tap -->
KeyCode::F18
</autogen>
</block>
</item>


<!-- input source definition -->
<inputsourcedef>
<!-- english input method -->
<name>ENGLISH</name>
<languagecode>en</languagecode>
</inputsourcedef>


<item>
<name>Command Keys Remappings</name>
<appendix>Tap Command Keys to Change Input Method</appendix>
<appendix>(Command_L to English)</appendix>
<appendix>(Command_R to Chinese)</appendix>
<appendix>(On OS X, use F18 to change input method)</appendix>
<identifier>private.commands_remappings</identifier>
<modifier_not>
ModifierFlag::OPTION_L, ModifierFlag::OPTION_R,
ModifierFlag::SHIFT_L, ModifierFlag::SHIFT_R,
ModifierFlag::CONTROL_L, ModifierFlag::CONTROL_R
</modifier_not>
<block>
<!-- Current is not English -->
<inputsource_not>ENGLISH</inputsource_not>
<!-- Command_L => F18 (tap) / Command_L (hold) -->
<modifier_not>ModifierFlag::COMMAND_R</modifier_not>
<autogen>
__KeyOverlaidModifier__
<!-- from -->
KeyCode::COMMAND_L,
<!-- hold -->
KeyCode::VK_LAZY_COMMAND_L,
<!-- tap -->
KeyCode::F18
</autogen>
</block>
<block>
<!-- Current is English -->
<inputsource_only>ENGLISH</inputsource_only>
<!-- Command_R => F18 (tap) / Command_R (hold) -->
<modifier_not>ModifierFlag::COMMAND_L</modifier_not>
<autogen>
__KeyOverlaidModifier__
<!-- from -->
KeyCode::COMMAND_R,
<!-- hold -->
KeyCode::VK_LAZY_COMMAND_R,
<!-- tap -->
KeyCode::F18
</autogen>
</block>
</item>
txl263
2015-07-12 12:15:35 +08:00
@qgy18 哈,了解了,看的太快漏了半句。
xuc
2015-07-12 13:14:15 +08:00
我的键盘驱动有这个功能
ansel
2015-07-12 14:20:51 +08:00
百度输入法

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

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

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

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

© 2021 V2EX