This commit is contained in:
2026-02-08 15:25:16 +08:00
parent e85eb494d5
commit 13a081fc52
5 changed files with 17 additions and 175 deletions

View File

@@ -1,118 +1,21 @@
#Requires AutoHotkey v2.0
#SingleInstance Force
/**
* CapSpace v2.0
* 描述: 将 CapsLock 变为 Smart Ctrl/Esc并增强虚拟桌面切换
*/
; 确保 RAlt 的穿透性(如果 Typeless 仍有冲突,保留此行)
~RAlt::return
; --- 全局变量初始化 ---
g_LastCtrlKeyDownTime := 0
g_AbortSendEsc := false
; 优化发送速度SetKeyDelay 影响 SendEvent 的速度
; 参数含义:延时 1ms按键时长 1ms
SetKeyDelay 1, 1
; --- 1. 虚拟桌面切换逻辑 (修正版) ---
; 使用 Ctrl + 方向键 切换虚拟桌面
; 加上 * 可以支持 Ctrl+Shift+Left 等组合,去掉 $ 如果你确定没有热键死循环
*^Left::SendEvent("{Blind}#^{Left}")
*^Right::SendEvent("{Blind}#^{Right}")
$^Left::SendEvent("{Blind}^#{Left}")
$^Right::SendEvent("{Blind}^#{Right}")
; 一键跳转到第一个桌面 (向上)
*^Up::SendEvent("{Blind}#^{Left 10}")
$^Up:: {
Loop 8 {
SendEvent("{Blind}^#{Left}")
Sleep(1)
}
; 关键:强制释放 Win 和 Ctrl防止粘滞
Send("{LWin Up}{Control Up}")
}
$^Down:: {
Loop 8 {
SendEvent("{Blind}^#{Right}")
Sleep(1)
}
; 关键:强制释放 Win 和 Ctrl
Send("{LWin Up}{Control Up}")
}
; --- 2. Smart CapsLock 核心逻辑 ---
*CapsLock:: {
global g_LastCtrlKeyDownTime, g_AbortSendEsc
; 如果 CapsLock 已经处于按下状态(长按触发的重复),直接返回
if (GetKeyState("LControl")) {
return
}
Send("{LControl Down}")
g_LastCtrlKeyDownTime := A_TickCount
g_AbortSendEsc := false
}
*CapsLock Up:: {
global g_LastCtrlKeyDownTime, g_AbortSendEsc
Send("{LControl Up}")
; 如果期间触发了其他组合键,则不发送 Esc
if (g_AbortSendEsc) {
return
}
; 判断按下时间,如果小于 250ms 则视为单击,发送 Esc
time_elapsed := A_TickCount - g_LastCtrlKeyDownTime
if (time_elapsed <= 250) {
Send("{Esc}")
}
}
; --- 3. 拦截逻辑:只要按了 Ctrl 组合键,就放弃发送 Esc ---
; 使用动态热键或通配符拦截所有常用按键
; 在 v2.0 中,我们通过一个简单的循环或特定的通配符来处理
~*^a::
~*^b::
~*^c::
~*^d::
~*^e::
~*^f::
~*^g::
~*^h::
~*^i::
~*^j::
~*^k::
~*^l::
~*^m::
~*^n::
~*^o::
~*^p::
~*^q::
~*^r::
~*^s::
~*^t::
~*^u::
~*^v::
~*^w::
~*^x::
~*^y::
~*^z::
~*^0::
~*^1::
~*^2::
~*^3::
~*^4::
~*^5::
~*^6::
~*^7::
~*^8::
~*^9::
~*^Space::
~*^Backspace::
~*^Delete::
~*^Enter::
~*^Tab::
~*^Up::
~*^Down::
~*^Left::
~*^Right:: {
global g_AbortSendEsc := true
}
; 一键跳转到最后一个桌面 (向下)
; 10 次通常足够覆盖大部分人的桌面数量
*^Down::SendEvent("{Blind}#^{Right 10}")

18
LICENSE
View File

@@ -1,18 +0,0 @@
MIT License
Copyright (c) 2026 mdy
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,46 +0,0 @@
# CapSpace
## 📦 CapSpace
**CapSpace** 是一款基于 AutoHotkey 的系统增强脚本,旨在通过重定义 `CapsLock` 键位,构建一个高效、直观的 Windows 虚拟桌面调度中心。
### 🌟 核心特性
* **Smart CapsLock**:
* **单击**:触发 `Esc`(完美的 Vim/编程体验)。
* **长按/组合**:瞬间化身为 `Ctrl` 修饰键。
* **防误触**:内置毫秒级判定与组合键拦截逻辑,确保不会在组合操作后误弹 `Esc`
* **空间折叠 (Virtual Desktop Management)**:
* `Ctrl + Left/Right`:平滑切换相邻虚拟桌面。
* `Ctrl + Up`**一键穿梭**至首个虚拟桌面。
* `Ctrl + Down`**一键直达**末个虚拟桌面。
* **原生融合**:完美支持与 `CapsLock` 组合使用,让你的左手无需大范围跨越即可掌控全局。
### 🚀 快速开始
1. **环境要求**:安装 [AutoHotkey v1.1+](https://www.autohotkey.com/)。
2. **运行**:下载 `CapSpace.ahk` 并双击运行。
3. **开机自启**
*`Win + R` 输入 `shell:startup`
*`CapSpace.ahk` 的快捷方式放入该文件夹。
### ⌨️ 快捷键总览
| 快捷键 (按下) | 实际功能 | 场景 |
| --- | --- | --- |
| `CapsLock` (轻点) | `Esc` | 退出/取消 |
| `Ctrl / CapsLock + ←/→` | `Ctrl + Win + ←/→` | 逐个切桌面 |
| `Ctrl / CapsLock + ↑` | 连续左切 | 回到第一个 |
| `Ctrl / CapsLock + ↓` | 连续右切 | 跳到最后一个 |
---
### 💡 给仓库填写的 Short Description (GitHub 简介框)
> 🚀 CapSpace: Transform your CapsLock into a Smart Ctrl/Esc hybrid and unlock seamless virtual desktop navigation with intuitive shortcuts.

3
config.txt Normal file
View File

@@ -0,0 +1,3 @@
remap_key=CAPSLOCK
when_alone=ESCAPE
with_other=CTRL

BIN
dual-key-remap.exe Normal file

Binary file not shown.