gaomontablet在niri上使用鼠标会乱跳

高漫M6
现象:触控笔重回板上时鼠标位置偏移,且一直偏移在同一个位置。
根因是 Gaomon 厂商驱动在 Wayland 下读取了固定的 X11 光标位置,不是屏幕缩放。

解决

  • 切换到 OpenTabletDriver,已识别 Gaomon M6

  • 确认重新落笔后不再跳回固定位置

  • 配置为用户级开机自动运行:.config/systemd/user/
    opentabletdriver.service:1

  • 暂时屏蔽 Gaomon 自动启动,但未删除厂商驱动文件

  • 当前屏幕映射为 1707x1067,对应 Niri scale 1.5

注意:OpenTabletDriver 目前可能不支持 M6 的滚轮和触摸
条,只影响这些附加按键,不影响笔定位。

按键映射

从官方驱动软件中导出配置

  1. /home/meny/1.cfg 是二进制文件。

  2. 它和驱动自带的 GM001_T223.cfg 去掉前 84 字节后完全一
    致,因此确认是 Gaomon M6 配置。

  3. 第一组按键记录每隔 0x130 字节一个。

  4. 每条记录包含“事件类型”和“键码”。

例如 B 键所在记录:

04 00 00 00 ... 01 1f 00 00

  • 0x04:键盘事件
  • 0x1f:Linux evdev 的 KEY_S

所以 B 就是 S。其他键码再对照系统的 /usr/include/linux/
input-event-codes.h,即可得到 E、[、Space 等映射。

A 键记录里的类型是 0x1000,再结合驱动 /usr/lib/
gaomontablet/huionCore 的事件名称,确认它属于厂商特殊功
能/按键组切换,而不是普通键盘按键。

Prompt

请直接在当前 Linux 环境中安装并应用 OpenTabletDriver 的
Gaomon M6 配置,不要只给操作建议。

目标设备:Gaomon M6
配置文件:
/home/meny/.config/OpenTabletDriver/settings.json

OpenTabletDriver CLI:
/home/meny/.local/share/opentabletdriver/bin/
OpenTabletDriver.Console

要求:

  1. 先备份现有 settings.json。
  2. 保留其他 profile、Tools 和无关配置。
  3. 找到或创建 Tablet 为 “Gaomon M6” 的 profile。
  4. 输出模式必须设置为:
    OpenTabletDriver.Desktop.Output.LinuxArtistMode
    不能使用 AbsoluteMode,否则可能没有压感。
  5. 显示区域设置为:
    Width=1707
    Height=1067
    X=853.5
    Y=533.5
    Rotation=0
  6. 笔区设置为:
    Width=254
    Height=158.75
    X=127
    Y=79.375
    Rotation=0
    EnableClipping=true
    EnableAreaLimiting=false
    LockAspectRatio=false
  7. 压感和倾斜必须开启:
    DisablePressure=false
    DisableTilt=false
  8. 按键按 0-based AuxButtons 索引设置:
    A(index 0):留空
    B(index 1):S
    C(index 2):E
    D(index 3):RightBracket
    E(index 4):LeftBracket
    F(index 5):Equal
    G(index 6):Minus
    H(index 7):Space
    I(index 8):N
    J(index 9):Z
    K(index 10):I
    L(index 11):W
    M(index 12):L

键盘按键必须使用如下结构:

{
"Path": "OpenTabletDriver.Desktop.Binding.KeyBinding",
"Settings": [
{
"Property": "Key",
"Value": "S"
}
],
"Enable": true
}

A 键原本是 Gaomon 驱动专用的 0x1000 特殊功能,
OpenTabletDriver 没有等价绑定,因此保持 null,不要擅自改
成其他键。

使用结构化 JSON 修改配置,不要用正则替换。修改后:

  1. 执行 jq empty 检查 JSON。
  2. 使用 OpenTabletDriver.Console loadsettings 重新加载。
  3. 使用 savesettings 保存规范化后的配置。
  4. 验证 getoutputmode “Gaomon M6” 返回 “Artist Mode”。
  5. 验证 getbindings “Gaomon M6” 返回:
    S, E, RightBracket, LeftBracket, Equal, Minus, Space,
    N, Z, I, W, L
  6. 检查系统存在 “OpenTabletDriver Virtual Artist
    Tablet”,并确认它包含 ABS_PRESSURE。
  7. 不要把输出模式切回 AbsoluteMode。
  8. 如果 gaomontablet 或 huionCore 正在运行,只停止冲突服
    务,不要卸载 Gaomon 驱动。

关于触控环

在raw tablet data中观察到:
08 F0 01 01 00 00 00 00 00 00 03 00
在触控环活动时,会变为:
08 F0 01 01 00 00 00 00 00 00 03 00
欢迎后人来做个插件

posted @ 2026-08-09 17:43  meny  阅读(9)  评论(0)    收藏  举报