Mac 下有没有在屏幕或状态栏显示键盘大小写的软件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qgy18
V2EX    Apple

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

  •  
  •   qgy18 2015-07-11 23:13:55 +08:00 7558 次点击
    这是一个创建于 3801 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    看了下那个 private.xml,karabiner 好强大,多谢二位分享~
    @avalon
    @Sylv
    Sylv
        17
    Sylv  
       2015-07-12 11:13:39 +08:00   2
    @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
        18
    txl263  
       2015-07-12 12:15:35 +08:00
    @qgy18 哈,了解了,看的太快漏了半句。
    xuc
        19
    xuc  
       2015-07-12 13:14:15 +08:00
    我的键盘驱动有这个功能
    ansel
        20
    ansel  
       2015-07-12 14:20:51 +08:00
    百度输入法
    txl263
        21
    txl263  
       2015-07-12 22:56:00 +08:00
    上github上问了一下Hammerspoon还真不能显示caps lock的状态
    qgy18
        22
    qgy18  
    OP
       2015-07-12 23:02:10 +08:00
    @txl263 谢谢哈~ Caps Lock 是有指示灯,但是打字的时候低头去看确实不方便啊。只能先这样了。
    txl263
        23
    txl263  
       2015-07-12 23:07:51 +08:00
    话说,一定要用系统自带的输入法么,其它的有问题?QQ啊搜狗啊,都有中英文切换提示的嘛。。
    Vicia
        24
    Vicia  
       2015-09-04 01:46:16 +08:00
    @Sylv 多谢思路。 Karabiner 切换到中文输入法时仍然输出英文的 bug 终于解决了,非常感谢!
    Sylv
        25
    Sylv  
       2015-09-04 04:32:51 +08:00 via iPhone
    @Vicia 很高兴能有帮助。
    ruanjf
        26
    ruanjf  
       2015-11-23 14:11:47 +08:00
    <item>
    <name>官方中文输入法: 单击 Shift_L - 中英文切换</name>
    <identifier>private.remap.shiftL2change.inputsource</identifier>
    <block>
    <inputsource_only>ENGLISH</inputsource_only>
    <autogen>
    __KeyOverlaidModifier__
    KeyCode::SHIFT_L,
    KeyCode::SHIFT_L,
    KeyCode::VK_CHANGE_INPUTSOURCE_CHINESE_SIMPLIFIED
    </autogen>
    </block>
    <block>
    <inputsource_only>CHINESE_SIMPLIFIED</inputsource_only>
    <autogen>
    __KeyOverlaidModifier__
    KeyCode::SHIFT_L,
    KeyCode::SHIFT_L,
    KeyCode::VK_CHANGE_INPUTSOURCE_US
    </autogen>
    </block>
    </item>
    自己又撸了一发,还望指点指点 @Sylv
    Sylv
        27
    Sylv  
       2015-11-23 14:42:29 +08:00 via iPhone
    @ruanjf 看起来没啥大问题,不过用 VK_CHANGE_INPUTSOURCE 切换输入法可能会有问题,有时会切换到中文输入法后还是英文输入法的状态, Karabiner 文档里也有提到这个问题( https://github.com/tekezo/Karabiner/blob/af352cf4f87fd23e892aa7228e7cd677ad69d220/src/core/server/Resources/vkchangeinputsourcedef.xml ),所以我后来改用 F18 的方法来切换输入法。
    qgy18
        28
    qgy18  
    OP
       2015-11-23 20:19:21 +08:00
    我最终还是改用「 RIME | 中州入法引擎」了,貌似所有的问题都解决了。
    http://rime.im/

    感谢各位,尤其是:

    @Sylv
    @ruanjf
    tortoo
        29
    tortoo  
       2017-04-08 17:54:59 +08:00
    @Sylv 打扰问个 growl 的使用问题,它能否一直停留在桌面?而不是几秒后消失?
    Hoson
        30
    Hoson  
       2017-11-06 19:23:02 +08:00
    @qgy18 请问一下 RIME 可以大小写提示吗?我下载了没看到这样到配置
    Hoson
        31
    Hoson  
       2017-11-08 10:22:08 +08:00
    @Hoson Capsee 反应太慢,Captin 免费的还不错,还有 Appstore 里面搜 cap,有几款收费软件。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     945 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 19:03 PVG 03:03 LAX 11:03 JFK 14:03
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86