如何在 AutoHotKey 中切换键盘映射

2024-01-02

我想将键盘的一部分映射为数字键盘:(我的笔记本电脑键盘没有数字键盘)

j->1
k->2
l->3
u->4
i->5
o->6

I would like to toggle the mapping with a short cut, let's say Control+Alt+M, my code is below, however, I don't know how to reset the mapping:

mode = 0

^!m::
  if (mode = 1)
  {
    mode = 0
    j->1
    k->2
    l->3
    u->4
    i->5
    o->6
  }
  else
  { 
    mode = 1
    u::u ;got error here: duplicate hotkey
  }
return

I got duplicate hotkey error with u::u, seems AHK does not allow mapping more than one key in a script. GetKeyState("NumLock", "P") does not work because I have no NumLock.

我能够用这段代码实现:

^!m::
Suspend
u::4
i::5
o::6
return

但这会切换整个脚本,这显然不好。所以我想要一个比这更好的解决方案。


如果您运行 AKH_L(例如 AutoHotkey v1.1.10.01),则可以使用 #IF 语句来控制热键(就像您使用 #IfWinActive 在应用程序级别控制热键一样)。

Mode := 0

^!m::
    mode:=!mode ;not! toggle
return

#If mode ; All hotkeys below this line will only work if mode is TRUE
    j::1
    k::2
    l::3
    u::4
    i::5
    o::6
#If
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 AutoHotKey 中切换键盘映射 的相关文章

随机推荐

  • WooCommerce - 获取购物车中产品的选定变体

    Hello 任何人请帮我找到解决方案 我的客户有一家批发业务 他不需要 woocommerce 结账功能 他需要购物车中的 woocommerce 功能 但他想要一个 下订单 按钮 而不是结帐 现在 一切正常 正确下订单 订单存储到数据库中
  • java中如何将数据保存到文件中?

    我有一个问题 那就是我有一串数据 我想每次都将其保存到一个单独的文件中 请给我一个建议 谢谢 瓦拉 库马尔 pjd 在文件名中使用时间戳 这样您就可以确保它是唯一的 下面的示例使用以毫秒为单位的时间戳 这在大多数情况下应该足够了 如果您希望
  • 按顺序连接字段 - SQL Server

    我有一个由 5 个整数 id 组成的表 并且想添加一个列来获取这些 id 对它们进行排序并以类似于下面的方式连接它们 id1 id2 id3 id4 id5 new col 364 53 468 184 469 53 184 364 468
  • 如何为自定义指令实现 ng-change

    我有一个带有模板的指令 例如 div div div 我的指令声明为 return templateUrl restrict E require ngModel scope items ngModel ngChange link funct
  • 如何获取程序中特定字符串占用的字节数?

    我使用 BSPlib 我想使用 bsp put 它要求我设置要发送的字符串的大小 即使您不熟悉 BSP 这也不是密切相关的 谢谢 乘以字符数 由下式给出 size or capacity 如果您想通过字符类型的大小了解分配的总量而不是使用的
  • 在matlab中绘制多个系列

    以下命令会产生一些非常奇怪的结果 plotyy 1 3 2 4 3 5 4 6 hold on plotyy 1 3 2 1 4 1 3 5 4 1 6 1 我基本上想在左侧 y 轴上绘制两个不同的系列 在右侧 y 轴上绘制另外两个系列 上
  • 如何使用记录器打印异常?

    我有一种情况 我想使用记录器打印 catch 块中捕获的所有异常 try File file new File C className mkdir fh new FileHandler C className className log l
  • Apache Flink RollingFileAppender

    我正在使用 Apache Flink v1 2 我想切换到滚动文件附加程序 以避免包含几天数据的巨大日志文件 然而它似乎不起作用 我调整了 log4j 配置 log4j properties 如下 log4j appender file o
  • 无法实例化 GcmBroadcastReceiver

    我尝试根据 Google 手册使用 GCM 服务创建测试应用程序https developer android com google gcm client html app https developer android com googl
  • utPLSQL:如何比较两个表?

    假设我有表 1 和表 2 表 2 是表一的更新版本 它可以具有相同或更新的结构 列和数据 我想比较这两个表 gt 使用 all tab cols 比较表结构的示例查询 根据需要添加数据类型和其他比较参数等列 SELECT t1 table
  • 当两个进程写入映射文件的同一部分时会发生什么?

    我正在编写一个 C 程序 它使用mmap系统调用 运行在 Linux 3 12 64 位上 如果我有两个进程映射具有读 写访问权限的磁盘文件的同一区域 然后同时修改两个进程的区域内容 在 msync 之前或之后 一个进程能否看到 读取 另一
  • 从 Spring 的 Rest 控制器同时支持 application/json 和 application/x-www-form-urlencoded

    我正在编写一个 REST 端点 它需要同时支持 application x www form urlencoded 和 application json 作为请求正文 我做了以下配置 RequestMapping method Reques
  • 如何将图例放置在字段集边框之外

    我正疯狂地想弄清楚如何使这项工作发挥作用 我希望图例位于边界之外 我怎样才能在保留图例标签的同时实现这一点 正如您在下面看到的 我尝试使用跨度 但它不起作用 body background color 996600 color black
  • 包结构应该与Java中的目录结构“总是”相同?

    在 Eclipse 中 包结构应该与 Java 中的目录结构相同 我尝试浏览 Oracle Java 文档的正式文档 但没有找到这条规则 此规则是否扩展到其他 IDE 例如 Netbeans 或者这是 Java 语言本身的规则 这条规则有多
  • 使用 html2canvas 打印页面

    我正在使用以下命令在我的网络上构建打印页面功能html2canvas function printthispage html2canvas mydiv onrendered function canvas var myImage canva
  • Postgresql 约束

    我似乎无法做到这一点 我正在尝试将一个字段修改为外键 并进行级联删除 我做错了什么 ALTER TABLE my table ADD CONSTRAINT 4 FOREIGN KEY my field REFERENCES my forei
  • Logcat 错误:应用程序崩溃且无法运行。根据 Logcat,setContentView 出错

    我正在开发一个基本的方程平衡应用程序 并且是 Android 开发新手 该应用程序根本不在手机上运行 我之前有一个启动屏幕作为启动器 它曾经弹出 然后应用程序就会关闭 我删除了启动屏幕 现在该应用程序无法打开 我猜测 MainActivit
  • 在 wpf 中更改控件可见性的优雅方法

    我发现了更多关于这个主题的问题 但没有找到答案 我需要更改控制单击的可见性 在win form应用程序中 如果我是对的 我可以使用类似的东西 somecontrol Visible somecontrol Visible 但是当应用程序是w
  • 参数化查询的基础知识

    我已经多次使用参数化查询 我知道它有助于防止 SQL 注入 但是 我想知道我是否可以知道参数化查询中的基本逻辑是什么 防止SQL注入可能很简单 但我不知道 我尝试在 google 上搜索它的基本内容 但每次我都找到一个如何在 Asp net
  • 如何在 AutoHotKey 中切换键盘映射

    我想将键盘的一部分映射为数字键盘 我的笔记本电脑键盘没有数字键盘 j gt 1 k gt 2 l gt 3 u gt 4 i gt 5 o gt 6 I would like to toggle the mapping with a sho