You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

咨询针对特定网站(Lucidcharts)重新映射鼠标按键的解决方案

咨询针对特定网站(Lucidcharts)重新映射鼠标按键的解决方案

我太懂这种每天按错鼠标键的烦躁了!习惯了其他软件的操作逻辑,突然碰到Lucidchart这种右键拖拽画布的设定,真的分分钟打乱节奏。既然官方没给自定义按键的选项,咱们可以试试下面这几个方法来解决:

方法一:用Tampermonkey脚本自定义网站按键映射

Tampermonkey(也就是大家常说的“油猴”)是个能针对特定网站运行自定义脚本的浏览器扩展,刚好能满足咱们的需求,步骤也不难:

  • 先给你的浏览器装上Tampermonkey扩展(Chrome、Firefox、Edge这些主流浏览器都支持)
  • 点击浏览器右上角的油猴图标,选择「创建新脚本」
  • 把默认的代码删掉,换成下面这个专门针对Lucidchart的脚本:
// ==UserScript==
// @name         Lucidcharts Mouse Drag Fix
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Change right-click drag to left-click drag in Lucidcharts
// @author       You
// @match        https://*.lucidchart.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let isDragging = false;
    let startX, startY, scrollLeft, scrollTop;

    // 阻止Lucid默认的右键拖拽行为
    document.addEventListener('mousedown', function(e) {
        if (e.button === 2) { // 右键
            e.preventDefault();
        }
    });

    // 让左键点击空白区域时可以拖拽画布(点击图形元素还是保留选择功能)
    document.addEventListener('mousedown', function(e) {
        if (e.button === 0 && !e.target.closest('.lc-shape') && !e.target.closest('.lc-connector')) {
            isDragging = true;
            startX = e.pageX - document.body.offsetLeft;
            startY = e.pageY - document.body.offsetTop;
            scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
            scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
            e.preventDefault();
        }
    });

    document.addEventListener('mousemove', function(e) {
        if (!isDragging) return;
        const x = e.pageX - document.body.offsetLeft;
        const y = e.pageY - document.body.offsetTop;
        const walkX = (x - startX) * -1;
        const walkY = (y - startY) * -1;
        document.body.scrollLeft = scrollLeft + walkX;
        document.body.scrollTop = scrollTop + walkY;
    });

    document.addEventListener('mouseup', function() {
        isDragging = false;
    });
})();
  • 保存脚本,刷新Lucidchart页面就生效了!这个脚本会关掉默认的右键拖拽,同时让你用左键点击画布空白处时拖拽页面,点击图形元素还是正常选择,完美贴合咱们的使用习惯。如果之后Lucid更新页面结构导致脚本失效,只要调整一下.lc-shape.lc-connector这些元素选择器就行。

方法二:系统级鼠标映射工具(针对全浏览器生效)

如果不想用浏览器扩展,也可以用系统级工具来实现按键映射,只针对Lucidchart页面生效:

  • Windows用户:可以用AutoHotkey,写个简单的脚本:
#IfWinActive, Lucidchart ; 匹配浏览器窗口标题里的Lucidchart
~RButton::
    Send {LButton down}
    KeyWait, RButton
    Send {LButton up}
return
#IfWinActive

保存成.ahk文件运行后,只要你的浏览器窗口显示Lucidchart,右键拖拽就会自动转换成左键拖拽,其他软件不受影响。注意如果你的浏览器窗口标题里没有“Lucidchart”,可以换成ahk_exe chrome.exe(Chrome进程名)来限定浏览器。

  • Mac用户:试试BetterTouchTool,新建一个触发规则:选择你的浏览器作为目标应用,触发条件设为「右键拖拽」,动作选择「模拟左键拖拽」,这样就能在Lucidchart里用右键实现左键拖拽的效果了。

备注:内容来源于stack exchange,提问作者GaTechThomas

火山引擎 最新活动