win键盘设置改为类似mac 配置

该Ctrl和Alt以及输入法Caps和shift: 微软PowerToy软件修改如下图

改鼠标:X-Mouse Button Control 左边scrolling直接选就行

改输入法切换:使用AutoHotKey,添加new script 放入如下代码然后双击启动

复制代码
#Requires AutoHotkey v2.0

; ==========================================================
; 自动将自己添加到【开机启动】文件夹
; ==========================================================
SplitPath A_ScriptFullPath, &ScriptName
ShortcutPath := A_Startup "\" SubStr(ScriptName, 1, -4) ".lnk"

if !FileExist(ShortcutPath)
{
    ; 如果启动文件夹里没有快捷方式,就创建一个
    FileCreateShortcut A_ScriptFullPath, ShortcutPath
    MsgBox "已自动设置开机自启!`n下次重启电脑就会自动运行啦。", "设置成功", 64
}

; ==========================================================
; 下面是你原本的 Mac 键盘逻辑
; ==========================================================

SetCapsLockState "AlwaysOff"

*CapsLock::
{
    if GetKeyState("Shift", "P")
    {
        Send "{Blind}{CapsLock}"
        return
    }

    KeyWait "CapsLock"
    
    if (A_TimeSinceThisHotkey < 300)
    {
        Send "^ {Space}"
    }
}

快捷键:

shift+caps 锁定大写或者小写,切换

CAPS切换语言

shift切换大小写

Alt+shift切换输入法(微软,微信,搜狗等)

update:没有用PowerToys了

这是新的脚本:

复制代码
#Requires AutoHotkey v2.0
#SingleInstance Force

; ==========================================================
; 模块 1:开机自启设置
; ==========================================================
SplitPath A_ScriptFullPath, &ScriptName
ShortcutPath := A_Startup "\" SubStr(ScriptName, 1, -4) ".lnk"

if !FileExist(ShortcutPath)
{
    try {
        FileCreateShortcut A_ScriptFullPath, ShortcutPath
        MsgBox "已自动设置开机自启!`n下次重启电脑就会自动运行啦。", "设置成功", 64
    } catch as err {
        MsgBox "设置开机自启失败,可能是权限不足。`n错误: " err.Message, "错误", 16
    }
}

; ==========================================================
; 模块 2:CapsLock 增强 (Mac 风格)
; ==========================================================
SetCapsLockState "AlwaysOff"

*CapsLock::
{
    ; 如果按下了 Shift + CapsLock,则切换大小写锁定
    if GetKeyState("Shift", "P")
    {
        Send "{Blind}{CapsLock}"
        return
    }

    ; 等待 CapsLock 释放
    KeyWait "CapsLock"
    
    ; 如果按键时间小于 300ms,发送 Ctrl+Space (通常用于切换输入法或启动器)
    if (A_TimeSinceThisHotkey < 300)
    {
        Send "^ {Space}"
    }
}

; ==========================================================
; 模块 3:智能键位映射 (完美支持 Shift 组合键)
; ==========================================================

; 1. 保留 Alt+Tab (不做处理,保持系统原生)
;    (无需代码,只要不映射 !Tab 即可)

; 2. 动态将所有 "Alt + 键" 映射为 "Ctrl + 键"
for key in StrSplit("abcdefghijklmnopqrstuvwxyz1234567890-=[]\;',./") 
{
    Hotkey "*" "!" key, Mac_AltToCtrl
}

Mac_AltToCtrl(ThisHotkey)
{
    ; 从热键名中提取按键 (例如 "*!t" -> "t")
    key := SubStr(ThisHotkey, 3) 
    
    ; 【核心修复】检测是否按住了 Shift
    if GetKeyState("Shift", "P")
    {
        ; 如果按住了 Shift,发送 Ctrl + Shift + 键
        ; (比如 Alt+Shift+T -> Ctrl+Shift+T 恢复标签页)
        Send "^+" key
    }
    else
    {
        ; 如果没按 Shift,只发送 Ctrl + 键
        ; (比如 Alt+T -> Ctrl+T 新标签页)
        Send "^" key
    }
}

; 3. (可选) 将 "Ctrl + 字母" 映射为 "Alt + 字母"
for key in StrSplit("abcdefghijklmnopqrstuvwxyz") 
{
    Hotkey "*" "^" key, Mac_CtrlToAlt
}

Mac_CtrlToAlt(ThisHotkey)
{
    key := SubStr(ThisHotkey, 3)
    if GetKeyState("Shift", "P")
        Send "!+" key
    else
        Send "!" key
}

; 4. 常用功能键修正
!Left::Send "^{Left}"
!Right::Send "^{Right}"
!BS::Send "^{BS}"

记事本中还是要Ctrl c v

相关推荐
乐观勇敢坚强的老彭19 分钟前
信奥C++一维数组笔记
开发语言·c++·笔记
王维同学32 分钟前
[原创][Windows C++]Explorer Shell 扩展、图标覆盖与 COM 服务器定位
c++·windows·注册表
昕光xg35 分钟前
Istio笔记04-基于Jaeger的分布式链路追踪
笔记·分布式·istio
学计算机的计算基1 小时前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
AOwhisky1 小时前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
开发语言·笔记·python·学习·云计算
砚凝霜1 小时前
软考网络工程师|第 2 章 信道延迟、传输介质、数据编码、数字调制、PCM 完整备考笔记
网络·笔记·pcm
广州灵眸科技有限公司11 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
遇乐的果园14 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园16 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习
Ctrl+Z侠16 小时前
.NET WebApi Windows / Linux Docker 全链路压测与瓶颈定位 0 到 1 教程
linux·windows·.net