Greasy Fork

Greasy Fork is available in English.

鼠标手势 (Tampermonkey 版)

强大的鼠标手势脚本,支持自定义手势和可视化轨迹

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
商伤
日安装量
0
总安装量
16
评分
0 0 0
版本
1.1
创建于
2026-02-07
更新于
2026-02-07
大小
34.7 KB
许可证
MIT
适用于
所有网站

# 鼠标手势 - Tampermonkey 版

一个功能强大的油猴脚本,支持通过鼠标右键手势快速执行各种浏览器操作。

## ✨ 主要功能

### 🎨 可视化手势轨迹
- **实时绘制**:按住右键拖动时显示彩色轨迹
- **实时提示**:绘制过程中显示当前识别的手势
- **自动消失**:松开鼠标后轨迹和提示自动消失

### 🎯 丰富的手势操作

| 手势 | 操作 | 描述 |
|------|------|------|
| ↑ (U) | 滚动到顶部 | 平滑滚动到页面顶部 |
| ↓ (D) | 滚动到底部 | 平滑滚动到页面底部 |
| ← (L) | 后退 | 返回上一页 |
| → (R) | 前进 | 前进到下一页 |
| ↑↓ (UD) | 滚动到顶部 | 快速返回顶部 |
| ↓↑ (DU) | 滚动到底部 | 快速到达底部 |
| ←→ (LR) | 前进 | 前进到下一页 |
| →← (RL) | 后退 | 返回上一页 |
| ↑→ (UR) | 新建标签页 | 在新标签页打开空白页 |
| ↑← (UL) | 关闭标签页 | 关闭当前标签页 |
| ↓→ (DR) | 刷新页面 | 重新加载当前页面 |
| ↓← (DL) | 复制标签页 | 在新标签页打开当前页面 |

### ⚙️ 自定义设置
- **启用/禁用**:可快速开关鼠标手势功能
- **轨迹粗细**:调整手势轨迹线条粗细(1-10px)
- **手势配置**:查看所有手势和对应操作
- **持久化保存**:所有设置自动保存到本地

## 📦 安装方法

### 1. 安装 Tampermonkey
首先需要安装 Tampermonkey 浏览器扩展:
- [Chrome/Edge 版本](https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo)
- [Firefox 版本](https://addons.mozilla.org/firefox/addon/tampermonkey/)

### 2. 安装脚本
1. 打开 Tampermonkey 管理面板
2. 点击 "+" 创建新脚本
3. 复制 `mouse-gestures.user.js` 的全部内容
4. 粘贴到编辑器并保存
5. 刷新任意网页即可使用

## 🚀 使用说明

### 基本操作
1. **绘制手势**:在任意网页按住鼠标右键并拖动
2. **实时反馈**:拖动时会显示蓝色轨迹和当前手势
3. **执行操作**:松开右键后自动执行对应操作
4. **取消手势**:绘制过程中按 `ESC` 键取消

### 手势绘制技巧
- ✅ 确保每个方向的移动距离足够(至少 30 像素)
- ✅ 移动速度适中,不要过快或过慢
- ✅ 方向变化要清晰,避免斜线移动
- ✅ 手势轨迹会实时显示,可根据提示调整

### 打开设置面板

**方法一:Tampermonkey 菜单**
1. 点击浏览器工具栏的 Tampermonkey 图标
2. 选择 "⚙️ 鼠标手势设置"

**方法二:控制台命令**
1. 按 `F12` 打开开发者工具
2. 在控制台输入:`mouseGesture.settings.open()`

### 设置选项

#### 基本设置
- **启用鼠标手势**:总开关,可快速禁用/启用功能
- **轨迹粗细**:调整手势轨迹的线条粗细(1-10px)

#### 手势配置
- 显示所有预定义的手势和对应操作
- 方便查询和记忆手势

#### 按钮操作
- **重置默认**:恢复所有设置为默认值
- **保存设置**:保存当前配置(需要刷新页面生效)

## 🎮 控制台命令

打开浏览器控制台(F12),可以使用以下命令:

```javascript
// 打开设置面板
mouseGesture.settings.open()

// 启用手势
mouseGesture.enable()

// 禁用手势
mouseGesture.disable()

// 重置为默认设置
mouseGesture.reset()

// 查看当前配置
console.log(mouseGesture.config)
```

## 🔄 与 Chrome 扩展版的区别

### 功能差异

| 功能 | Chrome 扩展版 | Tampermonkey 版 |
|------|--------------|-----------------|
| 手势识别 | ✅ | ✅ |
| 可视化轨迹 | ✅ | ✅ |
| 滚动操作 | ✅ | ✅ |
| 前进/后退 | ✅ | ✅ |
| 刷新页面 | ✅ | ✅ |
| 新建标签页 | ✅ | ✅ (使用 GM_openInTab) |
| 关闭标签页 | ✅ | ✅ (使用 window.close) |
| 恢复标签页 | ✅ | ❌ (浏览器限制) |
| 防止关闭最后标签 | ✅ | ❌ (浏览器限制) |
| 自定义配置 | ✅ (独立页面) | ✅ (弹窗面板) |

### 技术实现

**Chrome 扩展版:**
- 使用 `chrome.tabs` API 管理标签页
- 使用 `chrome.storage` API 存储配置
- 使用 Service Worker 后台脚本
- 需要申请多个权限

**Tampermonkey 版:**
- 使用 `GM_openInTab` 打开新标签页
- 使用 `GM_setValue/GM_getValue` 存储配置
- 所有逻辑在单个脚本中完成
- 更轻量,更易于分发

### 优势对比

**Chrome 扩展版优势:**
- ✅ 可以管理所有标签页
- ✅ 可以防止关闭最后一个标签页
- ✅ 可以恢复最近关闭的标签页

**Tampermonkey 版优势:**
- ✅ 安装更简单,只需复制粘贴
- ✅ 跨浏览器兼容(Chrome、Firefox、Edge 等)
- ✅ 无需打包和加载扩展
- ✅ 更新更方便
- ✅ 可以与其他油猴脚本协同工作

## ⚠️ 注意事项

### 使用限制
1. **关闭标签页**:使用 `window.close()` 可能在某些页面无效(浏览器安全限制)
2. **新建标签页**:使用 `GM_openInTab` 需要 Tampermonkey 权限
3. **特殊页面**:在 `chrome://`、`about://` 等特殊页面无法使用
4. **刷新生效**:修改设置后需要刷新页面才能生效

### 性能优化
- 手势识别使用动态采样,性能消耗极低
- 画布使用 Canvas API,绘制流畅不卡顿
- 事件监听使用捕获模式,优先级最高

### 兼容性
- ✅ Chrome 88+
- ✅ Firefox 78+
- ✅ Edge 88+
- ✅ 其他基于 Chromium 的浏览器
- ⚠️ 需要 Tampermonkey 4.0+

## 🐛 常见问题

### Q: 手势无法识别?
**A:**
- 确保手势长度足够(至少 30 像素)
- 尝试放慢绘制速度
- 检查是否启用了脚本
- 查看控制台是否有错误

### Q: 右键菜单被屏蔽?
**A:**
- 这是正常现象,拖动绘制手势时会阻止右键菜单
- 如果只是点击右键不拖动,菜单会正常显示

### Q: 新建/关闭标签页无效?
**A:**
- 确保已授予 Tampermonkey 相关权限
- 某些页面出于安全考虑可能限制这些操作
- 尝试在普通网页(非浏览器内置页)使用

### Q: 设置无法保存?
**A:**
- 确保浏览器允许 Tampermonkey 访问本地存储
- 尝试清除浏览器缓存后重试
- 检查 Tampermonkey 是否正常运行

### Q: 如何禁用某个网站?
**A:**
1. 点击 Tampermonkey 图标
2. 找到"鼠标手势"脚本
3. 在当前域名下选择"禁用"

## 🔧 自定义开发

### 添加新手势

编辑脚本中的 `defaultGestures` 对象:

```javascript
const defaultGestures = {
"U": "scrollToTop",
"DRL": "自定义操作", // 添加新手势:下→右→左
// ...
};
```

### 添加新操作

1. 在 `gestureToActionName` 中添加中文名称:
```javascript
const gestureToActionName = {
"自定义操作": "我的操作",
// ...
};
```

2. 在 `executeGesture()` 函数中添加执行逻辑:
```javascript
switch (action) {
case '自定义操作':
// 你的代码
break;
}
```

### 修改样式

编辑脚本中的 CSS 部分,可自定义:
- 轨迹颜色和粗细
- 提示框样式
- 设置面板外观

## 📊 技术架构

### 核心模块
1. **配置管理**:使用 GM API 持久化存储用户设置
2. **手势识别**:基于轨迹点计算方向序列
3. **Canvas 绘制**:实时渲染手势轨迹
4. **事件处理**:监听鼠标和键盘事件
5. **动作执行**:根据手势执行对应操作

### 手势识别算法
- 采样间隔:动态计算(最多 20 个采样点)
- 方向阈值:0.4(提高识别准确性)
- 最小长度:30 像素
- 方向合并:去除连续重复方向

## 📄 许可证

MIT License

## 🙏 致谢

本脚本由 Chrome 扩展版鼠标手势转换而来,感谢原作者的开源贡献!

---

**版本**:v1.0
**文件**:`mouse-gestures.user.js`
**更新时间**:2024年2月
**兼容**:Tampermonkey 4.0+

## 📞 反馈与支持

如有问题或建议,欢迎反馈!