如何使用 xsetwacom 将“鼠标滚轮上下”映射到 Wacom 绘图板的快捷按钮?

如何使用 xsetwacom 将“鼠标滚轮上下”映射到 Wacom 绘图板的快捷按钮?

我在 Ubuntu 18.04 下使用带有 4 个可编程快捷按钮的“Wacom Intuos”绘图板。所述计算机有 2 个屏幕。

我喜欢将绘图板上的两个按钮分配给“鼠标滚轮向上”和“鼠标滚轮向下”操作。我的目标是无需鼠标即可进行缩放。

因此我决定……

  • ... 平板电脑组件的名称。

    # get a list of the tablet components
    xsetwacom --list devices
    
    Wacom Intuos BT S Pad pad          id: 12   type: PAD
    Wacom Intuos BT S Pen stylus       id: 13   type: STYLUS
    Wacom Intuos BT S Pen eraser       id: 14   type: ERASER
    Wacom Intuos BT S Pen cursor       id: 15   type: CURSOR
    
  • ...鼠标动作的数字表示。

    # Show mouse events
    xev -event button
    
    # mouse wheel down
    ButtonPress event ... button 4, ...
    ButtonRelease event ... button 4, ...
    
    # mouse wheel up
    ButtonPress event, ... button 5, ...
    ButtonRelease event, ... button 5, ...
    


在我看来,以下命令应该将“鼠标滚轮向下”操作分配给图形输入板的第三个按钮。不幸的是,情况似乎并非如此。

xsetwacom set "Wacom Intuos BT S Pad pad" Button 3 4

# I also tried:
xsetwacom set "Wacom Intuos BT S Pad pad" Button 3 "button 4"

这个答案指出引用快捷按钮的数值为:1、3、8、9(从左到右)。
我的平板电脑型号不是这种情况。Button 1Button 2Button 3映射到平板电脑的第一、第二和第三个按钮。(至少我的测试表明了这一点。)


此命令是 bash 脚本的一部分:

#!/bin/bash
#coding:utf8

main_screen="HEAD-0"
bezier_args="0 20 80 100"
positioning_mode="Absolute"

# Maps the graphics tablet to the area of a specified screen (for multiple-screen environments).
xsetwacom set "Wacom Intuos BT S Pen stylus" MapToOutput "$main_screen"
xsetwacom set "Wacom Intuos BT S Pen eraser" MapToOutput "$main_screen"

# Changes the pressure sensitivity.
xsetwacom set "Wacom Intuos BT S Pen stylus" PressureCurve "$bezier_args"
xsetwacom set "Wacom Intuos BT S Pen eraser" PressureCurve "$bezier_args"

# Specifies the positioning mode ("Absolute" / "Relative")
xsetwacom set "Wacom Intuos BT S Pen stylus" Mode "$positioning_mode"
xsetwacom set "Wacom Intuos BT S Pen eraser" Mode "$positioning_mode"

# Assigns actions to the tablet buttons.
xsetwacom set "Wacom Intuos BT S Pad pad" Button 1 "key +ctrl z -ctrl"
xsetwacom set "Wacom Intuos BT S Pad pad" Button 2 "key +ctrl +shift z -ctrl -shift"
xsetwacom set "Wacom Intuos BT S Pad pad" Button 3 4

exit 0


谁能告诉我我做错了什么?

答案1

我决定使用+-(数字键盘上的 )来代替mouse wheel up / down。许多程序都使用这些键来在不使用鼠标的情况下进行缩放。

# Numpad '+'
xsetwacom set "Wacom Intuos BT S Pad pad" Button 3 "key 0xffab"

# Numpad '-'
xsetwacom set "Wacom Intuos BT S Pad pad" Button 8 "key 0xffad"

相关内容