将 Windows 下的键盘映射成 macOS 的键盘布局,不再有操作割裂感 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kylebing

将 Windows 下的键盘映射成 macOS 的键盘布局,不再有操作割裂感

  •  
  •   kylebing 3 月 28 日 1390 次点击

    一、情况

    以 macOS 的键盘习惯为主,MacbookPro 与 Windows 都使用的 MagicKeyboard 作为主力和唯一键盘输入设备。主要原因是它的键程小。

    二、痛点

    受不了 Windows 上小指 + C|V 的快捷键组合,与 macOS 的割裂感太强了。

    三、解决 注册表 + autohotkey

    1. 注册表映射单键

    使用 Windows 注册表弄个键位映射,将 Windows 键与 Ctrl 键的位置互换就可以了。就跟 macOS 的按键操作一致了。
    (不足:注册表的方式只能改单个按键的映射,无法映射组合键)

    2. autohotkey 映射组合键

    Autohotkey 脚本,映射组合键

    我主要需要映射两个组合键:
    程序切换 ctrl + tab = alt + tab
    delete 键 ctrl + backspace = delete

    四、方法

    1. 注册表

    复制下方对应文本,电脑上新建文本文件,粘贴到里面,保存为 .reg 文件,双击导入到注册表中

    Win 与 Ctrl 键位互换 reg

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,05,00,00,00,5b,e0,1d,00,1d,00,5b,e0,5c,e0,1d,e0,1d,e0,5c,e0,00,00,00,00 

    取消互换的 reg

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=- 

    2. autohotkey 脚本

    autohotkey 脚本,把它保存为 .ahk 文件,打开 autohotkey 软件后,双击就能生效了。

    ; Ctrl+Tab -> Alt+Tab (任务切换) ; Ctrl+Backspace -> Delete (向前删除) ; 双击本文件运行;需已安装 AutoHotkey ; v1 语法( AutoHotkey 1.x ) ^Tab::Send !{Tab} ^Backspace::Send {Del} 

    不过这个需要每次重启都执行一下。
    或者创建一个快捷方式,放到 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 目录中,内容为

    "C:\Program Files\AutoHotkey\v1.1.37.02\AutoHotkeyU64.exe" "D:\ctrl-tab-to-alt-tab.ahk" 

    这样每次重启都能自动生效了。

    五、舒服了

    现在感觉舒服,跟 macOS 没什么区别了,一切都顺了。

    7 条回复    2026-03-30 15:23:45 +08:00
    neoshui
        1
    neoshui  
       3 月 28 日
    powertoys 直接秒了
    kylebing
        2
    kylebing  
    OP
       3 月 28 日
    @neoshui 我记得那玩意挺大的。
    qcbf111
        3
    qcbf111  
       3 月 28 日
    我刚好想法, 把 macos 映射为 windows 的键盘了. , 不过还是有很多没法一样的. 比如 home,end 不能再这个编辑框看着光标
    lslqtz
        4
    lslqtz  
       3 月 28 日
    最大痛点是 caps lock 切换输入法
    jhsunnyshine
        5
    jhsunnyshine  
       3 月 28 日
    有什么好的方案吗
    cskeleton
        6
    cskeleton  
       3 月 28 日
    @lslqtz #4 让 ai 写个 ahk 脚本。但是长按大写锁定没搞定,总是有问题。
    Meursau1T
        7
    Meursau1T  
       3 月 30 日
    可能是由于我的权限限制,mac 反过来映射比 windows 麻烦。
    我先通过系统设置把 cap 变成 command ,和 windows 上我自定义的 cap 作为 control 统一。然后解决终端,mac 下 command 和 control 区别最明显的地方就在这,windows 上一个键给拆分成俩了。由于公司电脑不给 sudo 权限,用不了 karabiner ,只能自己下载 kitty 的源码在里面把 control 和 command 的映射对调,重新编一个。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2294 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 16:10 PVG 00:10 LAX 09:10 JFK 12:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86