当前位置: 首页 > news >正文

Windows模仿Mac大小写切换, 中英文切换

CapsLock 功能优化脚本部署指南

部署步骤

第一步:安装 AutoHotkey v2

  1. 访问 AutoHotkey v2 官网
  2. 下载并安装最新版本
  3. 安装时勾选 "Add 'Compile Script' to context menus"

第二步:部署脚本

直接运行 (调试推荐)
  1. 新建文本文件,粘贴附录代码
  2. 重命名为 CapsLock_Optimizer.ahk
  3. 双击运行 → 托盘区出现绿色 H 图标即生效
编译为 EXE (无依赖方案)
  1. 右键脚本文件 → 选择 "Compile Script"
  2. 生成 CapsLock_Optimizer.exe
  3. 可安全删除原 .ahk 文件

第三步:开机自启动

  1. Win + R 输入 shell:startup
  2. .exe 文件拖入启动文件夹, 或者创建一个快捷方式, 把快捷方式放进去也行
  3. 重启系统验证效果

操作效果验证

操作场景物理操作系统响应键盘灯状态
普通状态短按快速点击 (<0.3s)中英文输入法切换保持熄灭
普通状态长按按住 ≥0.3s立即开启大写锁定亮起
大写状态短按快速点击立即关闭大写锁定熄灭
大写状态长按按住 ≥0.3s立即关闭大写锁定熄灭

注意事项

输入法配置

‼️ 必须设置输入法切换快捷键为 Ctrl + Space
设置 > 时间和语言 > 语言 > 输入法选项 > 高级键盘设置

杀毒软件拦截

⚠️ 部分安全软件会拦截编译后的 EXE 文件,需手动添加信任:

  • Windows Defender病毒和威胁防护 > 管理设置 > 排除项
  • 第三方杀毒软件:参照具体软件说明

状态同步异常处理

  1. 热键重置:按下 Ctrl + Alt + R 强制同步状态
  2. 物理重置:短按物理 CapsLock
  3. 脚本重启:托盘图标右键选择 "Reload This Script"

常见问题

Q1:大写锁定开启时能否自动切换回英文?

A:​ 本设计特意保持状态隔离。如需关联行为,修改脚本第35行:

if isCapsActive {SetCapsLockState FalseisCapsActive := falseSend "^ "  ; 新增此行实现关闭大写时切换输入法
}

Q2:长按中途能否取消操作?
A:​ 不能。一旦超过阈值即触发状态切换,持续按住不会逆转操作。

Q3:如何调整长按判定时间?
A:​ 修改脚本第9行:

threshold := 300  ; 改为所需毫秒数(如500=0.5秒)
Q4:游戏全屏模式下失效?
A:​ 右键 EXE 文件选择:
  1. 属性 > 兼容性 > 以管理员身份运行此程序
  2. 属性 > 兼容性 > 禁用全屏优化

附录:完整脚本代码

#Requires AutoHotkey v2.0
; 禁用原生CapsLock功能
*CapsLock::return; 初始化状态跟踪
isCapsActive := false  ; 大写锁定状态
inputMethodState := 0  ; 输入法状态跟踪器$CapsLock::
{global isCapsActive, inputMethodStatestartTime := A_TickCountthreshold := 300    ; 长按判定阈值hasLongPressed := false; 实时检测长按状态Loop {Sleep 10; 达到阈值立即触发大写锁定if (A_TickCount - startTime >= threshold) && !hasLongPressed {if !isCapsActive {SetCapsLockState TrueisCapsActive := true} else {SetCapsLockState FalseisCapsActive := false}hasLongPressed := true}; 检测是否提前松手if !GetKeyState("CapsLock", "P") {break}}; 短按处理if (!hasLongPressed) {if isCapsActive {; 大写状态下短按:关闭大写SetCapsLockState FalseisCapsActive := false} else {; 普通状态下短按:切换输入法Send "{LCtrl down}{Space}{LCtrl up}"; 同步输入法状态inputMethodState := !inputMethodState  }}; 确保大写状态同步if (hasLongPressed) {KeyWait "CapsLock"  ; 等待物理按键释放}
}; 状态重置热键 (Ctrl+Alt+R)
^!r:: {global isCapsActive := GetKeyState("CapsLock", "T")TrayTip "状态已重置", "当前大写状态:" (isCapsActive ? "ON" : "OFF"), 1
}

本方案已在 Windows 10/11 21H2 测试通过,推荐使用微软拼音/手心输入法。

相关文章:

Windows模仿Mac大小写切换, 中英文切换

CapsLock 功能优化脚本部署指南 部署步骤 第一步&#xff1a;安装 AutoHotkey v2 访问 AutoHotkey v2 官网下载并安装最新版本安装时勾选 "Add Compile Script to context menus" 第二步&#xff1a;部署脚本 直接运行 (调试推荐) 新建文本文件&#xff0c;粘贴…...

基于Spring Boot的木里风景文化管理平台的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

【银河麒麟系统常识】命令:uname -m(查看系统架构)

命令&#xff1a; uname -m 功能 常用的 Linux/Unix 终端命令&#xff0c;用于显示当前系统的硬件架构&#xff1b; 返回 返回系统的CPU架构类型&#xff0c;用于判断软件兼容性&#xff1b; 输出结果架构说明常见设备x86_64Intel/AMD 64位 CPU主流 PC、服务器aarch64ARM 64位 …...

网络原理-TCP/IP

网络原理学习笔记&#xff1a;TCP/IP 核心概念 本文是我在学习网络原理时整理的笔记&#xff0c;主要涵盖传输层、网络层和数据链路层的核心协议和概念&#xff0c;特别是 TCP, UDP, IP, 和以太网。 一、传输层 (Transport Layer) 传输层负责提供端到端&#xff08;进程到进…...

【银河麒麟高级服务器操作系统 】虚拟机运行数据库存储异常现象分析及处理全流程

更多银河麒麟操作系统产品及技术讨论&#xff0c;欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer…...

AI-Sphere-Butler之如何使用腾讯云ASR语音识别服务

环境&#xff1a; AI-Sphere-Butler WSL2 英伟达4070ti 12G Win10 Ubuntu22.04 腾讯云ASR 问题描述&#xff1a; AI-Sphere-Butler之如何使用腾讯云ASR语音识别服务&#xff0c;本地硬件配置不高的情况&#xff0c;建议使用云服务商的ASR 解决方案&#xff1a; 1.登…...

Dify 0.15.3版本 本地部署指南

目录 背景 一、单机部署机器配置最低要求 二、系统Python环境安装 安装需要的python依赖 使用pyenv官方安装脚本 安装poetry 三、中间件部署 PostgreSQL本地部署 添加PG官方仓库 安装pg 16 检查pg版本 修改密码为dify默认 创建数据库dify 安装pg vector插件 修改…...

全书测试:《C++性能优化指南》

以下20道多选题和10道设计题&#xff0c; 用于本书的测试。 以下哪些是C性能优化的核心策略&#xff1f;&#xff08;多选&#xff09; A) 优先优化所有代码段 B) 使用更高效的算法 C) 减少内存分配次数 D) 将所有循环展开 关于字符串优化&#xff0c;正确的措施包括&#xff…...

Oracle数据库数据编程SQL<递归函数详解>

递归函数是一种在函数体内直接或间接调用自身的函数。这种函数通过将复杂问题分解为更小的相同问题来解决特定类型的编程任务。 目录 一、递归函数基本概念 1. 递归定义 2. 递归工作原理 二、递归函数示例 1. 经典阶乘函数 2. 斐波那契数列 3. 计算数字位数 三、递归查…...

Burp Suite从入门到实战之配置启动

目录 1.Burp Suite配置启动 1.1安装Burp Suite jar包 1.2JDK&#xff0c;JDK包含JRE&#xff08;Java运行时环境&#xff09; 1.2.1配置JDK11环境变量配置 1.2.2系统变量里添加JAVA_HOME​编辑 1.2.3找到Path变量进行编辑添加bin 1.2.4命令行查看是否配置成功 1.3激活j…...

【力扣hot100题】(016)缺失的第一个正数

题目里这么多条条框框……先不按条条框框做了两下。 第一个思路&#xff1a;你不仁我不义&#xff0c;先排序后遍历&#xff08;时间不符题意&#xff09; class Solution { public:int firstMissingPositive(vector<int>& nums) {sort(nums.begin(),nums.end());i…...

(undone) MIT6.824 Lecture 02 - RPC and Threads

知乎专栏&#xff1a;https://zhuanlan.zhihu.com/p/641105196 原视频&#xff1a;https://www.bilibili.com/video/BV16f4y1z7kn?spm_id_from333.788.videopod.episodes&vd_source7a1a0bc74158c6993c7355c5490fc600&p2 看知乎专栏 一、Why we choose go&#xff1f…...

红宝书第二十一讲:详解JavaScript的模块化(CommonJS与ES Modules)

红宝书第二十一讲&#xff1a;详解JavaScript的模块化&#xff08;CommonJS与ES Modules&#xff09; 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、模块化的意义&#xff1a;分而治之 模块化解决代码依赖混…...

输入百分比校验(数字非负数保留2位不四舍五入)

场景用于输入百分比&#xff0c;限制只能输入非负数&#xff0c;保留2位小数&#xff0c;且不四舍五入 以下举例环境 vue2 element-ui 请自行根据实际场景使用 html部分 <el-inputv-model"item.percentage"placeholder"请输入"maxlength"5"…...

Python----机器学习(KNN:决策边界,决策边界计算,交叉验证步骤)

一、KNN算法简介 1.1、定义 KNN&#xff08;K-Nearest Neighbor&#xff09;算法是一种基于实例的学习方法&#xff0c;通过测量数据点之间的距离进行分类或回归分析。它是一种简单易懂的多分类技术&#xff0c;依赖于距离最近的邻居来推断数据点的类别或数值&#xff0c;为许…...

SpringBoot 3+ Lombok日志框架从logback改为Log4j2

r要将Spring Boot 3项目中的日志框架从Logback切换到Log4j2&#xff0c;并配置按日期滚动文件和控制台输出&#xff0c;请按照以下步骤操作&#xff1a; 步骤 1&#xff1a;排除Logback并添加Log4j2依赖 在pom.xml中修改依赖&#xff1a; <dependencies><!-- 排除默…...

实战篇Redis

黑马程序员的Redis的笔记&#xff08;后面补一下图片&#xff09; 【黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目】https://www.bilibili.com/video/BV1cr4y1671t?p72&vd_source001f1c33a895eb5ed820b9a4…...

c++-函数增强

一、编译器对函数名的处理 1. C与C的差异 C编译器&#xff1a;保留原始函数名&#xff0c;无额外处理。例如&#xff1a; int add(int a, int b) { return a b; } 在汇编代码中仍为add。 C编译器&#xff1a;通过name mangling&#xff08;名称修饰&#xff09;生成唯一函数…...

BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab)

BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测&#xff08;Matlab&#xff09; 目录 BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测&#xff08;Matlab&#xff09;预测效果基本介绍程序设计参考资料 预测效果 基本介绍 BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多…...

css基础之浮动相关学习

一、浮动基本介绍 在最初&#xff0c;浮动是用来实现文字环绕图片效果的&#xff0c;现在浮动是主流的页面布局方式之一。 效果/代码 图片环绕 代码 div {width: 600px;height: 400px;background-color: skyblue;}img {width: 200px;float: right;margin-right: 0.5em;}<…...

告别分库分表,时序数据库 TDengine 解锁燃气监控新可能

达成效果&#xff1a; 从 MySQL 迁移至 TDengine 后&#xff0c;设备数据自动分片&#xff0c;运维更简单。 列式存储可减少 50% 的存储占用&#xff0c;单服务器即可支撑全量业务。 毫秒级漏气报警响应时间控制在 500ms 以内&#xff0c;提升应急管理效率。 新架构支持未来…...

1.3 斐波那契数列模型:LeetCode 746. 使用最小花费爬楼梯

动态规划解最小花费爬楼梯问题&#xff1a;LeetCode 746. 使用最小花费爬楼梯 1. 题目链接 LeetCode 746. 使用最小花费爬楼梯 题目要求&#xff1a;给定一个整数数组 cost&#xff0c;其中 cost[i] 是从楼梯第 i 阶向上爬所需支付的费用。你可以从下标 0 或 1 的台阶开始爬&a…...

8.4考研408简单选择排序与堆排序知识点深度解析

考研408「简单选择排序与堆排序」知识点全解析 一、简单选择排序 1.1 定义与核心思想 简单选择排序&#xff08;Selection Sort&#xff09;是一种选择排序算法&#xff0c;其核心思想是&#xff1a; 每趟选择&#xff1a;从待排序序列中选择最小&#xff08;或最大&#x…...

【个人笔记】用户注册登录思路及实现 springboot+mybatis+redis

基本思路 获取验证码接口 验证码操作用了com.pig4cloud.plugin的captcha-core这个库。 AccountControl的"/checkCode"接口代码&#xff0c;通过ArithmeticCaptcha生成一张验证码图片&#xff0c;通过text()函数得到验证码的答案保存到变量code&#xff0c;然后把图…...

LiteDB 数据存储与检索效率优化的最佳实践指导

一、引言 在当今数字化时代,数据处理和存储变得至关重要。对于小型项目或者嵌入式系统而言,需要一种轻量级、高效且易于使用的数据库解决方案。LiteDB 作为一款嵌入式的 NoSQL 数据库,因其零配置、易于集成等特点,受到了开发者的青睐。然而,若要充分发挥其性能优势,就需…...

WEB安全--RCE--RCE的绕过

一、回调函数的绕过&#xff08;PHP&#xff09; 1.1、回调函数 1.1.1、原理&#xff1a; 回调函数&#xff08;Callback Function&#xff09;指的是将函数名或匿名函数作为参数传递给另一个函数&#xff0c;从而在特定条件下调用该函数。 以一个常见的回调函数为例&#…...

uni-app:指引蒙层

组件说明 指引蒙层组件: 通过id标签,突出对应id中的模块; 可以自定义提示词。 点击任意位置关闭蒙层 效果展示和使用示例 切换id之后的效果: 代码实现 <template><view class="guide-mask" v-if="showMask" @click="hideMask"&g…...

什么是CMS?常用CMS有哪些?

一、内容管理系统&#xff08;Content Management System&#xff09;‌ ‌什么是CMS‌&#xff1a;位于 Web 前端&#xff08;服务器&#xff09;和后端办公系统之间的软件系统&#xff0c;用于内容创建、编辑、审批和发布。支持文本、图片、视频、数据库等各类数字内容的管理…...

【Es】基础入门:开启全文搜索的大门

文章目录 一、Elasticsearch 是什么​二、核心概念解读​索引&#xff08;Index&#xff09;​文档&#xff08;Document&#xff09;​映射&#xff08;Mapping&#xff09;​分片&#xff08;Shard&#xff09;​副本&#xff08;Replica&#xff09;​ 三、基本操作入门​安…...

74. Linux设备树详解

一、什么是设备树 1、uboot启动内核用到zImage&#xff0c;imx6ull-alientek-emmc.dtb。bootz 80800000 – 83000000. 80800000 —zImage 83000000—dtb 2、设备树&#xff1a;设备和树。 设备树(Device Tree)&#xff0c;将这个词分开就是“设备”和“树”&#xff0c;描述设…...

从责任链模式聊到aware接口

从责任链模式聊到aware接口 责任链是什么&#xff1f; 责任链模式是一种行为型设计模式&#xff0c;将多个对象连接成一条链&#xff0c;并且沿着这条链传递请求&#xff0c;让多个对象都有机会处理这个请求&#xff0c;请求会顺着链传递&#xff0c;直到某个对象处理它为止。…...

在win11 环境下 新安装 WSL ubuntu + 换国内镜像源 + ssh + 桌面环境 + Pyhton 环境 + vim 设置插件安装

在win11 环境下 新安装 WSL ubuntu ssh gnome 桌面环境 Pyhton 环境 vim 设置插件安装 简单介绍详细流程换国内镜像源安装 ssh 桌面环境python 环境vim 设置插件安装 简单介绍 内容有点长&#xff0c;这里就先简单描述内容了。主要是快速在 Win11 搭建一个 wsl 的 linux 环…...

考研408-数据结构完整代码 线性表的链式存储结构 - 单链表

单链表操作详解&#xff08;C实现&#xff09; 目录 单链表尾插法创建单链表头插法创建删除指定节点按值查找按序号查找插入节点完整代码示例注意事项总结 尾插法创建 #include<bits/stdc.h> using namespace std;typedef struct LNode {int data;struct LNode* next;…...

使用Python爬虫获取淘宝App商品详情

在电商领域&#xff0c;获取商品详情数据对于市场分析、竞品研究和用户体验优化至关重要。淘宝作为国内领先的电商平台&#xff0c;提供了丰富的商品资源。虽然淘宝App的数据获取相对复杂&#xff0c;但通过Python爬虫技术&#xff0c;我们可以高效地获取淘宝App商品的详细信息…...

在 VMware Workstation 17 中安装的 Ubuntu 虚拟机无法使用桥接模式

在 VMware Workstation 17 中安装的 Ubuntu 虚拟机无法使用桥接模式时&#xff0c;通常是由于 网络配置错误、桥接适配器选择不当或主机网络环境限制 导致。以下是详细的排查和解决方法&#xff1a;我采用第一步就解决了问题 1. 检查 VMware 桥接模式配置 步骤 1&#xff1a;…...

2025前端八股文终极指南:从高频考点到降维打击的面试突围战

2025前端八股文终极指南&#xff1a;从高频考点到降维打击的面试突围战 一、2025前端八股文核心考点重构 1.1 新型响应式系统三连问 Vue3信号式响应性&#xff1a; // 信号式响应性底层实现 const [count, setCount] createSignal(0) effect(() > {console.log("当…...

MIPS-32架构(寄存器堆,指令系统,运算器)

文章目录 0 Preview:寄存器32通用0 $zero1 $at2—3 \$v0-$v14—7 \$a0-$a38—15 \$t0-$t716—23 \$s0-$s724—25 \$t8-$t926—27 \$k0-$k128 $gp29 $sp30 $fp 指令系统运算存储器 0 Preview: MIPS架构有32位版本和64位版本&#xff0c;本文介绍32位版本 寄存器 正如笔者曾说…...

MySQL数据库和表的操作之SQL语句

&#x1f3af; 本文专栏&#xff1a;MySQL深入浅出 &#x1f680; 作者主页&#xff1a;小度爱学习 MySQL数据库和表的操作 关系型数据库&#xff0c;都是遵循SQL语法进行数据查询和管理的。 SQL语句 什么是sql SQL&#xff1a;结构化查询语言(Structured Query Language)&…...

Ubuntu在VMware中无法全屏

Ubuntu在VMware中无法全屏 方法&#xff1a;安装open-vm-tools 在Ubuntu打开终端&#xff1a; 1.输入&#xff1a; sudo apt-get install open-vm-tools2.安装依赖&#xff1a; sudo apt-get install open-vm*3.重启Ubuntu reboot...

[C++面试] 智能指针面试点(重点)续3

[C面试] RAII资源获取即初始化&#xff08;重点&#xff09;-CSDN博客 [C面试] 智能指针面试点&#xff08;重点&#xff09;-CSDN博客 [C面试] 智能指针面试点&#xff08;重点&#xff09;续1-CSDN博客 [C面试] 智能指针面试点&#xff08;重点&#xff09;续2-CSDN博客 …...

借助FastAdmin和uniapp,高效搭建AI智能平台

在数字化办公时代&#xff0c;效率与协作是企业发展的核心竞争力。传统的办公工具虽然功能丰富&#xff0c;但在面对复杂多变的团队协作需求时&#xff0c;往往显得力不从心。为了解决这一痛点&#xff0c;我们推出了一款全新的办公AI平台&#xff0c;它不仅能够满足文字和语音…...

【弹性计算】异构计算云服务和 AI 加速器(四):FPGA 虚拟化技术

《异构计算云服务和 AI 加速器》系列&#xff0c;共包含以下文章&#xff1a; 异构计算云服务和 AI 加速器&#xff08;一&#xff09;&#xff1a;功能特点异构计算云服务和 AI 加速器&#xff08;二&#xff09;&#xff1a;适用场景异构计算云服务和 AI 加速器&#xff08;…...

Unity功能模块一对话系统(5)-完善对话流程及功能

现在我们的文本仍然是单句显示的&#xff0c;这还不是我们想要的效果&#xff0c;本期让我们完善对话流程&#xff0c;并使用SO&#xff08;ScriptableObject&#xff09;来进行一段对话序列的配置和动态加载。 最终效果功能展示 功能一&#xff1a;场景内可根据资源序号ID来…...

Ubuntu 系统中安装 Nginx

步骤 1&#xff1a;更新软件包列表 在安装前&#xff0c;先更新系统软件包列表&#xff1a; sudo apt update步骤 2&#xff1a;安装 Nginx 通过 apt 直接安装 Nginx&#xff1a; sudo apt install nginx -y步骤 3&#xff1a;验证安装 安装完成后&#xff0c;检查 Nginx …...

Elasticsearch:使用 Azure AI 文档智能解析 PDF 文本和表格数据

作者&#xff1a;来自 Elastic James Williams 了解如何使用 Azure AI 文档智能解析包含文本和表格数据的 PDF 文档。 Azure AI 文档智能是一个强大的工具&#xff0c;用于从 PDF 中提取结构化数据。它可以有效地提取文本和表格数据。提取的数据可以索引到 Elastic Cloud Serve…...

如何 编译 px4

DeepSeek-R1满血版 回答完成 深度思考完成 用时27秒&#xff0c;搜索全网29篇资料 以下是详细的PX4固件编译教程&#xff0c;综合多平台及常见问题解决方案&#xff1a; 一、环境准备 ‌系统要求‌ ‌Ubuntu 20.04/22.04‌&#xff08;推荐&#xff09;或 ‌MacOS 12‌ Windo…...

pycharm2024.1.1版本_jihuo

目录 前置&#xff1a; 步骤&#xff1a; step one 下载软件 step two 卸载旧版本 1 卸载软件 2 清除残余 step three 下载补丁 step four 安装2024.1.1版本软件 step five 安装补丁 1 找位置放补丁 2 自动设置环境变量 step six 输入jihuo码 前置&#xff1a; 之…...

LLaMA Factory微调后的大模型在vLLM框架中对齐对话模版

LLaMA Factory微调后的大模型Chat对话效果&#xff0c;与该模型使用vLLM推理架构中的对话效果&#xff0c;可能会出现不一致的情况。 下图是LLaMA Factory中的Chat的对话 下图是vLLM中的对话效果。 模型回答不稳定&#xff1a;有一半是对的&#xff0c;有一半是无关的。 1、未…...

Vulnhub:Digitalword.local: FALL靶机渗透

将靶机按照图中连接方式打开&#xff0c;fall在virtualBox中打开 信息收集 扫描得ip arp-scan -l 扫描端口 nmap -A -T4 -sV -p- 扫描目录 gobuster dir -u http://192.168.117.160 -x php,txt,html -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt 一个一个…...

androidstudio安装完成后创建新的示例项目编译报错解决

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 安装完成android studio想要编译一个自带的demo项目&#xff0c;没想到一直有编译报错&#xff0c;最后终于搞好了&#xff0c;记录下避免再踩坑。 androidstudio安装完成后创建新的示例项目编译报错…...