LinearMouse 配置完全指南:从基础到高级技巧

LinearMouse 配置完全指南:从基础到高级技巧

linearmouse The mouse and trackpad utility for Mac. linearmouse 项目地址: https://gitcode.com/gh_mirrors/li/linearmouse

什么是LinearMouse?

LinearMouse 是一款强大的鼠标和触控板自定义工具,它允许用户通过 JSON 配置文件对输入设备进行精细控制。与系统自带的鼠标设置相比,LinearMouse 提供了更丰富的功能和更灵活的配置选项。

配置文件基础

配置文件位置

LinearMouse 的配置文件存储在用户目录下的 .config/linearmouse/linearmouse.json 文件中。如果该文件不存在,LinearMouse 会自动创建一个空配置文件。

专业建议
除非需要使用高级功能,否则建议优先使用图形界面进行设置修改,以避免手动编辑可能导致的语法错误。

配置文件格式

配置文件采用标准的 JSON 格式,目前不支持 JSON5 格式(这意味着不能在配置文件中添加注释)。

快速入门示例

以下是一个简单的配置示例,展示了如何反转鼠标的垂直滚动方向:

{
  "$schema": "https://app.linearmouse.org/schema/0.7.2",
  "schemes": [
    {
      "if": {
        "device": {
          "category": "mouse"
        }
      },
      "scrolling": {
        "reverse": {
          "vertical": true
        }
      }
    }
  ]
}

这个配置会为所有连接到设备的鼠标反转垂直滚动方向。

JSON Schema 说明

配置中的 $schema 字段定义了 JSON schema 的版本,这为代码编辑器(如 VS Code)提供了自动补全功能。每个 LinearMouse 版本都有对应的 schema 发布,同一主版本号下保证向后兼容。

核心概念:Schemes(方案)

Scheme 是 LinearMouse 配置的核心概念,它是一组在特定条件下激活的设置集合。

基本结构

每个 scheme 包含两个主要部分:

  1. if 条件:定义该 scheme 何时生效
  2. 具体设置:定义要应用的配置

例如,以下 scheme 仅在设备是鼠标时生效:

{
  "if": {
    "device": {
      "category": "mouse"
    }
  },
  "scrolling": {
    "reverse": {
      "vertical": true
    }
  }
}

设备匹配的高级技巧

精确匹配特定设备

通过供应商ID(vendorID)和产品ID(productID),可以为特定设备创建专属配置。这些ID可以在"关于本机"→"系统报告"→"蓝牙/USB"中找到。

{
  "schemes": [
    {
      "if": {
        "device": {
          "vendorID": "0x046d",
          "productID": "0xc52b"
        }
      },
      "pointer": {
        "acceleration": 0,
        "speed": 0.36
      }
    }
  ]
}

应用匹配

可以为特定应用创建专属配置,使用应用的 bundle ID 进行匹配:

{
  "schemes": [
    {
      "if": {
        "app": "com.apple.Safari"
      },
      "scrolling": {
        "reverse": {
          "vertical": false
        }
      }
    }
  ]
}

对于非标准应用(如Java应用),可以使用 parentAppgroupApp 进行匹配:

{
  "schemes": [
    {
      "if": {
        "parentApp": "org.polymc.PolyMC"
      }
    }
  ]
}

显示器匹配

还可以根据显示器名称创建特定配置:

{
  "schemes": [
    {
      "if": {
        "display": "DELL P2415Q"
      },
      "pointer": {
        "acceleration": 0.5
      }
    }
  ]
}

多条件与方案合并

当多个 scheme 同时满足条件时,它们会按照定义的顺序合并。多个 if 条件可以使用数组形式表示,只要满足其中一个条件就会激活该 scheme。

{
  "schemes": [
    {
      "if": [
        {
          "device": {
            "vendorID": "0x046d"
          }
        },
        {
          "device": {
            "vendorID": "0x045e"
          }
        }
      ],
      "pointer": {
        "acceleration": 0
      }
    }
  ]
}

按钮映射详解

按钮映射功能允许为鼠标按钮或滚轮分配特定动作。

基本按钮映射

{
  "buttons": {
    "mappings": [
      {
        "button": 2,
        "action": "launchpad"
      }
    ]
  }
}

按钮编号说明:

| 按钮 | 描述 | |------|------| | 0 | 主按钮(通常是左键) | | 1 | 次按钮(通常是右键) | | 2 | 辅助按钮(通常是中键/滚轮按钮) | | 3 | 第四个按钮(通常是后退按钮) | | 4 | 第五个按钮(通常是前进按钮) | | 5-31 | 其他按钮 |

组合键功能

可以为按钮组合指定动作:

{
  "buttons": {
    "mappings": [
      {
        "button": 4,
        "command": true,
        "action": "missionControl"
      }
    ]
  }
}

支持 shiftoptioncontrol 修饰键。

桌面切换功能

{
  "buttons": {
    "mappings": [
      {
        "button": 3,
        "command": true,
        "action": "missionControl.spaceLeft"
      },
      {
        "button": 4,
        "command": true,
        "action": "missionControl.spaceRight"
      }
    ]
  }
}

注意
需要授予额外权限才能模拟按键操作。

按键重复功能

设置 repeat: true 可以让动作在按住按钮时重复执行:

{
  "buttons": {
    "mappings": [
      {
        "button": 4,
        "repeat": true,
        "option": true,
        "action": "media.volumeUp"
      }
    ]
  }
}

滚轮映射

可以将滚轮动作映射到特定功能:

{
  "buttons": {
    "mappings": [
      {
        "scroll": "up",
        "option": true,
        "action": "media.volumeUp"
      }
    ]
  }
}

按钮交换

可以交换按钮功能:

{
  "buttons": {
    "mappings": [
      {
        "button": 3,
        "action": "mouse.button.forward"
      },
      {
        "button": 4,
        "action": "mouse.button.back"
      }
    ]
  }
}

动作类型大全

简单动作

{
  "action": "<action>"
}

常用动作包括:

  • missionControl: 调度中心
  • launchpad: 启动台
  • media.volumeUp: 音量增加
  • mouse.button.back: 模拟后退按钮

执行Shell命令

{
  "action": {
    "run": "open -a Calculator"
  }
}

精确滚动控制

{
  "action": {
    "mouse.wheel.scrollUp": 2
  }
}

或按像素滚动:

{
  "action": {
    "mouse.wheel.scrollLeft": "32px"
  }
}

模拟键盘快捷键

{
  "action": {
    "keyPress": ["shift", "command", "4"]
  }
}

结语

LinearMouse 提供了极其灵活的配置选项,从基本的滚动方向调整到复杂的设备、应用特定配置,再到按钮功能重映射,几乎可以满足所有鼠标自定义需求。通过 JSON 配置文件,用户可以精确控制每一个细节,打造完全符合个人使用习惯的鼠标体验。

对于初次接触的用户,建议从简单的配置开始,逐步尝试更复杂的功能。记住在修改配置文件前做好备份,以避免意外错误导致配置丢失。

linearmouse The mouse and trackpad utility for Mac. linearmouse 项目地址: https://gitcode.com/gh_mirrors/li/linearmouse

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林广红Winthrop

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值