V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
n2l
V2EX  ›  问与答

[autohotkey] 请教如何用 ALT+空格切换搜狗输入法中英文

  •  
  •   n2l · 2020-02-08 17:59:27 +08:00 · 2201 次点击
    这是一个创建于 1785 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统:win7 输入法:搜狗

    正常情况下可以用 ctrl+shift 或者 ctrl+空格切换输入法,我想把 ALT+空格定义成切换输入法,所以我将 ALT+空格定义成 ctrl+shift,但是并不起作用,请各位帮忙看一下应该怎么改,谢谢。

    !Space::
    ;;Send, {LShift Down}{LCtrl Down}{LCtrl Up}{LShift Up}
    ;;Send, {Shift}{Ctrl}
    return
    
    第 1 条附言  ·  2020-02-09 12:29:53 +08:00

    结贴: 试了半天终于搞定,原来切换输入法必须是保证 ctrl 或者 shift 按下,再去点另一个键,以下 3 个都可以完成,选一个就行。

    Send, {CtrlDown}{Shift}
    Send, {ShiftDown}{Ctrl}
    Send, {CtrlDown}{Space}
    
    第 2 条附言  ·  2020-02-09 12:32:21 +08:00

    完整代码如下

    !Space::
    Send, {CtrlDown}{Shift};;
    ;;Send, {ShiftDown}{Ctrl};;
    ;;Send, {CtrlDown}{Space};;
    return
    
    第 3 条附言  ·  2020-02-09 12:55:57 +08:00

    纠正,代码中按键按下后,后面代码中必须写明按起来,不然后续会导致意想不到的结果

    ;;切换搜狗输入法
    !Space::
    Send, {CtrlDown}{Shift}{CtrlUp}
    ;;Send, {ShiftDown}{Ctrl}{ShiftUp}
    ;;Send, {CtrlDown}{Space}{CtrlUp}
    return
    
    7 条回复    2020-02-09 12:26:52 +08:00
    pocketmiddle
        1
    pocketmiddle  
       2020-02-08 19:10:19 +08:00 via iPhone
    可以不用 ahk 解决这个问题。在搜狗输入法的设置里面可以自定义切换到搜狗输入法的快捷键。
    n2l
        2
    n2l  
    OP
       2020-02-08 19:19:02 +08:00 via iPhone
    @pocketmiddle 没有提供 ALT
    M2K4
        3
    M2K4  
       2020-02-08 19:37:29 +08:00
    blog.csdn.net/teshorse/article/details/5566762
    我是参考这个帖子,用来在快捷启动一些软件时把输入法切换到英文状态,可以看下有没帮助
    ClericPy
        4
    ClericPy  
       2020-02-08 20:39:54 +08:00
    ALT+空格是系统默认快捷键打开窗口菜单的, 改了会影响以后使用吧, 我是经常有那种找不到标题栏没法移动窗口, 就指望这个键位了, 有的时候改一段程序远不如改一个习惯来的容易...

    如果只是切换搜狗, 可以先在搜狗绑定一个类似于 ctrl+~ 的快捷键, 然后用 !Space 里激活算了
    n2l
        5
    n2l  
    OP
       2020-02-08 22:00:44 +08:00
    @ClericPy
    经测试,ALT+空格可以被指定为其他功能,附图演示了两个功能,一个是按下 ALT+空格后弹出对话框;另一个是将 ALT+空格指定为 UP 动作,但是指定为 CTRL+SHIFT 或者 CTRL+0 (搜狗切换输入法已经改了快捷键)都不起作用。
    ![1111.gif]( https://i.loli.net/2020/02/08/C3W957LxJ2mdcbU.gif)
    ClericPy
        6
    ClericPy  
       2020-02-08 22:30:18 +08:00
    @n2l #5 我知道可以激活, 后面不也提了用你说的 !Space 绑定
    只是这种覆盖系统快捷键的操作有点诡异, 以前我也喜欢自己搞快捷键使, 后来有过几次长时间用别人电脑 /工作电脑, 或者有同事急事过来用我电脑, 结果一通操作呼出一大堆我平时快捷键的软件, 我就基本不去覆盖系统级的快捷键了... 搜狗之类的输入法都有快捷键激活输入法的, !Space 去触发那一个快捷键试试看吧, 我这边用的古董级的 QQ 纯净版, 自设快捷键都呼出不出来...
    n2l
        7
    n2l  
    OP
       2020-02-09 12:26:52 +08:00
    @ClericPy 试了半天终于搞定,原来切换输入法必须是保证 ctrl 或者 shift 按下,再去点另一个键,以下 3 个都可以完成。
    ;;Send, {CtrlDown}{Shift}
    ;;Send, {ShiftDown}{Ctrl}
    ;;Send, {CtrlDown}{Space}
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:52 · PVG 00:52 · LAX 08:52 · JFK 11:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.