目录

  • 1. 目标
  • 2. 原理及代码
  • 3. 附录
    • 3.1 参考
    • 3.2 SendWait()

1. 目标

本文旨在简单解决每次 powershell 打开时输入法处于中文状态的问题。鉴于输入法API不同,比较方便的切换方法是在启动powershell时自动按下切换中英文的按键,默认为Shift

2. 原理及代码

  1. 借助 profile 配置文件,在powershell启动时自动运行某些命令1
 # 借助记事本快速在用户文件夹下的文档中建立profile
NotePad.exe $((Split-Path $profile -Parent) + '\profile.ps1')
  1. 通过 [System.Windows.Forms] net组件的 Sendkey 功能,发送指定按键2
Add-Type -AssemblyName System.Windows.Forms # 载入 dll 库
[System.Windows.Forms.SendKeys]::SendWait('+') # + 代表 {Shift} 键
# [System.Windows.Forms.SendKeys]::SendWait('+(EC)') # 组合键
  1. 最后将Sendkey的代码复制到 profile 中。

3. 附录

3.1 参考

3.2 SendWait()

  1. 若要指定在按下其他几个键时按住SHIFTCTRLALT的任意组合,请将这些键的代码括在括号中。例如,要指定在按下E和C时按住SHIFT,请使用+(EC)
    **要指定在按下E时按住SHIFT,然后按C而不按SHIFT,请使用+ EC
  2. 要指定重复键,请使用表格{键号}。 您必须在键和数字之间加一个空格。例如,{LEFT 42}表示按下左箭头键42次; {h 10}表示按H 10次。
按键 代码
BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INSERT} or {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC} (reserved for future use)
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLLLOCK}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
Keypad add {ADD}
Keypad subtract {SUBTRACT}
Keypad multiply {MULTIPLY}
Keypad divide {DIVIDE}
SHIFT +
CTRL ^
ALT %

  1. Mooser Lee, Powershell自动执行脚本之profile ↩︎

  2. .NET Framework 4.8 有关SendKeys Class 的说明文档 ↩︎

【pwsh】按键自动切换中文输入法相关推荐

  1. Geany无法切换中文输入法

    题外话 今天上午去送宝宝了,很长时间不能见面,真的是很想念,所以,无论如何我都要去. 最近,一下子好多事情都汇聚到一起了,真的特别容易伤感,但是,工作依旧得做. Geany OS:Raspbian G ...

  2. ubuntu切换中文输入法

    前提是我的ubuntu系统已经安装了中文包,并且也在系统设置->语言支持那里,把中文拖到了第一位,可是还是不能Ctrl+空格,切换到中文输入法. 为什么呢,因为如果安装时选的语言是英语,默认是不 ...

  3. win10 设置ctrl+shift 切换 中文输入法 英文输入法

    win7 换 win10 ,很多地方不习惯,比如输入法.作为一个程序员,我实在是不能忍受 每次打开一个程序 中文输入法就默认打开,每次都要按下shift 切英文键盘,很烦(个人习惯). win10 设 ...

  4. deepin系统中Qt5.12无法输入中文(无法切换中文输入法)解决办法

    一.出现的问题 昨天安装了过程deepin系统来进行QT开发,一切进展都还顺利,但是在输入中文时,怎么切换都无法输入,也就是无法切换中文输入法,输入法状态变为默认键盘别且切换输入法的任何操作都不起作用 ...

  5. CentOS6.10搜狐浏览器无法切换中文输入法问题之解决

    故障描述:在终端可以正常切换输入法,并输入中文,但打开浏览器后,无法在搜索栏等处切换中文输入法,很别扭!! 解决办法:在参照大神myshsc的内容后,具体如下: #vi ./.bashrc (打开当前 ...

  6. idea无法切换中文输入法,无法输入中文

    idea无法切换中文输入法,无法输入中文 OK了

  7. iOS Simulator模拟器 切换中文输入法

    iOS Simulator模拟器中文输入 切换中文输入法 网上的文章都不是太全, 所以为了方便, 记录如下: command + k 切换输入法, 如图, 长按 地球或者表情笑脸,出现选择键盘,选择K ...

  8. Ubuntu下Pycharm切换中文输入法无法输入中文解决方法

    操作平台 系统:Ubuntu 20.04 软件:Pycharm-community-2021.3.1 系统输入法设置:由于之前尝试安装搜狗输入法但兼容性实在太差,无法正常工作,遂卸载后只使用ibus中 ...

  9. Centos 切换中文输入法

    切换输入法看起来是一个非常简单的操作,但是对于初学者来说,也并非那么简单,开始会发现按Ctrl+space无法切换中文输入法,原因是系统没有安装中文输入法,运行以下命令可以安装中文输入法: yum i ...

最新文章

  1. vue中使用axios发送ajax请求
  2. Mac python3.x使用HTMLTestRunner.py
  3. Centos定时自动执行脚本
  4. Android 面试题集整理
  5. python 编码问题_Python电源挑战| 竞争编码问题
  6. python换行输出到文件_Python的quot;printquot;函数在“Hello World”之外的延伸
  7. java坦克大战地图_『坦克大战的基本地图系统(一)』Clickteam Fusion系列教程(13)...
  8. FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate;的解决办法
  9. valgrind安装及使用
  10. 计算机设计辅助 CAD 试题汇编,计算机辅助设计试题汇编-第二单元
  11. headfirst 笔记 第七章
  12. Excel VBA 操作键盘(如:移动方向键,上下左右等)
  13. IOS按钮排列自动换行
  14. webgl智慧楼宇发光效果算法系列之高斯模糊
  15. ARM架构—— Cortex-M3与Cortex-M4特点概述
  16. 读书笔记-《赢在用户:Web人物角色创建和应用实践指南》
  17. 地图数据的存储探索(GIS)
  18. 3.22 3.23 二九三十C语言基础
  19. 用于视觉语言导航的自监督三维语义表示学习
  20. 例如a =2,n=5 则s=2+22+222+2222+22222

热门文章

  1. 阿里云、腾讯云 websocket 连接超时net::ERR_CONNECTION_TIMED_OUT、net::ERR_CONNECTION_REFUSED被拒解决记录
  2. 【PCL】VoxelGrid滤波器下采样
  3. js创建一个指定长度的数组
  4. 我的世界java版服务器hpy,我的世界Java版21w05a
  5. 【实现网站用户登录业务功能】
  6. matlab 播放声音,Matlab:实时播放音频并显示波形
  7. C语言入门 - 什么是递归?
  8. Oracle创建同义词并授权
  9. OpenMV 检测色块
  10. iOS 用 AVPlayer 播放一个本地音频文件