【问题标题】:autohotkey script to collapse expand in onenote 2016在 onenote 2016 中折叠展开的 autohotkey 脚本
【发布时间】:2020-06-23 18:09:50
【问题描述】:

我正在尝试展开和折叠 onenote 2016 中的段落。在其中展开的组合键是 shift+alt+pluskey[+] [不是小键盘一个],要折叠,它是 alt+shift+m​​inuskey [ -] [不是小键盘之一]

我尝试绑定左win键展开和波浪键折叠

我试过了

LWin::
Send, {shift}{alt}{+}
Sleep, 100
return

但它不起作用。我对自动热键完全陌生。并且还尝试将两个脚本 [展开和折叠] 合并到一个脚本中,并使该脚本仅在 onenote 窗口处于活动状态时才起作用。

更新:从答案中,它终于对我有用。

LWin::
SendInput, +!{+}
return

`::
SendInput, +!{-}
return

【问题讨论】:

  • 很好,你让它工作了。此外,- 周围不需要括号,因为该字符在发送命令中没有特殊含义。方括号仅用于 转义 发送命令中具有特殊含义的字符。完整列表见documentation

标签: autohotkey onenote


【解决方案1】:

您正在发送然后释放每个键。
你希望他们都被按住。
为此,您可以使用SendInput, {Shift Down}{Alt Down}{+}{Shift Up}{Alt Up},或者为了更简单,您可以使用send commands 识别为修饰符的特殊键:SendInput, +!{+}

此外,假设您拥有的 sleep 命令无论出于何种原因都不重要,您可以使用remapping syntax 而不是发送命令,最终得到一个甜美干净的小班轮,如下所示:LWin::+!+
是的,在这种情况下,您确实没有在第二个 + 周围加上括号,这看起来很奇怪。

【讨论】:

  • 好吧,我看到你也指出了你自己的古怪之处......我选择了我的版本作为答案,因为它们有助于使答案可移植到其他多修饰键映射,但当然,唯一性的 ahk 在你展示的速记形式中使用修饰符的聪明(直观?)语法。
【解决方案2】:

由于“+”键是 = 键移位,因此您无需添加“Shift”,这样可以:

LWin::
    Send, {alt down}{+}{alt up}
return

或者,

LWin::
    Send, {alt down}{shift down}{+}{shift up}{alt up}
return

LWin::
    Send, {alt down}{shift down}{=}{shift up}{alt up}
return

两者都有效(以上所有在标准美式键盘上,其中“+”键与“=”键移位相同)。

第,

【讨论】:

  • 取决于当前的键盘布局,以及用于发送输入的方法。听起来 OP 不在键盘布局上,+ 键来自于移动= 键。如果是这样的话,Send, !{+},或者你使用的,会起作用的,是的。
  • 好吧,没有什么可以阻止 OP 明确地这样做(正如我在编辑的答案中所展示的那样),奇怪的是“shift and +”和“shift and ="(在 std 键盘上它们位于相同的位置)键,但 + 已移动, = 没有)两者的工作方式相同!
猜你喜欢
  • 1970-01-01
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 2017-10-25
  • 2018-12-13
相关资源
最近更新 更多