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

相关推荐
tyatyatya2 小时前
MATLAB图形交互教程:鼠标拾取/坐标轴交互/动态绘图实战详解
开发语言·matlab·计算机外设
yiSty2 小时前
Windows 10/11下安装WSL Ubuntu
linux·windows·ubuntu
YJlio2 小时前
2025 我用 Sysinternals 打通 Windows 排障“证据链”:开机慢 / 安装失败 / 磁盘暴涨(三个真实案例复盘)
人工智能·windows·笔记
GoldY丶2 小时前
【Geek渗透之路】小迪安全笔记——web安全(3)
笔记·安全·web安全·网络安全·安全威胁分析
全栈独立开发者2 小时前
[开源] 架构师手撸 Spring Boot 3.5 + UniApp 扫码点餐系统,B站演示视频首发!
笔记
丹宇码农2 小时前
使用AI一步生成音视频文件的会议纪要或者课后笔记
人工智能·笔记·音视频
Miketutu2 小时前
Dart基础学习
开发语言·windows
feiduoge10 小时前
教程 44 - 相机系统
windows·游戏引擎·图形渲染
松涛和鸣12 小时前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法