该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