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

相关推荐
凉、介2 小时前
深入 QEMU Guest Agent:虚拟机内外通信的隐形纽带
c语言·笔记·学习·嵌入式·虚拟化
njsgcs2 小时前
SIMA2 论文阅读 Google 任务设定器、智能体、奖励模型
人工智能·笔记
云半S一3 小时前
pytest的学习过程
经验分享·笔记·学习·pytest
AI视觉网奇4 小时前
ue5.7 配置 audio2face
笔记·ue5
2501_925435524 小时前
怎么彻底禁止Windows更新?一键彻底关闭win11自动更新的工具
windows
jllws14 小时前
硬件_键盘是如何工作的(一)
计算机外设·硬件
崎岖Qiu6 小时前
【OS笔记35】:文件系统的使用、实现与管理
笔记·操作系统·存储管理·文件系统·os
曦月逸霜6 小时前
离散数学-学习笔记(持续更新中~)
笔记·学习·离散数学
hunter14506 小时前
windows server AD域与CA部署证书
笔记
im_AMBER6 小时前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法