Henry Henry
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)

Henry

小学生中的前端大佬
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)
  • Mac

    • macOS 上有哪些值得推荐的常用软件
    • Karabiner-Elements
    • Alfred
    • Mac 自定义应用程序快捷键
    • Mac 下搭建 Java 开发环境
    • Mac 常用快捷键
    • Mac 使用 技巧
    • Mac 终端软件安装利器 - Homebrew
    • MacTalk
    • iTerm2 用法与技巧
    • Mac 使用 Homebrew 安装 node
    • Mac 使用 VS Code 配合 Remote Development 插件连接 Windows 远程服务器
    • 借助 Homebrew Cask, 教你快速下载安装 Mac App 新姿势
  • Windows

  • Linux

  • ShowyEdge
    • Mac
    • Windows
  • 开发效率提升之工具篇
  • 操作系统
Henry
2023-04-12
目录

ShowyEdge

作为一个对工具有绝对掌控欲的强迫症程序员来说,无法得心应手的切换中英文输入法一直让我耿耿于怀。我想实现的是不用看通知栏就能知道当前输入法的状态,一键切换到自己需要的输入法,做到对输入法的绝对掌控。

# Mac

本来一开始打算中英文全部使用百度的,无奈系统自带的英文无法删除(可以删除,但不想那么折腾),而且就算你使用 shift 切换百度的中英文,系统有时候莫名其妙会切换到系统的英文; 每次输入都需要查看顶部状态栏,而且有的软件全屏后会隐藏顶部状态栏,这时要不先随便输入一下查看输入源,要不鼠标滑到顶部查看输入源,极其影响效率

解决方法:

  1. 放弃百度输入法,均使用系统自带的 (不是说百度不好,只是觉得自带的也可以)
  2. 切换输入法仍使用 Caps Lock
  3. 使用 ShowyEdge 给输入源添加不同颜色

注:ShowyEdge 推荐是在顶部状态栏,但我们一般输入位置是在屏幕中下部的,这样查看当前输入源还是不方便,所以本人将 ShowyEdge 放置在屏幕左侧靠下位置

在 VSCode 中的中文输入法效果图(英文就是透明的,没有那个蓝条):

具体配置看下图:

ShowyEdge

注:英文输入源的颜色是透明的,因为常用英文,透明不影响视觉; 中文输入源的颜色是蓝色的,这是本人征求设计同学的意见而选择的,因为蓝色在白色和黑色背景下都显眼

ShowyEdge

注:这个图主要是调整 ShowyEdge 的位置,可以根据自己喜好自定义

这样只需要看一下屏幕左下角,就可以知道当前输入法状态了,完美!

Install: $ brew cask install showyedge

下载地址:ShowyEdge - Software for macOS (opens new window)

# Windows

Windows 没有类似的软件,那只能自己实现一个了

这里还是使用 AutoHotkey (opens new window)

使用 Gui (opens new window) 展示输入法状态,然后在切换输入法时显隐控件

ps: 由于本人没有找到 ahk 如何监听输入源变化的代码,故这里偷个懒,和自己实现的切换输入法联动一下

; Gui 展示输入法状态
CustomColor := "0352ff" ; 可以为任意 RGB 颜色,这里还是蓝色
MyInput := 0 ; 定义显隐变量
Gui +LastFound +AlwaysOnTop -Caption +ToolWindow ; +ToolWindow 避免显示任务栏按钮和 alt-tab 菜单项.
Gui, Color, %CustomColor%
Gui, Show, x0 y400 w3 h500 NoActivate ; x/y/w/h 调整位置和大小,NoActivate 让当前活动窗口继续保持活动状态.

;=====================================================================o
; 按键修饰符

; CapsLock 短按切换输入法,先按其他功能键再按 CapsLock 为切换大小写;CapsLock 与其他某个键同按时,CapsLock 映射为 ctrl,如 CapsLock + w => ctrl + w
; https://zhuanlan.zhihu.com/p/389784449

; 切换是否显示输入法状态
UpdateOSD(arg) {
  Gui +LastFound
  if (arg) {
    Gui, Hide
  } else {
    Gui, Show, NoActivate
  }
}

#InstallKeybdHook
; 禁用大写功能,防止误触
SetCapsLockState, alwaysoff
*Capslock::
  Send {LControl Down}
  KeyWait, CapsLock
  Send {LControl Up}
  if ( A_PriorKey = "CapsLock" )
  {
    Send {ctrl down}{shift down}
    Send {shift up}{ctrl up}
    MyInput := !MyInput
    UpdateOSD(MyInput)
  }
  ; CapsLock + [ 进入 normal 模式,并切换到英文输入法,系统配置的切换到英文快捷键是 ctrl + 0
  if ( A_PriorKey = "[")
  {
    ; Send {Esc}
    Send ^0
    MyInput := 1
    UpdateOSD(MyInput)
    return
  }
return
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
编辑 (opens new window)
#Windows#Mac
上次更新: 5/27/2023, 1:02:05 PM
实用的 bash 自定义脚本
开发效率提升之工具篇

← 实用的 bash 自定义脚本 开发效率提升之工具篇→

最近更新
01
version 1.15
07-01
02
version 1.14
06-27
03
version 1.13
06-27
更多文章>
Theme by Vdoing | Copyright © 2017-2023 HenryTSZ | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式